diff --git a/bundles/org.eclipse.e4.ui.widgets/src/org/eclipse/e4/ui/widgets/ImageBasedFrame.java b/bundles/org.eclipse.e4.ui.widgets/src/org/eclipse/e4/ui/widgets/ImageBasedFrame.java index 90907b67dd1..f1fc548bcc3 100644 --- a/bundles/org.eclipse.e4.ui.widgets/src/org/eclipse/e4/ui/widgets/ImageBasedFrame.java +++ b/bundles/org.eclipse.e4.ui.widgets/src/org/eclipse/e4/ui/widgets/ImageBasedFrame.java @@ -27,6 +27,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.ToolBar; @@ -71,6 +72,7 @@ public ImageBasedFrame(Composite parent, Control toWrap, boolean vertical, }); toWrap.addListener(SWT.ZoomChanged, event -> { + Shell shell = parent.getShell(); final AtomicReference scaleOnParentResize = new AtomicReference<>(); scaleOnParentResize.set(e -> { if (isDisposed()) { @@ -79,9 +81,9 @@ public ImageBasedFrame(Composite parent, Control toWrap, boolean vertical, toWrap.pack(true); setFramedControlLocation(); parent.layout(); - parent.removeListener(SWT.Resize, scaleOnParentResize.get()); + shell.removeListener(SWT.Resize, scaleOnParentResize.get()); }); - parent.addListener(SWT.Resize, scaleOnParentResize.get()); + shell.addListener(SWT.Resize, scaleOnParentResize.get()); }); addMouseMoveListener(e -> {