diff options
author | Carolyn MacLeod <carolyn> | 2003-11-14 21:17:29 +0000 |
---|---|---|
committer | Carolyn MacLeod <carolyn> | 2003-11-14 21:17:29 +0000 |
commit | 9a3cda5d64c981e35323e935639bdaa83395778b (patch) | |
tree | 053270c171987be8649bbe1488d95c11ba11a6da /examples | |
parent | 74f6d2c38dbe553da482fbdf618305725a1cbc4c (diff) | |
download | eclipse.platform.swt-9a3cda5d64c981e35323e935639bdaa83395778b.tar.gz eclipse.platform.swt-9a3cda5d64c981e35323e935639bdaa83395778b.tar.xz eclipse.platform.swt-9a3cda5d64c981e35323e935639bdaa83395778b.zip |
Fix leaks.
Diffstat (limited to 'examples')
2 files changed, 13 insertions, 5 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java index 5c612487e6..afd79d0597 100644 --- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java +++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java @@ -269,22 +269,24 @@ class CanvasTab extends Tab { } /** - * Sets the caret into the "Example" widget. + * Sets or clears the caret in the "Example" widget. */ void setCaret () { + Caret oldCaret = canvas.getCaret (); if (caretButton.getSelection ()) { - Caret caret = new Caret(canvas, SWT.NONE); + Caret newCaret = new Caret(canvas, SWT.NONE); Font font = canvas.getFont(); - caret.setFont(font); + newCaret.setFont(font); GC gc = new GC(canvas); gc.setFont(font); - caret.setBounds(1, 1, 1, gc.getFontMetrics().getHeight()); + newCaret.setBounds(1, 1, 1, gc.getFontMetrics().getHeight()); gc.dispose(); - canvas.setCaret (caret); + canvas.setCaret (newCaret); canvas.setFocus(); } else { canvas.setCaret (null); } + if (oldCaret != null) oldCaret.dispose (); } /** diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java index bef173772e..b733a704fe 100755 --- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java +++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java @@ -790,13 +790,19 @@ abstract class Tab { * and fonts to default settings as well. */ void resetColorsAndFonts () { + Color oldColor = foregroundColor; foregroundColor = null; setExampleWidgetForeground (); + if (oldColor != null) oldColor.dispose(); + oldColor = backgroundColor; backgroundColor = null; setExampleWidgetBackground (); + if (oldColor != null) oldColor.dispose(); + Font oldFont = font; font = null; setExampleWidgetFont (); setExampleWidgetSize (); + if (oldFont != null) oldFont.dispose(); } /** |