From 1bf22dc2b18caeae596c701731b7d98fadfb5bd2 Mon Sep 17 00:00:00 2001 From: fedejeanne Date: Wed, 6 Aug 2025 16:16:59 +0200 Subject: [PATCH] Show ProgressMonitorJobsDialog after delay in ProgressManager.run Even for the backwards compatible mode (when the runnable is not forked or non-cancelable). --- .../org/eclipse/ui/internal/progress/ProgressManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/progress/ProgressManager.java b/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/progress/ProgressManager.java index 45701ab3d6a..ed1964177d3 100644 --- a/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/progress/ProgressManager.java +++ b/bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/progress/ProgressManager.java @@ -967,9 +967,10 @@ public void showInDialog(Shell shell, Job job) { @Override public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException { - if (!fork || !cancelable) { + if (!shouldRunInBackground() && (!fork || !cancelable)) { // Backward compatible code. - final ProgressMonitorJobsDialog dialog = new ProgressMonitorJobsDialog(null); + final ProgressMonitorJobsDialog dialog = new ProgressMonitorJobsDialog( + ProgressManagerUtil.getDefaultParent()); dialog.run(fork, cancelable, runnable); return; }