# NetBeans IDE HG Patch # This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /home/henk/devarea/cnd-main # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: cnd.debugger.gdb2/src/org/netbeans/modules/cnd/debugger/gdb2/GdbDebuggerImpl.java --- cnd.debugger.gdb2/src/org/netbeans/modules/cnd/debugger/gdb2/GdbDebuggerImpl.java +++ cnd.debugger.gdb2/src/org/netbeans/modules/cnd/debugger/gdb2/GdbDebuggerImpl.java @@ -149,7 +149,7 @@ static final Logger LOG = Logger.getLogger(GdbDebuggerImpl.class.toString()); private final GdbHandlerExpert handlerExpert; - private MILocation homeLoc; + private volatile MILocation homeLoc; private boolean dynamicType; private DisModel disModel = new DisModel(); @@ -2554,7 +2554,8 @@ } stackUpdater.treeChanged(); // causes a pull - disassembly.stateUpdated(); +// disassembly.stateUpdated(); + setVisitedLocation(homeLoc); } /* @@ -3749,7 +3750,6 @@ MIValue frameValue = (results != null) ? results.valueOf(MI_FRAME) : null; MITList frameTuple; MITList stack; - boolean visited = false; // Mac 10.4 gdb provides no "frame" attribute // For the scenario that stack view is closed and local view @@ -3761,19 +3761,19 @@ } if (srcResults != null) { + boolean visited = false; stack = srcResults.valueOf("stack").asList(); // NOI18N - if (false) { + /*if (false) { // We have information about what src location we're // stopped in. if (frameValue != null) frameTuple = frameValue.asTuple(); homeLoc = MILocation.make(this, frameTuple, srcResults, false, stack.size(), breakpoint); - } else { + } else {*/ frameValue = ((MIResult)stack.asList().get(0)).value(); frameTuple = frameValue.asTuple(); - homeLoc = MILocation.make(this, frameTuple, null, false, stack.size(), breakpoint); - } +// } // find the first frame with source info if dis was not requested for (MITListItem stf : stack.asList()) { @@ -3783,17 +3783,17 @@ } visited = true; } - + homeLoc = MILocation.make(this, frameTuple, srcResults, visited, stack.size(), breakpoint); state().isUpAllowed = !homeLoc.bottomframe(); state().isDownAllowed = !homeLoc.topframe(); setStack(srcRecord); } else { frameTuple = ( frameValue == null ? null : frameValue.asTuple() ); stack = null; + homeLoc = MILocation.make(this, frameTuple, null, false, 0, breakpoint); + setVisitedLocation(homeLoc); } - setVisitedLocation(MILocation.make(this, frameTuple, null, visited, (stack == null ? 0 :stack.size()), breakpoint)); - // if (get_frames || get_locals) { // showStackFrames(); // }