diff --git a/bundles/org.eclipse.swt.tools.spies/META-INF/MANIFEST.MF b/bundles/org.eclipse.swt.tools.spies/META-INF/MANIFEST.MF index 323ee9a197e..69cfd404281 100644 --- a/bundles/org.eclipse.swt.tools.spies/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.swt.tools.spies/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-Name: %pluginName Bundle-Vendor: %providerName Bundle-SymbolicName: org.eclipse.swt.tools.spies;singleton:=true -Bundle-Version: 3.109.500.qualifier +Bundle-Version: 3.109.600.qualifier Bundle-ManifestVersion: 2 Export-Package: org.eclipse.swt.tools.internal, org.eclipse.swt.tools.views diff --git a/bundles/org.eclipse.swt.tools.spies/src/org/eclipse/swt/tools/internal/Sleak.java b/bundles/org.eclipse.swt.tools.spies/src/org/eclipse/swt/tools/internal/Sleak.java index 883dcffb9e9..b4987ebd186 100644 --- a/bundles/org.eclipse.swt.tools.spies/src/org/eclipse/swt/tools/internal/Sleak.java +++ b/bundles/org.eclipse.swt.tools.spies/src/org/eclipse/swt/tools/internal/Sleak.java @@ -359,14 +359,8 @@ private void saveToFile(boolean prompt) { if (saveImages) { String suffix = String.format("%05d.png", i++); String pngName = String.format("%s_%s", fileName, suffix); - Image image = new Image(saveAs.getDisplay(), 100, 100); + Image image = new Image(saveAs.getDisplay(), (gc, width, height) -> draw(gc, object), 100, 100); try { - GC gc = new GC(image); - try { - draw(gc, object); - } finally { - gc.dispose(); - } ImageLoader loader = new ImageLoader(); loader.data = new ImageData[] { image.getImageData() }; loader.save(pngName, SWT.IMAGE_PNG); diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java index 60ae89fda76..5481e7d73f3 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java @@ -1593,15 +1593,15 @@ void createCaretBitmaps() { leftCaretBitmap.dispose(); } int lineHeight = renderer.getLineHeight(); - leftCaretBitmap = new Image(display, caretWidth, lineHeight); - GC gc = new GC (leftCaretBitmap); - gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK)); - gc.fillRectangle(0, 0, caretWidth, lineHeight); - gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE)); - gc.drawLine(0,0,0,lineHeight); - gc.drawLine(0,0,caretWidth-1,0); - gc.drawLine(0,1,1,1); - gc.dispose(); + final ImageGcDrawer leftCaretDrawer = (gc, width, height) -> { + gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK)); + gc.fillRectangle(0, 0, width, height); + gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE)); + gc.drawLine(0,0,0,height); + gc.drawLine(0,0,width-1,0); + gc.drawLine(0,1,1,1); + }; + leftCaretBitmap = new Image(display, leftCaretDrawer, caretWidth, lineHeight); if (rightCaretBitmap != null) { if (defaultCaret != null && rightCaretBitmap.equals(defaultCaret.getImage())) { @@ -1609,15 +1609,15 @@ void createCaretBitmaps() { } rightCaretBitmap.dispose(); } - rightCaretBitmap = new Image(display, caretWidth, lineHeight); - gc = new GC (rightCaretBitmap); - gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK)); - gc.fillRectangle(0, 0, caretWidth, lineHeight); - gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE)); - gc.drawLine(caretWidth-1,0,caretWidth-1,lineHeight); - gc.drawLine(0,0,caretWidth-1,0); - gc.drawLine(caretWidth-1,1,1,1); - gc.dispose(); + final ImageGcDrawer rightCaretDrawer = (gc, width, height) -> { + gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK)); + gc.fillRectangle(0, 0, width, height); + gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE)); + gc.drawLine(width-1,0,width-1,height); + gc.drawLine(0,0,width-1,0); + gc.drawLine(width-1,1,1,1); + }; + rightCaretBitmap = new Image(display, rightCaretDrawer, caretWidth, lineHeight); } /** * Moves the selected text to the clipboard. The text will be put in the