From 08e3a84e8c186403e82ded39e8a7030f28a8d555 Mon Sep 17 00:00:00 2001 From: Pawel Piech Date: Thu, 2 Oct 2008 03:07:25 +0000 Subject: [PATCH] [249345] Added an additional test for display thread in getModelData(). --- .../dsf/ui/viewmodel/update/AbstractCachingVMProvider.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.dd.dsf.ui/src/org/eclipse/dd/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java b/plugins/org.eclipse.dd.dsf.ui/src/org/eclipse/dd/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java index 17e3e26b92b..9af35471274 100644 --- a/plugins/org.eclipse.dd.dsf.ui/src/org/eclipse/dd/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java +++ b/plugins/org.eclipse.dd.dsf.ui/src/org/eclipse/dd/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java @@ -52,6 +52,7 @@ import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.ModelDelta; import org.eclipse.jface.viewers.TreePath; import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeItem; @@ -950,7 +951,9 @@ public class AbstractCachingVMProvider extends AbstractVMProvider implements ICa // Determine if this request is being issues on the a VM executor thread. If so // then we do not need to create a new one to insure data integrity. Executor vmExecutor = getExecutor(); - if ( vmExecutor instanceof SimpleDisplayExecutor ) { + if ( vmExecutor instanceof SimpleDisplayExecutor && + Display.getDefault().getThread() == Thread.currentThread() ) + { getCacheModelData(node, update, service, dmc, rm, executor ); } else { vmExecutor.execute(new DsfRunnable() {