Bug 283255 - GradientBackgroundListener leaks controls
authorRobert Roth <robert.roth.off@gmail.com>
Sun, 3 May 2015 06:47:48 +0000 (09:47 +0300)
committerRobert Roth <robert.roth.off@gmail.com>
Mon, 4 May 2015 08:05:48 +0000 (04:05 -0400)
When the control having the GradientBackgroundListener is disposed,
let's remove it from the map to avoid leaking the disposed controls.

Change-Id: If694d46cc15bcc5541c76de2a346316d5262357f
Signed-off-by: Robert Roth <robert.roth.off@gmail.com>
bundles/org.eclipse.e4.ui.css.swt/src/org/eclipse/e4/ui/css/swt/properties/GradientBackgroundListener.java

index c071e15..0fe5cfa 100644 (file)
@@ -10,6 +10,7 @@
  *     IBM Corporation
  *     Kai Toedter - added radial gradient support
  *     Lars Vogel <Lars.Vogel@vogella.com> - Bug 461688
+ *     Robert Roth <robert.roth.off@gmail.com> - Bug 283255
  *******************************************************************************/
 package org.eclipse.e4.ui.css.swt.properties;
 
@@ -53,7 +54,7 @@ public class GradientBackgroundListener implements Listener {
        private DisposeListener disposeListener = new DisposeListener() {
                @Override
                public void widgetDisposed(DisposeEvent e) {
-                       dispose();
+                       GradientBackgroundListener.remove(control);
                }
        };