Skip to content

Commit 8c3c667

Browse files
committed
[[ Bug 13110 ]] Fix debugger triggering inside do (6.7 backport).
1 parent 1d84dd8 commit 8c3c667

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

engine/src/debug.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,12 @@ void MCB_prepmessage(MCExecPoint &ep, MCNameRef mess, uint2 line, uint2 pos, uin
249249
void MCB_trace(MCExecPoint &ep, uint2 line, uint2 pos)
250250
{
251251
uint2 i;
252-
252+
253+
// MW-2015-03-03: [[ Bug 13110 ]] If this is an internal handler as a result of do
254+
// then *don't* debug it.
255+
if (ep . gethandler() -> getname() == MCM_message)
256+
return;
257+
253258
if (MCtrace && (MCtraceuntil == MAXUINT2 || MCnexecutioncontexts == MCtraceuntil))
254259
{
255260
MCtraceuntil = MAXUINT2;
@@ -265,9 +270,9 @@ void MCB_trace(MCExecPoint &ep, uint2 line, uint2 pos)
265270
{
266271
MCParentScriptUse *t_parentscript;
267272
t_parentscript = ep . getparentscript();
268-
if (t_parentscript == NULL && MCbreakpoints[i].object == ep.getobj() ||
269-
t_parentscript != NULL && MCbreakpoints[i].object == t_parentscript -> GetParent() -> GetObject())
270-
MCB_prepmessage(ep, MCM_trace_break, line, pos, 0, MCbreakpoints[i].info);
273+
if ((t_parentscript == NULL && MCbreakpoints[i].object == ep.getobj()) ||
274+
(t_parentscript != NULL && MCbreakpoints[i].object == t_parentscript -> GetParent() -> GetObject()))
275+
MCB_prepmessage(ep, MCM_trace_break, line, pos, 0, MCbreakpoints[i].info);
271276
}
272277
}
273278
}

0 commit comments

Comments
 (0)