Bug 570213 - Resource leak in FilteredTableBaseHandler
Change-Id: I9952c9efd2111b74aad33ae27e5e5d31cb0a584f
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java
index 3e860b4..3d9c36c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java
@@ -186,7 +186,9 @@
/* for issues with dark theme, don't use SWT.SEPARATOR as style */
labelSeparator = new Label(composite, SWT.HORIZONTAL);
- labelSeparator.setBackgroundImage(getSeparatorBgImage());
+ Image separatorBgImage = createSeparatorBgImage();
+ labelSeparator.setBackgroundImage(separatorBgImage);
+ labelSeparator.addDisposeListener(e -> separatorBgImage.dispose());
GridData gd_label = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
gd_label.heightHint = 1;
labelSeparator.setLayoutData(gd_label);
@@ -317,7 +319,7 @@
* Build a 1x1 px gray image to be used as separator. This color, halfway
* between white and black, looks good both in Classic and in Dark Theme
*/
- private Image getSeparatorBgImage() {
+ private Image createSeparatorBgImage() {
Image backgroundImage = new Image(Display.getDefault(), 1, 1);
GC gc = new GC(backgroundImage);
gc.setBackground(new Color(dialog.getDisplay(), 127, 127, 127));