Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcbateman2007-01-24 08:00:54 +0000
committercbateman2007-01-24 08:00:54 +0000
commit63a73a984fad94131278eb65dbfc2aebebcaa1a7 (patch)
treefbf3904a895655d4a1fbdadd44942ff6bf1182a1 /jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org
parent608a9ae4c9c4f54df00698dab6533fd408d6c2bd (diff)
downloadwebtools.jsf-63a73a984fad94131278eb65dbfc2aebebcaa1a7.tar.gz
webtools.jsf-63a73a984fad94131278eb65dbfc2aebebcaa1a7.tar.xz
webtools.jsf-63a73a984fad94131278eb65dbfc2aebebcaa1a7.zip
Add a dispose listener to dispose the FormColors color registry when the parent composite is disposed. This was causing a possible resource leak.
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StyleComboDialogField.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StyleComboDialogField.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StyleComboDialogField.java
index cad68e05e..a2079e56f 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StyleComboDialogField.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StyleComboDialogField.java
@@ -17,6 +17,8 @@ import java.util.Map.Entry;
import org.eclipse.jst.jsf.common.ui.internal.utils.StyleCombo;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.ModifyEvent;
@@ -151,8 +153,8 @@ public class StyleComboDialogField extends DialogFieldBase implements
if (toolkit != null) {
_comboControl = new StyleCombo(parent, _flags);
+ final FormColors colors = new FormColors(parent.getDisplay());
parent.addPaintListener(new PaintListener() {
- FormColors colors = new FormColors(parent.getDisplay());
public void paintControl(PaintEvent event) {
Composite composite = (Composite) event.widget;
@@ -170,6 +172,16 @@ public class StyleComboDialogField extends DialogFieldBase implements
}
}
});
+
+ // when the parent is disposed, the colors should no
+ // no longer be needed.
+ parent.addDisposeListener(new DisposeListener()
+ {
+ public void widgetDisposed(DisposeEvent e) {
+ colors.dispose();
+ }
+ }
+ );
toolkit.adapt(_comboControl);
} else {
_comboControl = new StyleCombo(parent, _flags | SWT.BORDER);

Back to the top