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
-~----------~----~----~----~------~----~------~--~---

Reply via email to