Marcel Taeumel uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-mt.359.mcz ==================== Summary ==================== Name: EToys-mt.359 Author: mt Time: 7 October 2019, 10:14:35.580231 am UUID: 2b4ab5e7-4395-2147-927c-2d43c740debf Ancestors: EToys-pre.358 Complements System-mt.1112, which fixes and clean-up in the debugger infrastructure. =============== Diff against EToys-pre.358 =============== Item was removed: - ----- Method: ControlManager>>interruptName: (in category '*Etoys-Squeakland-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: nil - ! Item was removed: - ----- Method: ControlManager>>interruptName:preemptedProcess: (in category '*Etoys-Squeakland-scheduling') ----- - interruptName: labelString preemptedProcess: theInterruptedProcess - "Create a Notifier on the active scheduling process with the given label. Make the Notifier the active controller." - | newActiveController preemptedProcess | - - preemptedProcess := theInterruptedProcess ifNil: [Processor preemptedProcess]. - preemptedProcess suspend. - - "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." - - preemptedProcess == activeControllerProcess - ifFalse:[activeControllerProcess suspend]. - - activeController ~~ nil ifTrue: [ - "Carefully de-emphasis the current window." - activeController view topView deEmphasizeForDebugger]. - - newActiveController := - (Debugger - openInterrupt: labelString - onProcess: preemptedProcess) controller. - newActiveController centerCursorInView. - self activeController: newActiveController. - ! Item was changed: ----- Method: Project class>>interruptName:preemptedProcess: (in category '*Etoys-Squeakland-utilities') ----- interruptName: labelString preemptedProcess: theInterruptedProcess - "Create a Notifier on the active scheduling process with the given label." - | preemptedProcess projectProcess | - Smalltalk isMorphic ifFalse: - [^ ScheduledControllers interruptName: labelString]. - ActiveHand ifNotNil:[ActiveHand interrupted]. - ActiveWorld := Project current world. "reinstall active globals" - ActiveHand := ActiveWorld primaryHand. - ActiveHand interrupted. "make sure this one's interrupted too" - ActiveEvent := nil. + ^ Project current interruptName: labelString preemptedProcess: theInterruptedProcess! - projectProcess := self uiProcess. "we still need the accessor for a while" - preemptedProcess := theInterruptedProcess ifNil: [Processor preemptedProcess]. - "Only debug preempted process if its priority is >= projectProcess' priority" - preemptedProcess priority < projectProcess priority - ifTrue:[preemptedProcess := projectProcess]. - preemptedProcess suspend. - Debugger openInterrupt: labelString onProcess: preemptedProcess - ! |
Free forum by Nabble | Edit this page |