summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorCarolyn MacLeod <carolyn>2003-11-14 21:17:29 +0000
committerCarolyn MacLeod <carolyn>2003-11-14 21:17:29 +0000
commit9a3cda5d64c981e35323e935639bdaa83395778b (patch)
tree053270c171987be8649bbe1488d95c11ba11a6da /examples
parent74f6d2c38dbe553da482fbdf618305725a1cbc4c (diff)
downloadeclipse.platform.swt-9a3cda5d64c981e35323e935639bdaa83395778b.tar.gz
eclipse.platform.swt-9a3cda5d64c981e35323e935639bdaa83395778b.tar.xz
eclipse.platform.swt-9a3cda5d64c981e35323e935639bdaa83395778b.zip
Fix leaks.
Diffstat (limited to 'examples')
-rw-r--r--examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java12
-rwxr-xr-xexamples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java6
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();
}
/**