DebugView.st
changeset 20 c09545d02817
parent 15 7fc8fcef7bc6
child 22 8b81fea5212b
--- a/DebugView.st	Sat Jan 08 18:39:17 1994 +0100
+++ b/DebugView.st	Thu Jan 13 01:14:55 1994 +0100
@@ -18,7 +18,7 @@
                               catchBlock grabber traceView tracing
                               bigStep steppedContextAddress canAbort
                               abortButton terminateButton continueButton
-                              stepButton sendButton
+                              stepButton sendButton resumeButton restartButton
                               exclusive'
        classVariableNames:'CachedDebugger'
        poolDictionaries:''
@@ -37,7 +37,7 @@
 or in one of the eventhandler processes - in this case, the debugger
 will sit on an exclusive display connection.
 
-$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.8 1994-01-08 17:22:57 claus Exp $
+$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.9 1994-01-13 00:14:55 claus Exp $
 
 written spring/summer 89 by claus
 '!
@@ -171,12 +171,22 @@
 
     terminateButton := Button
                         label:(resources at:'terminate')
-                        action:[abortButton turnOffWithoutRedraw. self doTerminate]
+                        action:[terminateButton turnOffWithoutRedraw. self doTerminate]
                         in:bpanel.
     abortButton := Button
                         label:(resources at:'abort')
                         action:[abortButton turnOffWithoutRedraw. self doAbort]
                         in:bpanel.
+    resumeButton := Button
+                        label:(resources at:'resume')
+                        action:[resumeButton turnOff. self doResume]
+                        in:bpanel.
+
+    restartButton := Button
+                        label:(resources at:'restart')
+                        action:[restartButton turnOff. self doRestart]
+                        in:bpanel.
+
     continueButton := Button
                         label:(resources at:'continue')
                         action:[continueButton turnOffWithoutRedraw. self doContinue]
@@ -491,6 +501,7 @@
                 con := selectedContext.
                 selectedContext := nil.
                 InInterrupt := nil.
+                busy := false.
                 con unwind.
                 'cannot resume selected context' printNewline
             ]
@@ -500,6 +511,7 @@
                     con := selectedContext.
                     selectedContext := nil.
                     InInterrupt := nil.
+                    busy := false.
                     con restart.
                     'cannot restart selected context' printNewline
                 ]
@@ -507,6 +519,7 @@
                 (exitAction == #terminate) ifTrue:[
                     selectedContext := nil.
                     InInterrupt := nil.
+                    busy := false.
                     Processor activeProcess terminate.
                     'cannot terminate process' printNewline
                 ]
@@ -531,6 +544,8 @@
         StepInterruptPending := true.
         InterruptPending := true.
         InStepInterrupt := nil
+    ] ifFalse:[
+        busy := false
     ]
 !
 
@@ -546,10 +561,13 @@
     busy := true.
     bigStep := false.
 
+    "can only look into process - context chain is not active"
     abortButton disable.
     sendButton disable.
     stepButton disable.
     continueButton disable.
+    resumeButton disable.
+    restartButton disable.
 
     self initializeMiddleButtonMenu.
     contextView middleButtonMenu disable:#doAbort.
@@ -843,7 +861,9 @@
     exitAction := #abort.
     ProcessorScheduler isPureEventDriven ifFalse:[
         "exit private event-loop"
-        catchBlock value
+        catchBlock notNil ifTrue:[
+            catchBlock value
+        ]
     ].
     ^ self.