I notice...

DebugSession >> resumeProcess
�� �� "Make sure the interrupted process is restored properly and restart the low space handler"
interruptedProcess isTerminated
ifFalse: [��
errorWasInUIProcess
ifTrue: [ UIManager default resumeUIProcess: interruptedProcess ]
ifFalse: [ interruptedProcess resume ]].

"restart low space handler"
Smalltalk installLowSpaceWatcher.


and...��
MorphicUIManager >> resumeUIProcess: aProcess
"Adopt aProcess as the project process -- probably because of proceeding from a debugger"
UIProcess := aProcess.
UIProcess resume

This doesn't seem to do anything regarding the second UI process spawned in...
MorphicUIManager >> debugProcess:context:label:fullView:notification:

With Process Browser running with auto-update on,��
running the following experiment confirms that the second spawned UI is killed.

�� ��TestCase subclass: #Example2

�� ��Example2 >> test1
�� �� �� Processor activeProcess name: 'ORIGINAL UI'.
self halt���� ��


So I'm curious, where is the code killing the second UI ?

Also curious,��when the first UI turns into a debuggger,��
why later reinstate��the first UI and kill the second UI?
If the second UI started clean and is running happily, why not leave it running��
and let first UI thread terminate normally?��

I get some strange behaviour** sometimes , and wonder if the swap back it might be related to this.��

** Like today��#testUserPriority below��not opening a debugger at the first halt statement, or opening a pre-debug window that has a blank pane.


testUserPriority
debug := true.
Processor activeProcess priority: 38.
self halt.
highPriorityProcess := self highPriorityRunLoop.
Transcript cr.
debug ifTrue: [self halt].
3 timesRepeat: [��
Transcript crShow: 'U'.��
self wakeHighPriorityLoop.].
highPriorityProcess terminate.



cheers -ben