diff options
| author | Florian Barbin | 2017-05-31 12:19:17 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2017-08-21 15:50:00 +0000 |
| commit | 8dbdc50237d03c09354ec0934778c2a1be86183f (patch) | |
| tree | 324977c222283db8f2fe4b7351c4ba8246ca7aba | |
| parent | 5d0b9c67f864cd74540012678b899761c8c688ad (diff) | |
| download | org.eclipse.sirius-8dbdc50237d03c09354ec0934778c2a1be86183f.tar.gz org.eclipse.sirius-8dbdc50237d03c09354ec0934778c2a1be86183f.tar.xz org.eclipse.sirius-8dbdc50237d03c09354ec0934778c2a1be86183f.zip | |
[517346] Do not run OpenRepresentationsAction in UI thread.
* The whole action is wrongly run in UI thread and that blocks the
progress monitor feedback. Only the opening of editors needs to be
executed in UI Thread. This is done by the
DialectUIManager.INSTANCE.openEditor implementations.
Bug: 517346
Change-Id: If721b5f9bc46cf68a63087565b2bbbfc6501537f
Signed-off-by: Florian Barbin <florian.barbin@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenRepresentationsAction.java | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenRepresentationsAction.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenRepresentationsAction.java index 4bbdd21921..61e35de27c 100644 --- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenRepresentationsAction.java +++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenRepresentationsAction.java @@ -17,8 +17,6 @@ import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.SubMonitor; import org.eclipse.jface.action.Action; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.jface.operation.IRunnableContext; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.sirius.business.api.query.EObjectQuery; import org.eclipse.sirius.business.api.session.Session; @@ -28,7 +26,6 @@ import org.eclipse.sirius.ui.business.api.session.IEditingSession; import org.eclipse.sirius.ui.business.api.session.SessionUIManager; import org.eclipse.sirius.viewpoint.DRepresentationDescriptor; import org.eclipse.sirius.viewpoint.provider.Messages; -import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.PlatformUI; @@ -71,17 +68,14 @@ public class OpenRepresentationsAction extends Action { @Override public void run() { - Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); - try { - IRunnableContext context = new ProgressMonitorDialog(shell); IRunnableWithProgress runnable = new IRunnableWithProgress() { @Override public void run(final IProgressMonitor pm) { openRepresentations(pm); } }; - PlatformUI.getWorkbench().getProgressService().runInUI(context, runnable, null); + PlatformUI.getWorkbench().getProgressService().run(true, false, runnable); } catch (final InvocationTargetException e) { if (e.getCause() instanceof RuntimeException) { throw (RuntimeException) e.getCause(); |
