From 3260877e9de3d27246f16eac76503b5b4162b246 Mon Sep 17 00:00:00 2001 From: Aleksandar Kurtakov Date: Wed, 27 Aug 2025 16:53:58 +0300 Subject: [PATCH] [GTK] Fix MenuItem/ToolItem setImage(null) Fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=568771 had the wrong assumption that _setImage should be called only when non null image. Fixes https://github.com/eclipse-platform/eclipse.platform.swt/issues/2457 --- .../Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java | 3 ++- .../Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java index d29c91e4116..edc9eb543ee 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java @@ -986,8 +986,9 @@ private void _setEnabledOrDisabledImage() { defaultDisableImage = new Image(getDisplay(), image, SWT.IMAGE_DISABLE); } _setImage(defaultDisableImage); + } else { + _setImage(image); } - if (enabled && image != null) _setImage(image); } /** diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java index 15a21413ca6..4105334d0e0 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java @@ -1228,8 +1228,9 @@ private void _setEnabledOrDisabledImage() { } else { _setImage(disabledImage); } + } else { + _setImage(image); } - if (enabled && image != null) _setImage(image); } boolean setFocus () {