Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Ryall2008-02-22 17:41:27 -0500
committerKen Ryall2008-02-22 17:41:27 -0500
commit349c825785e75f5aac8926037cf92e413e3b8203 (patch)
treeb3cb33d77e32634ef914f657a1b7f6b6063a8b54
parenta5286d4c19f5a9c9380adcd471beeee85e051c39 (diff)
downloadorg.eclipse.cdt-349c825785e75f5aac8926037cf92e413e3b8203.tar.gz
org.eclipse.cdt-349c825785e75f5aac8926037cf92e413e3b8203.tar.xz
org.eclipse.cdt-349c825785e75f5aac8926037cf92e413e3b8203.zip
Bug 197986
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
index 779d59f162..7a4b3bc764 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2007 QNX Software Systems and others.
+ * Copyright (c) 2000, 2008 QNX Software 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
@@ -7,6 +7,7 @@
*
* Contributors:
* QNX Software Systems - Initial API and implementation
+ * Alena Laskavaia(QNX) - Bug 197986
*******************************************************************************/
package org.eclipse.cdt.debug.mi.core.cdi;
@@ -42,8 +43,8 @@ import org.eclipse.cdt.debug.mi.core.cdi.model.ThreadStorage;
import org.eclipse.cdt.debug.mi.core.cdi.model.ThreadStorageDescriptor;
import org.eclipse.cdt.debug.mi.core.cdi.model.Variable;
import org.eclipse.cdt.debug.mi.core.cdi.model.VariableDescriptor;
-import org.eclipse.cdt.debug.mi.core.command.CommandFactory;
import org.eclipse.cdt.debug.mi.core.command.CLIPType;
+import org.eclipse.cdt.debug.mi.core.command.CommandFactory;
import org.eclipse.cdt.debug.mi.core.command.MIStackListArguments;
import org.eclipse.cdt.debug.mi.core.command.MIStackListLocals;
import org.eclipse.cdt.debug.mi.core.command.MIVarCreate;
@@ -52,13 +53,14 @@ import org.eclipse.cdt.debug.mi.core.command.MIVarUpdate;
import org.eclipse.cdt.debug.mi.core.event.MIEvent;
import org.eclipse.cdt.debug.mi.core.event.MIVarChangedEvent;
import org.eclipse.cdt.debug.mi.core.event.MIVarDeletedEvent;
+import org.eclipse.cdt.debug.mi.core.output.CLIPTypeInfo;
import org.eclipse.cdt.debug.mi.core.output.MIArg;
import org.eclipse.cdt.debug.mi.core.output.MIFrame;
-import org.eclipse.cdt.debug.mi.core.output.CLIPTypeInfo;
import org.eclipse.cdt.debug.mi.core.output.MIStackListArgumentsInfo;
import org.eclipse.cdt.debug.mi.core.output.MIStackListLocalsInfo;
import org.eclipse.cdt.debug.mi.core.output.MIVar;
import org.eclipse.cdt.debug.mi.core.output.MIVarChange;
+import org.eclipse.cdt.debug.mi.core.output.MIVarCreateInfo;
import org.eclipse.cdt.debug.mi.core.output.MIVarUpdateInfo;
/**
@@ -692,11 +694,17 @@ public class VariableManager extends Manager {
// Then create again the variable, set the fVarCreateCMD of Variable class and try again the update command.
try {
MIVarCreate var = factory.createMIVarCreate(variable.getName());
- mi.postCommand(var, -1);
+ mi.postCommand(var);
+ MIVarCreateInfo info = var.getMIVarCreateInfo();
+ if (info == null) {
+ throw new CDIException(CdiResources.getString("cdi.Common.No_answer")); //$NON-NLS-1$
+ }
variable.setMIVarCreate(var);
update(target, variable, eventList);
} catch (MIException e) {
throw new MI2CDIException(e);
+ } catch (CDIException e) {
+ throw e;
}
}
variable.setUpdated(true);

Back to the top