David T. Lewis uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-dtl.118.mcz ==================== Summary ==================== Name: ST80-dtl.118 Author: dtl Time: 12 September 2010, 3:38:33.111 pm UUID: 5b5a7a3e-c1ff-4b21-b04b-8cef0c4a590c Ancestors: ST80-eem.117 MVC fixes by Florin Mateoc to address debugger opening, including low space interrupt and user interrupt in MVC. =============== Diff against ST80-eem.117 =============== Item was changed: ----- Method: ControlManager>>interruptName: (in category 'scheduling') ----- interruptName: labelString "Create a Notifier on the active scheduling process with the given label. Make the Notifier the active controller." + ^ self interruptName: labelString preemptedProcess: activeControllerProcess - ^ self interruptName: labelString preemptedProcess: nil ! Item was changed: ----- Method: ControlManager>>interruptName:preemptedProcess: (in category 'scheduling') ----- interruptName: labelString preemptedProcess: theInterruptedProcess + "Create a Notifier on the interrupted process with the given label. Make the Notifier the active controller." - "Create a Notifier on the active scheduling process with the given label. Make the Notifier the active controller." - | newActiveController preemptedProcess | + theInterruptedProcess suspend. - preemptedProcess := theInterruptedProcess ifNil: [Processor preemptedProcess]. - preemptedProcess suspend. + (activeController ~~ nil and: [activeController ~~ screenController]) ifTrue: [ + theInterruptedProcess == activeControllerProcess + ifTrue: [ + "Carefully de-emphasis the current window." + activeController view topView deEmphasizeForDebugger] + ifFalse: [ + activeController controlTerminate]]. - "There is something wrong here. We suspend *two* processes, the interrupted - process and the activeControllerProcess (unless they are the same). How can - that possibly be right? However, it is what the code did before I added the comment - (it was merely hidden underneith another pile of code). Someone with more - understanding about MVC fix this please." + "This will just scheduleNoTerminate the newly built controller" + Debugger - preemptedProcess == activeControllerProcess - ifFalse:[activeControllerProcess suspend]. - - activeController ~~ nil ifTrue: [ - "Carefully de-emphasis the current window." - activeController view topView deEmphasizeForDebugger]. - - newActiveController := - (Debugger openInterrupt: labelString + onProcess: theInterruptedProcess. + + self searchForActiveController! - onProcess: preemptedProcess) controller. - newActiveController centerCursorInView. - self activeController: newActiveController. - ! Item was added: + ----- Method: MVCProject>>interruptName: (in category 'utilities') ----- + interruptName: labelString + "Create a Notifier on the active scheduling process with the given label." + + ^ ScheduledControllers interruptName: labelString + ! Item was changed: ----- Method: MVCProject>>interruptName:preemptedProcess: (in category 'utilities') ----- interruptName: labelString preemptedProcess: theInterruptedProcess "Create a Notifier on the active scheduling process with the given label." + ^ ScheduledControllers interruptName: labelString preemptedProcess: theInterruptedProcess - ^ ScheduledControllers interruptName: labelString ! |
Free forum by Nabble | Edit this page |