Author: e...@google.com Date: Fri Feb 13 07:28:25 2009 New Revision: 4715 Modified: releases/1.6/user/src/com/google/gwt/user/client/Window.java
Log: Fixes issue 1938 by preventing window resize events from being fired with duplicate height and width values. Review by:jlabanca Modified: releases/1.6/user/src/com/google/gwt/user/client/Window.java ============================================================================== --- releases/1.6/user/src/com/google/gwt/user/client/Window.java (original) +++ releases/1.6/user/src/com/google/gwt/user/client/Window.java Fri Feb 13 07:28:25 2009 @@ -397,6 +397,9 @@ private static boolean closeHandlersInitialized; private static boolean scrollHandlersInitialized; private static boolean resizeHandlersInitialized; + private static int lastResizeWidth; + private static int lastResizeHeight; + private static final WindowImpl impl = GWT.create(WindowImpl.class); /** @@ -767,7 +770,15 @@ private static void fireResizedImpl() { if (resizeHandlersInitialized) { - ResizeEvent.fire(getHandlers(), getClientWidth(), getClientHeight()); + // On webkit and IE we sometimes get duplicate window resize events. + // Here, we manually filter them. + int width = getClientWidth(); + int height = getClientHeight(); + if (lastResizeWidth != width || lastResizeHeight != height) { + lastResizeWidth = width; + lastResizeHeight = height; + ResizeEvent.fire(getHandlers(), width, height); + } } } --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---