From 5c0b73d21afa8a09bc722febc44fc0a61ffa0dce Mon Sep 17 00:00:00 2001 From: Andrey Loskutov Date: Mon, 7 Jul 2025 09:41:36 +0200 Subject: [PATCH] FormText.paint(): don't pass (0,0) to Image constructor Fixes https://github.com/eclipse-platform/eclipse.platform.ui/issues/3087 --- .../src/org/eclipse/ui/forms/widgets/FormText.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java index 48edf36d91c..0e2bde803f5 100644 --- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java +++ b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java @@ -1555,7 +1555,14 @@ private void paint(PaintEvent e) { gc.setForeground(getForeground()); gc.setBackground(getBackground()); Point size = getSize(); - repaint(gc, 0, 0, size.x, size.y); + Rectangle paintBounds; + if (size.x == 0 && size.y == 0) { + // avoids crash on image creation with (0,0) image size + paintBounds = new Rectangle(e.x, e.y, e.width, e.height); + } else { + paintBounds = new Rectangle(0, 0, size.x, size.y); + } + repaint(gc, paintBounds.x, paintBounds.y, paintBounds.width, paintBounds.height); } private void repaint(GC gc, int x, int y, int width, int height) {