diff options
author | Christoph Läubrich | 2021-01-20 07:00:43 +0000 |
---|---|---|
committer | Christoph Laeubrich | 2021-01-21 16:39:57 +0000 |
commit | 93f06a8e77b61b88be4c5444a806ead778dfba79 (patch) | |
tree | 9a07fc612b016ab2338b5904774636f52fb40cda | |
parent | 0d0065e1b4a3431ebe42788fa24d47272fe386b9 (diff) | |
download | eclipse.platform.ui-93f06a8e77b61b88be4c5444a806ead778dfba79.tar.gz eclipse.platform.ui-93f06a8e77b61b88be4c5444a806ead778dfba79.tar.xz eclipse.platform.ui-93f06a8e77b61b88be4c5444a806ead778dfba79.zip |
Bug 570496 - ProgressManagerUtil Widget is disposedI20210121-2140
add check if display itself is already disposed
Change-Id: I9375ee3f6edf77e8b9b0bea5c5a761dedab615b5
Signed-off-by: Christoph Läubrich <laeubi@laeubi-soft.de>
-rw-r--r-- | bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java index 1657fdc5c3e..6e912c586ca 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java @@ -29,6 +29,7 @@ import org.eclipse.jface.window.IShellProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; @@ -417,7 +418,11 @@ public class ProgressManagerUtil { // If shell is null or disposed, then look through all shells if (shell == null || shell.isDisposed()) { - return getModalChildExcluding(PlatformUI.getWorkbench().getDisplay().getShells(), shell); + Display display = PlatformUI.getWorkbench().getDisplay(); + if (display.isDisposed()) { + return null; + } + return getModalChildExcluding(display.getShells(), shell); } // Start with the shell to exclude and check it's shells |