commit | 630ae78cf8cab1a5aad3b3205247020653aa7635 | [log] [tgz] |
---|---|---|
author | Karsten Thoms <karsten.thoms@karakun.com> | Mon Nov 30 17:21:41 2020 +0100 |
committer | Alexander Kurtakov <akurtako@redhat.com> | Fri Aug 13 11:21:21 2021 -0400 |
tree | f5cdc91de5aa053be39ee4c1ed6745d14f157524 | |
parent | d8ea0ae18c42d50b29c8e648f78c03e1d16dc525 [diff] |
Bug 569291 - Don't start drag when no active shell is available Add a guard when Display#getActiveShell() returns null. This might happen in rare situations, e.g. when an e4 view is dragged to detach it. Change-Id: I1566047b9b65b47039ea80fade5a77d950aaa82f Signed-off-by: Karsten Thoms <karsten.thoms@karakun.com> Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.ui/+/173029 Tested-by: Platform Bot <platform-bot@eclipse.org> Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/dndaddon/DnDManager.java b/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/dndaddon/DnDManager.java index fe789d3..3d0fe81 100644 --- a/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/dndaddon/DnDManager.java +++ b/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/dndaddon/DnDManager.java
@@ -195,7 +195,12 @@ protected void startDrag() { // Create a new tracker for this drag instance - tracker = new Tracker(Display.getCurrent().getActiveShell(), SWT.NULL); + Shell activeShell = Display.getCurrent().getActiveShell(); + if (activeShell == null) { + return; + } + + tracker = new Tracker(activeShell, SWT.NULL); tracker.setStippled(true); setRectangle(offScreenRect);