From f8121d178531a68db464b1cab1a3ad85746e6abf Mon Sep 17 00:00:00 2001 From: Andrey Loskutov Date: Thu, 16 May 2024 11:24:44 +0200 Subject: [PATCH] Use proper shell for modal dialogs This prevents the dialogs to appear behind the possible opened progress dialog (or any other modal dialog). See https://github.com/eclipse-platform/eclipse.platform/issues/1373 --- .../internal/junit/launcher/LaunchErrorStatusHandler.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/LaunchErrorStatusHandler.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/LaunchErrorStatusHandler.java index 86ed4e3aae8..01cf04ebd19 100644 --- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/LaunchErrorStatusHandler.java +++ b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/LaunchErrorStatusHandler.java @@ -23,10 +23,11 @@ import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.ui.PlatformUI; + import org.eclipse.debug.core.IStatusHandler; import org.eclipse.jdt.internal.junit.ui.JUnitMessages; -import org.eclipse.jdt.internal.junit.ui.JUnitPlugin; public class LaunchErrorStatusHandler implements IStatusHandler { @@ -35,7 +36,7 @@ public Object handleStatus(final IStatus status, Object source) throws CoreExcep final AtomicBoolean success= new AtomicBoolean(false); getDisplay().syncExec( () -> { - Shell shell= JUnitPlugin.getActiveWorkbenchShell(); + Shell shell= PlatformUI.getWorkbench().getModalDialogShellProvider().getShell(); if (shell == null) shell= getDisplay().getActiveShell(); if (shell != null) {