From e5930da95144c1312f17545bff9ce5a536c1c05d Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Wed, 16 Jul 2008 00:20:46 +0000 Subject: [PATCH] Bug 240947 Missing done() calls in view model --- .../ui/viewmodel/launch/StackFramesVMNode.java | 4 +++- .../provisional/ui/viewmodel/modules/ModulesVMNode.java | 1 + .../ui/viewmodel/register/RegisterVMNode.java | 6 ++++++ .../ui/viewmodel/variable/VariableVMNode.java | 9 ++++++++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/launch/StackFramesVMNode.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/launch/StackFramesVMNode.java index 28ec76bddb0..4f2516d8080 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/launch/StackFramesVMNode.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/launch/StackFramesVMNode.java @@ -268,7 +268,7 @@ public class StackFramesVMNode extends AbstractDMVMNode update.setLabel("<...more frames...>", 0); //$NON-NLS-1$ update.setImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_STACKFRAME), 0); update.done(); - return; + continue; } final IFrameDMContext dmc = findDmcInPath(update.getViewerInput(), update.getElementPath(), IFrameDMContext.class); @@ -474,6 +474,8 @@ public class StackFramesVMNode extends AbstractDMVMNode || IDsfDebugUIConstants.PREF_STACK_FRAME_LIMIT.equals(property)) { buildDeltaForStackFrameLimitPreferenceChangedEvent(parent, rm); + } else { + rm.done(); } } else { rm.done(); diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/modules/ModulesVMNode.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/modules/ModulesVMNode.java index 8bdfaab9a72..893faba6a16 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/modules/ModulesVMNode.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/modules/ModulesVMNode.java @@ -66,6 +66,7 @@ public class ModulesVMNode extends AbstractDMVMNode if (modulesService == null || symDmc == null) { handleFailedUpdate(update); + return; } modulesService.getModules( diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/register/RegisterVMNode.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/register/RegisterVMNode.java index f8b8a16070e..14a6258f3b5 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/register/RegisterVMNode.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/register/RegisterVMNode.java @@ -430,11 +430,17 @@ public class RegisterVMNode extends AbstractExpressionVMNode if ( ! weAreExtractingFormattedData ) { update.done(); } else { + boolean found = false; for (int idx = 0; idx < localColumns.length; idx++) { if (IDebugVMConstants.COLUMN_ID__VALUE.equals(localColumns[idx])) { + found = true; updateFormattedRegisterValue(update, idx, dmc); + break; } } + if (!found) { + update.done(); + } } } }, diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/variable/VariableVMNode.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/variable/VariableVMNode.java index a7ac5cbe217..1669574eb9a 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/variable/VariableVMNode.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/variable/VariableVMNode.java @@ -311,11 +311,16 @@ public class VariableVMNode extends AbstractExpressionVMNode if ( ! weAreExtractingFormattedData ) { update.done(); } else { + boolean found = false; for (int idx = 0; idx < localColumns.length; idx++) { if (IDebugVMConstants.COLUMN_ID__VALUE.equals(localColumns[idx])) { + found = true; updateFormattedExpressionValue(update, idx, dmc, getData()); + break; } - update.setFontData(JFaceResources.getFontDescriptor(IInternalDebugUIConstants.VARIABLE_TEXT_FONT).getFontData()[0], idx); + } + if (!found) { + update.done(); } } } @@ -608,6 +613,8 @@ public class VariableVMNode extends AbstractExpressionVMNode // DataRequestMonitor.handleCompleted() above. expressionService.getSubExpressions(expressionDMC, rm); + } else { + handleFailedUpdate(update); } }