diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableCellModifier.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableCellModifier.java index 7e3603bb4de..aea2966637b 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableCellModifier.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableCellModifier.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems and others. + * Copyright (c) 2007, 2009 Wind River Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.cdt.dsf.debug.ui.viewmodel.variable; +import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.debug.service.IFormattedValues; import org.eclipse.cdt.dsf.debug.service.IExpressions.IExpressionDMContext; import org.eclipse.cdt.dsf.debug.ui.viewmodel.IDebugVMConstants; @@ -105,7 +106,7 @@ public class VariableCellModifier extends WatchExpressionCellModifier { * @see org.eclipse.cdt.dsf.debug.ui.viewmodel.expression.WatchExpressionCellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object) */ @Override - public void modify(Object element, String property, Object value) { + public void modify(final Object element, String property, Object value) { /* * If we're in the Value column, modify the variable/register data. The * other columns in the Variables and Registers view are non-modifiable. @@ -133,7 +134,11 @@ public class VariableCellModifier extends WatchExpressionCellModifier { } fDataAccess.writeVariable(element, (String) value, formatId); - fProvider.handleEvent(new UserEditEvent(element)); + fProvider.getExecutor().execute(new DsfRunnable() { + public void run() { + fProvider.handleEvent(new UserEditEvent(element)); + } + }); } } else { diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMProvider.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMProvider.java index 7632346055f..4935a08129e 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMProvider.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMProvider.java @@ -51,8 +51,12 @@ public class VariableVMProvider extends AbstractDMVMProvider }; private IPropertyChangeListener fPresentationContextListener = new IPropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - handleEvent(event); + public void propertyChange(final PropertyChangeEvent event) { + getExecutor().execute(new DsfRunnable() { + public void run() { + handleEvent(event); + }; + }); } };