Author: [email protected]
Date: Mon Jan 12 11:38:08 2009
New Revision: 4427

Modified:
    releases/1.6/user/src/com/google/gwt/user/client/ui/ListenerWrapper.java
    releases/1.6/user/test/com/google/gwt/user/client/ui/ImageTest.java

Log:
Fixed the wiring so LoadListener.onError will actually fire.
Review by:fabbott

Modified:  
releases/1.6/user/src/com/google/gwt/user/client/ui/ListenerWrapper.java
==============================================================================
---  
releases/1.6/user/src/com/google/gwt/user/client/ui/ListenerWrapper.java        
 
(original)
+++  
releases/1.6/user/src/com/google/gwt/user/client/ui/ListenerWrapper.java        
 
Mon Jan 12 11:38:08 2009
@@ -33,6 +33,7 @@
  import com.google.gwt.event.dom.client.HasAllKeyHandlers;
  import com.google.gwt.event.dom.client.HasChangeHandlers;
  import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasErrorHandlers;
  import com.google.gwt.event.dom.client.HasLoadHandlers;
  import com.google.gwt.event.dom.client.HasMouseDownHandlers;
  import com.google.gwt.event.dom.client.HasMouseMoveHandlers;
@@ -226,8 +227,10 @@
    public static class Load extends ListenerWrapper<LoadListener> implements
        LoadHandler, ErrorHandler {

-    public static void add(HasLoadHandlers source, LoadListener listener) {
-      source.addLoadHandler(new Load(listener));
+    public static <S extends HasLoadHandlers & HasErrorHandlers>void add(S  
source, LoadListener listener) {
+      Load l = new Load(listener);
+      source.addLoadHandler(l);
+      source.addErrorHandler(l);
      }

      public static void remove(Widget eventSource, LoadListener listener) {

Modified:  
releases/1.6/user/test/com/google/gwt/user/client/ui/ImageTest.java
==============================================================================
--- releases/1.6/user/test/com/google/gwt/user/client/ui/ImageTest.java  
(original)
+++ releases/1.6/user/test/com/google/gwt/user/client/ui/ImageTest.java Mon  
Jan 12 11:38:08 2009
@@ -421,4 +421,34 @@
      assertEquals(16, image.getHeight());
      assertEquals("clipped", getCurrentImageStateName(image));
    }
+
+
+  private int firedLoad;
+  private int firedError;
+  @SuppressWarnings("deprecation")
+  public void testLoadListenerWiring() {
+    Image im = new Image();
+
+    im.addLoadListener(new LoadListener() {
+
+      public void onError(Widget sender) {
+        ++firedError;
+      }
+
+      public void onLoad(Widget sender) {
+        ++firedLoad;
+      }
+    });
+    im.fireEvent(new LoadEvent() {
+      // Replaced by Joel's event firing when possible.
+    });
+    assertEquals(1, firedLoad);
+    assertEquals(0, firedError);
+    im.fireEvent(new ErrorEvent() {
+      // Replaced by Joel's event firing when possible.
+    });
+    assertEquals(1, firedLoad);
+    assertEquals(1, firedError);
+  }
+
  }

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to