Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2013-04-05 12:26:43 -0400
committerEugene Tarassov2013-04-05 12:26:43 -0400
commitaefe31a28116c0c81dc44148654539c1ae4c60c0 (patch)
tree31aa0261dd148d09ff4d583b7c2a040565e683ff /plugins
parentc8c9b5bb485ffbe446e429108ae374e5d1087d70 (diff)
downloadorg.eclipse.tcf-aefe31a28116c0c81dc44148654539c1ae4c60c0.tar.gz
org.eclipse.tcf-aefe31a28116c0c81dc44148654539c1ae4c60c0.tar.xz
org.eclipse.tcf-aefe31a28116c0c81dc44148654539c1ae4c60c0.zip
TCF Debugger: fixed: the Variables view is not properly updated on MemoryMap.changed event
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModel.java21
-rw-r--r--plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExecContext.java2
2 files changed, 14 insertions, 9 deletions
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModel.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModel.java
index 6e34a250a..a03269824 100644
--- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModel.java
+++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModel.java
@@ -352,7 +352,7 @@ public class TCFModel implements ITCFModel, IElementContentProvider, IElementLab
if (node instanceof TCFNodeExecContext) {
((TCFNodeExecContext)node).onContextChanged(ctx);
}
- onMemoryChanged(id, true, false);
+ onMemoryChanged(id, true, false, false);
}
}
@@ -365,7 +365,7 @@ public class TCFModel implements ITCFModel, IElementContentProvider, IElementLab
if (node instanceof TCFNodeExecContext) {
((TCFNodeExecContext)node).onMemoryChanged(addr, size);
}
- onMemoryChanged(id, true, false);
+ onMemoryChanged(id, true, false, false);
}
};
@@ -396,7 +396,7 @@ public class TCFModel implements ITCFModel, IElementContentProvider, IElementLab
if (!id.equals(context) && node instanceof TCFNodeExecContext) {
((TCFNodeExecContext)node).onContainerSuspended(func_call);
}
- onMemoryChanged(id, false, true);
+ onMemoryChanged(id, false, true, false);
}
TCFNode node = getNode(context);
if (node instanceof TCFNodeExecContext) {
@@ -436,7 +436,7 @@ public class TCFModel implements ITCFModel, IElementContentProvider, IElementLab
if (node instanceof TCFNodeExecContext) {
((TCFNodeExecContext)node).onContextChanged(ctx);
}
- onMemoryChanged(id, true, false);
+ onMemoryChanged(id, true, false, false);
if (active_actions.get(id) == null) {
TCFNodePropertySource.refresh(node);
}
@@ -480,7 +480,7 @@ public class TCFModel implements ITCFModel, IElementContentProvider, IElementLab
updateAnnotations(null);
TCFNodePropertySource.refresh(node);
}
- onMemoryChanged(id, false, true);
+ onMemoryChanged(id, false, true, false);
}
};
@@ -492,7 +492,7 @@ public class TCFModel implements ITCFModel, IElementContentProvider, IElementLab
TCFNodeExecContext exe = (TCFNodeExecContext)node;
exe.onMemoryMapChanged();
}
- onMemoryChanged(id, true, false);
+ onMemoryChanged(id, true, false, true);
refreshSourceView();
}
};
@@ -875,7 +875,7 @@ public class TCFModel implements ITCFModel, IElementContentProvider, IElementLab
Activator.log(bf.toString(), x);
}
- void onMemoryChanged(String id, boolean notify_references, boolean context_suspended) {
+ void onMemoryChanged(String id, boolean notify_references, boolean context_suspended, boolean mem_map) {
if (channel == null) return;
if (notify_references) {
for (Object obj : context_map.values()) {
@@ -884,7 +884,12 @@ public class TCFModel implements ITCFModel, IElementContentProvider, IElementLab
if (id.equals(subctx.getProcessID()) && !id.equals(subctx.getID())) {
TCFNode subnode = getNode(subctx.getID());
if (subnode instanceof TCFNodeExecContext) {
- ((TCFNodeExecContext)subnode).onMemoryChanged(null, null);
+ if (mem_map) {
+ ((TCFNodeExecContext)subnode).onMemoryMapChanged();
+ }
+ else {
+ ((TCFNodeExecContext)subnode).onMemoryChanged(null, null);
+ }
}
}
}
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExecContext.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExecContext.java
index 9f02da9f1..6a1b142d9 100644
--- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExecContext.java
+++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeExecContext.java
@@ -1218,7 +1218,7 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner, ITCFExe
@Override
public void refresh(IWorkbenchPart part) {
if (part instanceof IMemoryRenderingSite) {
- model.onMemoryChanged(id, false, false);
+ model.onMemoryChanged(id, false, false, false);
}
else {
last_children_list = null;

Back to the top