Mantis - Squeak
Viewing Issue Advanced Details
2359 MVC major always 12-13-05 12:32 01-20-06 22:59
closed 3.9  
none 3.9  
0002359: Debugger in MVC opens in next available Morphic world
In Squeak3.9a-6705, "self halt" in MVC displays nothing in MVC. The debugger opens in whatever Morphic world next becomes active.
 DebuggerMVCSchedulingFix-dtl.cs.gz [^] (1,649 bytes) 12-14-05 05:16

12-14-05 05:20   
The problem is in Debugger class>>openOn:context:label:contents:fullView:

From version history:

Last working version was 'ajh 8/6/2003 11:40 Debugger class openOn:context:label:contents:fullView:'.

Error was introduced in 'md 8/9/2005 20:10 Debugger class openOn:context:label:contents:fullView:' which is attempting to fix some problem with opening debuggers from the test runner, by scheduling the debugger in a deferred UI message (which does not work in MVC StandardSystemController).

One subsequent version has been added: 'dao 8/29/2005 10:38 Debugger class openOn:context:label:contents:fullView:'. This appears to be an update to clean up CurrentProjectRefactoring, not related to this bug.

Simple fix is to go back to the ajh version, but still need to address the problem that md was trying to fix, plus add the good patch from dao, plus update DebuggerPlus to match. Better (but ugly) is to schedule deferred UI message only if we are in Morphic. That's what the attached change set (DebuggerMVCSchdulingFix-dtl) does.

Related change: DebuggerPlus used a copy of the earlier ajh version. DebuggerMVCSchdulingFix-dtl updates it to be the same as the method Debugger. I have not tested this, but presume it to be OK based on the fact that the DebuggerPlus matched the earlier (good) Debugger method.

Entropy alert: This change set adds yet another 'Smalltalk isMorphic' to an already ugly method.

Note: I think I did a change set a long time ago that makes deferred UI messages more generally available in MVC. Need to dig that one up.
01-20-06 22:59   
will be in 6717