From 2f3a82c13c1bf5ab05079516770b53a70fc781b9 Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Mon, 20 Jun 2005 19:39:53 +0000 Subject: [PATCH] Bug 93856: Variable View: Should disable change value options if selected item is not changeable. --- debug/org.eclipse.cdt.debug.core/ChangeLog | 4 ++++ .../debug/internal/core/model/CVariable.java | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index 71d7f3c9aab..533ff3e1acc 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,7 @@ +2005-06-20 Mikhail Khodjaiants + Bug 93856: Variable View: Should disable change value options if selected item is not changeable. + * CVariable.java + 2005-06-17 Mikhail Khodjaiants Bug 99217: NPE thrown when fetching deffered children. * CExpression.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CVariable.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CVariable.java index b1e14218e7a..53069e5c3fd 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CVariable.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CVariable.java @@ -294,6 +294,17 @@ public class CVariable extends AbstractCVariable implements ICDIEventListener { } } + boolean isEditable() throws DebugException { + ICDIVariable var = getCDIVariable(); + if ( var != null ) { + try { + return var.isEditable(); + } + catch( CDIException e ) { + } + } + return false; + } /** * Compares the underlying variable objects. * @see java.lang.Object#equals(java.lang.Object) @@ -556,7 +567,12 @@ public class CVariable extends AbstractCVariable implements ICDIEventListener { * @see org.eclipse.debug.core.model.IValueModification#supportsValueModification() */ public boolean supportsValueModification() { - return true; + try { + return getCurrentInternalVariable().isEditable(); + } + catch( DebugException e ) { + } + return false; } /*