Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Barbin2017-05-31 12:19:17 +0000
committerPierre-Charles David2017-08-21 15:50:00 +0000
commit8dbdc50237d03c09354ec0934778c2a1be86183f (patch)
tree324977c222283db8f2fe4b7351c4ba8246ca7aba
parent5d0b9c67f864cd74540012678b899761c8c688ad (diff)
downloadorg.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.java8
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();

Back to the top