diff options
author | eutarass | 2011-09-07 21:21:08 +0000 |
---|---|---|
committer | eutarass | 2011-09-07 21:21:08 +0000 |
commit | 53e766d498ec821195445744087e097e8079da07 (patch) | |
tree | 5ee07f4afd7a6a35043cedb38e179019cd485e38 | |
parent | 58e6e936c032c330e7cf1c81d92a2c6e9b519f1d (diff) | |
download | org.eclipse.tcf-53e766d498ec821195445744087e097e8079da07.tar.gz org.eclipse.tcf-53e766d498ec821195445744087e097e8079da07.tar.xz org.eclipse.tcf-53e766d498ec821195445744087e097e8079da07.zip |
TCF Debugger: fixed: debugger preference "Delay children list updates in the Debug View until a child context is suspended" does not work as expected.
2 files changed, 27 insertions, 19 deletions
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java index 9b3acad8b..8546ec5aa 100644 --- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java +++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java @@ -1110,15 +1110,19 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner { } void postContextAddedDelta() { - if (last_children_state_info != null) { - if (!model.getAutoChildrenListUpdates()) { - // Manual manual updates. - return; - } - if (!last_children_state_info.suspended && model.getDelayChildrenListUpdates()) { - // Delay content update until a child is suspended. - delayed_children_list_delta = true; - return; + if (parent instanceof TCFNodeExecContext) { + TCFNodeExecContext exe = (TCFNodeExecContext)parent; + ChildrenStateInfo info = exe.last_children_state_info; + if (info != null) { + if (!model.getAutoChildrenListUpdates()) { + // Manual manual updates. + return; + } + if (!info.suspended && model.getDelayChildrenListUpdates()) { + // Delay content update until a child is suspended. + exe.delayed_children_list_delta = true; + return; + } } } for (TCFModelProxy p : model.getModelProxies()) { @@ -1130,15 +1134,19 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner { } private void postContextRemovedDelta() { - if (last_children_state_info != null) { - if (!model.getAutoChildrenListUpdates()) { - // Manual manual updates. - return; - } - if (!last_children_state_info.suspended && model.getDelayChildrenListUpdates()) { - // Delay content update until a child is suspended. - delayed_children_list_delta = true; - return; + if (parent instanceof TCFNodeExecContext) { + TCFNodeExecContext exe = (TCFNodeExecContext)parent; + ChildrenStateInfo info = exe.last_children_state_info; + if (info != null) { + if (!model.getAutoChildrenListUpdates()) { + // Manual manual updates. + return; + } + if (!info.suspended && model.getDelayChildrenListUpdates()) { + // Delay content update until a child is suspended. + exe.delayed_children_list_delta = true; + return; + } } } for (TCFModelProxy p : model.getModelProxies()) { diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/preferences/TCFPreferencesInitializer.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/preferences/TCFPreferencesInitializer.java index 39ebc88db..bdc227305 100644 --- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/preferences/TCFPreferencesInitializer.java +++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/preferences/TCFPreferencesInitializer.java @@ -31,6 +31,6 @@ public class TCFPreferencesInitializer extends AbstractPreferenceInitializer { prefs.setDefault(TCFPreferences.PREF_VIEW_UPDATES_THROTTLE, true); prefs.setDefault(TCFPreferences.PREF_TARGET_TRAFFIC_THROTTLE, true); prefs.setDefault(TCFPreferences.PREF_AUTO_CHILDREN_LIST_UPDATES, true); - prefs.setDefault(TCFPreferences.PREF_DELAY_CHILDREN_LIST_UPDATES, true); + prefs.setDefault(TCFPreferences.PREF_DELAY_CHILDREN_LIST_UPDATES, false); } } |