diff options
author | Chris Goldthorpe | 2010-04-14 17:40:10 +0000 |
---|---|---|
committer | Chris Goldthorpe | 2010-04-14 17:40:10 +0000 |
commit | 0c93f317ac92cd9e0708fb7556a0334dcdbd7ef7 (patch) | |
tree | 21e65bba75294998d0121431fcd482d150e6d68e | |
parent | 2ec6b7b5238741bbff730d4e52f2e52384b35df0 (diff) | |
download | eclipse.platform.ua-0c93f317ac92cd9e0708fb7556a0334dcdbd7ef7.tar.gz eclipse.platform.ua-0c93f317ac92cd9e0708fb7556a0334dcdbd7ef7.tar.xz eclipse.platform.ua-0c93f317ac92cd9e0708fb7556a0334dcdbd7ef7.zip |
Bug 308765 - EmbeddedBrowser leaks shell images
-rw-r--r-- | org.eclipse.help.ui/src/org/eclipse/help/ui/internal/browser/embedded/EmbeddedBrowser.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/browser/embedded/EmbeddedBrowser.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/browser/embedded/EmbeddedBrowser.java index 851a395f5..167c45118 100644 --- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/browser/embedded/EmbeddedBrowser.java +++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/browser/embedded/EmbeddedBrowser.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -221,7 +221,7 @@ public class EmbeddedBrowser { } private static void initializeShell(Shell s) { s.setText(initialTitle); - Image[] shellImages = createImages(); + final Image[] shellImages = createImages(); if (shellImages != null) s.setImages(shellImages); GridLayout layout = new GridLayout(); @@ -230,6 +230,18 @@ public class EmbeddedBrowser { layout.verticalSpacing = 0; layout.horizontalSpacing = 0; s.setLayout(layout); + s.addDisposeListener(new DisposeListener() { + + public void widgetDisposed(DisposeEvent e) { + if (shellImages != null) { + for (int i = 0; i < shellImages.length; i++) { + shellImages[i].dispose(); + } + } + + } + }); + } private void initialize(Browser browser) { browser.addOpenWindowListener(new OpenWindowListener() { |