summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Heidrich <fheidric>2009-09-29 20:47:13 +0000
committerFelipe Heidrich <fheidric>2009-09-29 20:47:13 +0000
commit74268d34f203ff5d71dd59334ffc6534f2259375 (patch)
treeec791b2d5232b2673450b8ca4a5e995730652a3e
parent8eddb2cca71a24fffdbe71d95682980c5888de2d (diff)
downloadeclipse.platform.swt-74268d34f203ff5d71dd59334ffc6534f2259375.tar.gz
eclipse.platform.swt-74268d34f203ff5d71dd59334ffc6534f2259375.tar.xz
eclipse.platform.swt-74268d34f203ff5d71dd59334ffc6534f2259375.zip
3.5.2 - Bug 288857: GDI Handle Resource Leak
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java
index d4701a120f..e0aaf1559b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java
@@ -731,7 +731,9 @@ public void draw (GC gc, int x, int y, int selectionStart, int selectionEnd, Col
if (hFont != lastHFont) {
lastHFont = hFont;
if (gdipFont != 0) Gdip.Font_delete(gdipFont);
+ int /*long*/ oldFont = OS.SelectObject(hdc, hFont);
gdipFont = Gdip.Font_new(hdc, hFont);
+ OS.SelectObject(hdc, oldFont);
if (gdipFont == 0) SWT.error(SWT.ERROR_NO_HANDLES);
if (!Gdip.Font_IsAvailable(gdipFont)) {
Gdip.Font_delete(gdipFont);