class: DebugView
authorClaus Gittinger <cg@exept.de>
Sun, 25 Aug 2013 18:36:09 +0200
changeset 13363 4cc837ad3854
parent 13362 d21110a7dded
child 13364 1643706fa245
class: DebugView class definition changed: #controlLoopCatchingErrors #doGotoDialogOpener #setContext:releaseInspectors: #updateButtonsAndMenuItemsForContext:
DebugView.st
--- a/DebugView.st	Sun Aug 25 17:23:49 2013 +0200
+++ b/DebugView.st	Sun Aug 25 18:36:09 2013 +0200
@@ -30,7 +30,7 @@
 		methodCodeToggleSelectionHolder
 		isStoppedAtBreakPointWithParameter breakPointParameter
 		hideSupportCode contextInfoLabel resendButton
-		gotoDialogOpenerButton'
+		gotoDialogOpenerButton isStoppedInModalDialog'
 	classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
 		DebuggingDebugger DebuggingDebugger2
 		DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts
@@ -4649,7 +4649,15 @@
             idx := i + 1.
             nextCon := contextArray at:idx.
             [ (nextCon receiver == dialog)
-              or:[ nextCon receiver == dialog class]
+              or:[ nextCon receiver == dialog class
+              or:[ nextCon receiver == DialogBox ]]
+            ] whileTrue:[
+                idx := idx + 1.
+                nextCon := contextArray at:idx.
+            ].
+            [ (nextCon receiver isKindOf:UserInformation)
+              or:[ nextCon receiver isBehavior
+                   and:[nextCon receiver includesBehavior:UserInformation]]
             ] whileTrue:[
                 idx := idx + 1.
                 nextCon := contextArray at:idx.
@@ -6023,7 +6031,7 @@
         m notNil ifTrue:[m enable:#doContinue]
     ].
 
-    Processor activeProcess isModal ifTrue:[
+    isStoppedInModalDialog ifTrue:[
         gotoDialogOpenerButton enable.
         gotoDialogOpenerButton beVisible.
     ] ifFalse:[
@@ -6693,7 +6701,7 @@
 "/        ^ false
 "/    ].
 
-    isStoppedAtHaltOrBreakPoint := isStoppedAtBreakPointWithParameter := false.
+    isStoppedAtHaltOrBreakPoint := isStoppedAtBreakPointWithParameter := isStoppedInModalDialog := false.
     firstContext := aContext.
 
     m := contextView middleButtonMenu.
@@ -6785,6 +6793,10 @@
                         ].
                     ]
                 ]
+            ] ifFalse:[
+                con selector == #openModal ifTrue:[
+                    isStoppedInModalDialog := true.
+                ].
             ].
 
             [
@@ -7487,10 +7499,14 @@
             "/ come up on my device.
             Screen currentScreenQuerySignal answer:device
             do:[
-                windowGroup
-                    eventLoopWhile:[Processor activeProcess state:#debug.
-                                      true]
-                    onLeave:[]
+                Dialog aboutToOpenBoxNotificationSignal
+                    handle:[:ex | ex proceed ]
+                    do:[
+                        windowGroup
+                            eventLoopWhile:[Processor activeProcess state:#debug.
+                                              true]
+                            onLeave:[]
+                    ]
             ]
         ].
     ].
@@ -8730,15 +8746,15 @@
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.614 2013-08-25 15:23:49 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.615 2013-08-25 16:36:09 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.614 2013-08-25 15:23:49 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.615 2013-08-25 16:36:09 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: DebugView.st,v 1.614 2013-08-25 15:23:49 cg Exp $'
+    ^ '$Id: DebugView.st,v 1.615 2013-08-25 16:36:09 cg Exp $'
 ! !