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));