1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-20 15:35:24 +02:00

Bug 261858 - [debug view] After suspend event, only the top stack frame should be retrieved initially.

This commit is contained in:
Pawel Piech 2009-01-23 21:03:19 +00:00
parent f5bd8af097
commit b323a0e9b8

View file

@ -512,24 +512,13 @@ public class StackFramesVMNode extends AbstractDMVMNode
getVMProvider().updateNode( getVMProvider().updateNode(
this, this,
new VMChildrenUpdate( new VMChildrenUpdate(
parentDelta, getVMProvider().getPresentationContext(), 0, 2, parentDelta, getVMProvider().getPresentationContext(), 0, 1,
new DataRequestMonitor<List<Object>>(getExecutor(), rm) { new DataRequestMonitor<List<Object>>(getExecutor(), rm) {
@Override @Override
public void handleCompleted() { public void handleCompleted() {
final List<Object> data= getData(); final List<Object> data= getData();
if (data != null && data.size() != 0) { if (data != null && data.size() != 0) {
parentDelta.addNode(data.get(0), 0, IModelDelta.SELECT | IModelDelta.STATE); parentDelta.addNode(data.get(0), 0, IModelDelta.SELECT | IModelDelta.STATE);
// Refresh the whole list of stack frames unless the target is already stepping the next command. In
// which case, the refresh will occur when the stepping sequence slows down or stops. Trying to
// refresh the whole stack trace with every step would slow down stepping too much.
IRunControl runControlService = getServicesTracker().getService(IRunControl.class);
if (runControlService != null &&
triggeringCtx != null && runControlService.isStepping(triggeringCtx) &&
data.size() >= 2)
{
parentDelta.addNode( data.get(1), 1, IModelDelta.STATE);
}
} }
// Even in case of errors, complete the request monitor. // Even in case of errors, complete the request monitor.
rm.done(); rm.done();