I was using DrGeo for the first time from the bundled release 11.08 on
Windows 7. About 30 minutes in I drew three equally intersecting
circles, added a reflection line with each circle reflected. I added a
free point with a middle (I think to a circle) and was trying to add a
locus.
When moving any of the points defining the circles I am getting a dozen
or more cascading MNUs down the screen. Moving the reflection line
still works okay.
The error occurs in following method...
DrGeo>>updateDirtyCostumes
self presenter tool costumes do: [ :each | each update ].
self area changed
In the debugger inspecting "self presenter tool costumes" returns nil.
While I can't judge whether returning nil is valid here, as a Smalltalk
newbie what I am really interested in is:
1. The semantics of sending a "do:" message to nil. By the principle of
least surprise I would expect that it would do ...nothing, whereas here
it tries later sending the "update" method to it.
2. Why in lines 0027 and 0641 is the "do:" method received by
OrderedCollection and not UndefinedObject? Actually I can't see "do:" in
the hierarchy of UndefinedObject, so why does UndefinedObject not raise
a MNU for "do:" ?
The image with the error is available at...
http://blog.openinworld.com/miscfiles/DrGeo-updateDirtyCostumes-MNU-2011-10-22-btc.zip
The stack trace generated by the <Mail out bug report> menu item is
below. I wasn't sure how much of it to cut or leave, so I've left it all.
------------------8<-------------------------
00000001 22 October 2011 10:27:03 pm
00000002
00000003 VM: Win32 - IX86 - NT - Squeak3.10.2 of 11 February 2010
[latest update: #9314]
00000004 Image: Pharo1.3 [Latest update: #13293]
00000005
00000006 UndefinedObject(Object)>>doesNotUnderstand: #update
00000007 Receiver: nil
00000008 Arguments and temporary variables:
00000009 aMessage: update
00000010 exception: MessageNotUnderstood: receiver of
"update" is nil
00000011 resumeValue: nil
00000012 Receiver's instance variables:
00000013 nil
00000014
00000015 [:each | each update] in DrGeo>>updateDirtyCostumes
00000016 Receiver: a DrGeo
00000017 Arguments and temporary variables:
00000018 each: nil
00000019 Receiver's instance variables:
00000020 view: a DrGeoWindow(378798080)
00000021 domain: a DrGeoDomain
00000022 costumes: an OrderedCollection(a DrGPointCostume a
DrGPointCostume a DrGCircleC...etc...
00000023 undoneCostumes: an OrderedCollection(a
DrGPointCostume a DrGLineCostume a DrGLi...etc...
00000024 presenter: a DrGeoPresenter
00000025 isLoading: false
00000026
00000027 OrderedCollection>>do:
00000028 Receiver: an OrderedCollection(a DrGPointCostume a
DrGCircleCostume a DrGCircleCostume a DrGPointCos...etc...
00000029 Arguments and temporary variables:
00000030 aBlock: [:each | each update]
00000031 index: 10
00000032 Receiver's instance variables:
00000033 array: an Array(a DrGPointCostume a
DrGCircleCostume a DrGCircleCostume a DrGPo...etc...
00000034 firstIndex: 1
00000035 lastIndex: 11
00000036
00000037 DrGeo>>updateDirtyCostumes
00000038 Receiver: a DrGeo
00000039 Arguments and temporary variables:
00000040
00000041 Receiver's instance variables:
00000042 view: a DrGeoWindow(378798080)
00000043 domain: a DrGeoDomain
00000044 costumes: an OrderedCollection(a DrGPointCostume a
DrGPointCostume a DrGCircleC...etc...
00000045 undoneCostumes: an OrderedCollection(a
DrGPointCostume a DrGLineCostume a DrGLi...etc...
00000046 presenter: a DrGeoPresenter
00000047 isLoading: false
00000048
00000049 WeakMessageSend>>value
00000050 Receiver: WeakMessageSend(#updateDirtyCostumes -> a DrGeo)
00000051 Arguments and temporary variables:
00000052
00000053 Receiver's instance variables:
00000054 selector: #updateDirtyCostumes
00000055 shouldBeNil: #()
00000056 arguments: a WeakArray()
00000057
00000058 DrGeoDomain(Object)>>triggerEvent:
00000059 Receiver: a DrGeoDomain
00000060 Arguments and temporary variables:
00000061 anEventSelector: #updatedDirtyItems
00000062 Receiver's instance variables:
00000063 dependents: a DependentsArray(a DrGeoWindow(378798080))
00000064 factory: a DrGMathItemFactory
00000065 cmdManager: a DrGCommandManager
00000066 actionMap: an
IdentityDictionary(#groupCostumes->WeakMessageSend(#groupCostumes...etc...
00000067
00000068 DrGeoDomain>>updateDirty:
00000069 Receiver: a DrGeoDomain
00000070 Arguments and temporary variables:
00000071 mathItems: an OrderedCollection(a DrGPointFreeItem
a DrGCircle2ptsItem a DrGCir...etc...
00000072 Receiver's instance variables:
00000073 dependents: a DependentsArray(a DrGeoWindow(378798080))
00000074 factory: a DrGMathItemFactory
00000075 cmdManager: a DrGCommandManager
00000076 actionMap: an
IdentityDictionary(#groupCostumes->WeakMessageSend(#groupCostumes...etc...
00000077
00000078 DrGeoDomain>>moveEvent:inDirection:withDirty:
00000079 Receiver: a DrGeoDomain
00000080 Arguments and temporary variables:
00000081 aMathItem: a DrGPointFreeItem
00000082 aPoint: 0.9705882352941176@ -1.0588235294117647
00000083 mathItems: an OrderedCollection(a DrGPointFreeItem
a DrGCircle2ptsItem a DrGCir...etc...
00000084 Receiver's instance variables:
00000085 dependents: a DependentsArray(a DrGeoWindow(378798080))
00000086 factory: a DrGMathItemFactory
00000087 cmdManager: a DrGCommandManager
00000088 actionMap: an
IdentityDictionary(#groupCostumes->WeakMessageSend(#groupCostumes...etc...
00000089
00000090 DrGSelectToolStateDragged>>handleMouseAt:
00000091 Receiver: a DrGSelectToolStateDragged
00000092 Arguments and temporary variables:
00000093 aPoint: 368@255
00000094 griddedPoint: 368@255
00000095 Receiver's instance variables:
00000096 context: a DrGSelectTool
00000097
00000098 DrGSelectTool(DrGDynamicTool)>>handleMouseAt:
00000099 Receiver: a DrGSelectTool
00000100 Arguments and temporary variables:
00000101 aPoint: 368@255
00000102 Receiver's instance variables:
00000103 state: a DrGSelectToolStateNeutral
00000104 presenter: a DrGeoPresenter
00000105 spot: nil
00000106 last: nil
00000107 costume: nil
00000108 mathItemUnderMouse: nil
00000109 start: nil
00000110 mathItems: nil
00000111 costumes: nil
00000112
00000113 DrGDrawable>>mouseMove:
00000114 Receiver: a DrGDrawable(1072168960)
00000115 Arguments and temporary variables:
00000116 evt: [367@253 368@255 mouseMove red 191104532 nil]
00000117 Receiver's instance variables:
00000118 bounds: 5@105 corner: 1184@640
00000119 owner: a DrGeoWindow(378798080)
00000120 submorphs: an Array(a DrGLabelMorph(121372672)' ' a
DrGLabelMorph(20709376)'a' ...etc...
00000121 fullBounds: 5@105 corner: 1184@640
00000122 color: Color white
00000123 extension: a MorphExtension (1037565952) [locked]
[other: (dragEnabled -> tru...etc...
00000124 borderWidth: 0
00000125 borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
00000126 backgroundMorph: nil
00000127 worldState: nil
00000128 griddingOn: nil
00000129 balloonTarget: a RectangleMorph(769392640)
00000130 tipOn: true
00000131 selection: nil
00000132 app: a DrGeo
00000133 ox: 0.0
00000134 oy: 0.0
00000135 scale: 34.0
00000136
00000137 DrGDrawable>>handleMouseMove:
00000138 Receiver: a DrGDrawable(1072168960)
00000139 Arguments and temporary variables:
00000140 anEvent: [367@253 368@255 mouseMove red 191104532 nil]
00000141 Receiver's instance variables:
00000142 bounds: 5@105 corner: 1184@640
00000143 owner: a DrGeoWindow(378798080)
00000144 submorphs: an Array(a DrGLabelMorph(121372672)' ' a
DrGLabelMorph(20709376)'a' ...etc...
00000145 fullBounds: 5@105 corner: 1184@640
00000146 color: Color white
00000147 extension: a MorphExtension (1037565952) [locked]
[other: (dragEnabled -> tru...etc...
00000148 borderWidth: 0
00000149 borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
00000150 backgroundMorph: nil
00000151 worldState: nil
00000152 griddingOn: nil
00000153 balloonTarget: a RectangleMorph(769392640)
00000154 tipOn: true
00000155 selection: nil
00000156 app: a DrGeo
00000157 ox: 0.0
00000158 oy: 0.0
00000159 scale: 34.0
00000160
00000161 MouseMoveEvent>>sentTo:
00000162 Receiver: [367@253 368@255 mouseMove red 191104532 nil]
00000163 Arguments and temporary variables:
00000164 anObject: a DrGDrawable(1072168960)
00000165 Receiver's instance variables:
00000166 timeStamp: 191104532
00000167 source: a HandMorph(843055104)
00000168 windowIndex: nil
00000169 type: #mouseMove
00000170 buttons: 4
00000171 position: 368@255
00000172 handler: nil
00000173 wasHandled: false
00000174 startPoint: 367@253
00000175 trail: {(368@254). (368@255)}
00000176
00000177 DrGDrawable(Morph)>>handleEvent:
00000178 Receiver: a DrGDrawable(1072168960)
00000179 Arguments and temporary variables:
00000180 anEvent: [367@253 368@255 mouseMove red 191104532 nil]
00000181 Receiver's instance variables:
00000182 bounds: 5@105 corner: 1184@640
00000183 owner: a DrGeoWindow(378798080)
00000184 submorphs: an Array(a DrGLabelMorph(121372672)' ' a
DrGLabelMorph(20709376)'a' ...etc...
00000185 fullBounds: 5@105 corner: 1184@640
00000186 color: Color white
00000187 extension: a MorphExtension (1037565952) [locked]
[other: (dragEnabled -> tru...etc...
00000188 borderWidth: 0
00000189 borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
00000190 backgroundMorph: nil
00000191 worldState: nil
00000192 griddingOn: nil
00000193 balloonTarget: a RectangleMorph(769392640)
00000194 tipOn: true
00000195 selection: nil
00000196 app: a DrGeo
00000197 ox: 0.0
00000198 oy: 0.0
00000199 scale: 34.0
00000200
00000201 DrGDrawable(Morph)>>handleFocusEvent:
00000202 Receiver: a DrGDrawable(1072168960)
00000203 Arguments and temporary variables:
00000204 anEvent: [367@253 368@255 mouseMove red 191104532 nil]
00000205 Receiver's instance variables:
00000206 bounds: 5@105 corner: 1184@640
00000207 owner: a DrGeoWindow(378798080)
00000208 submorphs: an Array(a DrGLabelMorph(121372672)' ' a
DrGLabelMorph(20709376)'a' ...etc...
00000209 fullBounds: 5@105 corner: 1184@640
00000210 color: Color white
00000211 extension: a MorphExtension (1037565952) [locked]
[other: (dragEnabled -> tru...etc...
00000212 borderWidth: 0
00000213 borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
00000214 backgroundMorph: nil
00000215 worldState: nil
00000216 griddingOn: nil
00000217 balloonTarget: a RectangleMorph(769392640)
00000218 tipOn: true
00000219 selection: nil
00000220 app: a DrGeo
00000221 ox: 0.0
00000222 oy: 0.0
00000223 scale: 34.0
00000224
00000225 [ActiveHand := self.
00000226 ActiveEvent := anEvent.
00000227 result := focusHolder
00000228 handleFocusEvent: (anEvent
00000229 transformedBy: (focusHolder
transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
00000230 Receiver: a HandMorph(843055104)
00000231 Arguments and temporary variables:
00000232 anEvent: [367@253 368@255 mouseMove red 191104532 nil]
00000233 focusHolder: a DrGDrawable(1072168960)
00000234 result: #(nil)
00000235 Receiver's instance variables:
00000236 bounds: 736@567 corner: 752@583
00000237 owner: a PasteUpMorph(425197568) [world]
00000238 submorphs: #()
00000239 fullBounds: 736@567 corner: 752@583
00000240 color: Color blue
00000241 extension: a MorphExtension (141295616)
[eventHandler = an EventHandler]
00000242 mouseFocus: nil
00000243 keyboardFocus: nil
00000244 eventListeners: nil
00000245 mouseListeners: nil
00000246 keyboardListeners: nil
00000247 mouseClickState: nil
00000248 mouseOverHandler: a MouseOverHandler
00000249 lastMouseEvent: [736@567 mouseUp 191499012 nil]
00000250 targetOffset: 148@17
00000251 damageRecorder: a DamageRecorder
00000252 cacheCanvas: nil
00000253 cachedCanvasHasHoles: true
00000254 temporaryCursor: nil
00000255 temporaryCursorOffset: nil
00000256 hardwareCursor: nil
00000257 hasChanged: true
00000258 savedPatch: nil
00000259 userInitials: ''
00000260 lastEventBuffer: #(1 191499012 736 567 0 0 0 1)
00000261 lastKeyScanCode: 85
00000262 combinedChar: nil
00000263
00000264 [aBlock value] in PasteUpMorph>>becomeActiveDuring:
00000265 Receiver: a PasteUpMorph(425197568) [world]
00000266 Arguments and temporary variables:
00000267 aBlock: [ActiveHand := self.
00000268 ActiveEvent := anEvent.
00000269 result := focusHolder
00000270 ...etc...
00000271 Receiver's instance variables:
00000272 bounds: 0@0 corner: 1264@722
00000273 owner: nil
00000274 submorphs: an Array(a TaskbarMorph(984088576) a
SystemWindow(552599552) a DrGeo...etc...
00000275 fullBounds: nil
00000276 color: (Color r: 0.97 g: 0.98 b: 1.0)
00000277 extension: a MorphExtension (666632192)
[eventHandler = an EventHandler] [othe...etc...
00000278 borderWidth: 0
00000279 borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
00000280 backgroundMorph: nil
00000281 worldState: a WorldState
00000282 griddingOn: nil
00000283
00000284 BlockClosure>>on:do:
00000285 Receiver: [aBlock value]
00000286 Arguments and temporary variables:
00000287 exception: Error
00000288 handlerAction: [:ex |
00000289 ActiveWorld := priorWorld.
00000290 ActiveEvent := priorEvent.
00000291 ...etc...
00000292 handlerActive: false
00000293 Receiver's instance variables:
00000294 outerContext: PasteUpMorph>>becomeActiveDuring:
00000295 startpc: 67
00000296 numArgs: 0
00000297
00000298 PasteUpMorph>>becomeActiveDuring:
00000299 Receiver: a PasteUpMorph(425197568) [world]
00000300 Arguments and temporary variables:
00000301 aBlock: [ActiveHand := self.
00000302 ActiveEvent := anEvent.
00000303 result := focusHolder
00000304 ...etc...
00000305 priorWorld: a PasteUpMorph(425197568) [world]
00000306 priorHand: a HandMorph(843055104)
00000307 priorEvent: [367@253 mouseOver red nil nil]
00000308 Receiver's instance variables:
00000309 bounds: 0@0 corner: 1264@722
00000310 owner: nil
00000311 submorphs: an Array(a TaskbarMorph(984088576) a
SystemWindow(552599552) a DrGeo...etc...
00000312 fullBounds: nil
00000313 color: (Color r: 0.97 g: 0.98 b: 1.0)
00000314 extension: a MorphExtension (666632192)
[eventHandler = an EventHandler] [othe...etc...
00000315 borderWidth: 0
00000316 borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
00000317 backgroundMorph: nil
00000318 worldState: a WorldState
00000319 griddingOn: nil
00000320
00000321 HandMorph>>sendFocusEvent:to:clear:
00000322 Receiver: a HandMorph(843055104)
00000323 Arguments and temporary variables:
00000324 anEvent: [367@253 368@255 mouseMove red 191104532 nil]
00000325 focusHolder: a DrGDrawable(1072168960)
00000326 aBlock: [self mouseFocus: nil]
00000327 w: a PasteUpMorph(425197568) [world]
00000328 result: #(nil)
00000329 Receiver's instance variables:
00000330 bounds: 736@567 corner: 752@583
00000331 owner: a PasteUpMorph(425197568) [world]
00000332 submorphs: #()
00000333 fullBounds: 736@567 corner: 752@583
00000334 color: Color blue
00000335 extension: a MorphExtension (141295616)
[eventHandler = an EventHandler]
00000336 mouseFocus: nil
00000337 keyboardFocus: nil
00000338 eventListeners: nil
00000339 mouseListeners: nil
00000340 keyboardListeners: nil
00000341 mouseClickState: nil
00000342 mouseOverHandler: a MouseOverHandler
00000343 lastMouseEvent: [736@567 mouseUp 191499012 nil]
00000344 targetOffset: 148@17
00000345 damageRecorder: a DamageRecorder
00000346 cacheCanvas: nil
00000347 cachedCanvasHasHoles: true
00000348 temporaryCursor: nil
00000349 temporaryCursorOffset: nil
00000350 hardwareCursor: nil
00000351 hasChanged: true
00000352 savedPatch: nil
00000353 userInitials: ''
00000354 lastEventBuffer: #(1 191499012 736 567 0 0 0 1)
00000355 lastKeyScanCode: 85
00000356 combinedChar: nil
00000357
00000358 HandMorph>>sendEvent:focus:clear:
00000359 Receiver: a HandMorph(843055104)
00000360 Arguments and temporary variables:
00000361 anEvent: [367@253 368@255 mouseMove red 191104532 nil]
00000362 focusHolder: a DrGDrawable(1072168960)
00000363 aBlock: [self mouseFocus: nil]
00000364 result: nil
00000365 Receiver's instance variables:
00000366 bounds: 736@567 corner: 752@583
00000367 owner: a PasteUpMorph(425197568) [world]
00000368 submorphs: #()
00000369 fullBounds: 736@567 corner: 752@583
00000370 color: Color blue
00000371 extension: a MorphExtension (141295616)
[eventHandler = an EventHandler]
00000372 mouseFocus: nil
00000373 keyboardFocus: nil
00000374 eventListeners: nil
00000375 mouseListeners: nil
00000376 keyboardListeners: nil
00000377 mouseClickState: nil
00000378 mouseOverHandler: a MouseOverHandler
00000379 lastMouseEvent: [736@567 mouseUp 191499012 nil]
00000380 targetOffset: 148@17
00000381 damageRecorder: a DamageRecorder
00000382 cacheCanvas: nil
00000383 cachedCanvasHasHoles: true
00000384 temporaryCursor: nil
00000385 temporaryCursorOffset: nil
00000386 hardwareCursor: nil
00000387 hasChanged: true
00000388 savedPatch: nil
00000389 userInitials: ''
00000390 lastEventBuffer: #(1 191499012 736 567 0 0 0 1)
00000391 lastKeyScanCode: 85
00000392 combinedChar: nil
00000393
00000394 HandMorph>>sendMouseEvent:
00000395 Receiver: a HandMorph(843055104)
00000396 Arguments and temporary variables:
00000397 anEvent: [367@253 368@255 mouseMove red 191104532 nil]
00000398 Receiver's instance variables:
00000399 bounds: 736@567 corner: 752@583
00000400 owner: a PasteUpMorph(425197568) [world]
00000401 submorphs: #()
00000402 fullBounds: 736@567 corner: 752@583
00000403 color: Color blue
00000404 extension: a MorphExtension (141295616)
[eventHandler = an EventHandler]
00000405 mouseFocus: nil
00000406 keyboardFocus: nil
00000407 eventListeners: nil
00000408 mouseListeners: nil
00000409 keyboardListeners: nil
00000410 mouseClickState: nil
00000411 mouseOverHandler: a MouseOverHandler
00000412 lastMouseEvent: [736@567 mouseUp 191499012 nil]
00000413 targetOffset: 148@17
00000414 damageRecorder: a DamageRecorder
00000415 cacheCanvas: nil
00000416 cachedCanvasHasHoles: true
00000417 temporaryCursor: nil
00000418 temporaryCursorOffset: nil
00000419 hardwareCursor: nil
00000420 hasChanged: true
00000421 savedPatch: nil
00000422 userInitials: ''
00000423 lastEventBuffer: #(1 191499012 736 567 0 0 0 1)
00000424 lastKeyScanCode: 85
00000425 combinedChar: nil
00000426
00000427 HandMorph>>handleEvent:
00000428 Receiver: a HandMorph(843055104)
00000429 Arguments and temporary variables:
00000430 anEvent: [367@253 368@255 mouseMove red 191104532 nil]
00000431 evt: [367@253 368@255 mouseMove red 191104532 nil]
00000432 ofs: nil
00000433 Receiver's instance variables:
00000434 bounds: 736@567 corner: 752@583
00000435 owner: a PasteUpMorph(425197568) [world]
00000436 submorphs: #()
00000437 fullBounds: 736@567 corner: 752@583
00000438 color: Color blue
00000439 extension: a MorphExtension (141295616)
[eventHandler = an EventHandler]
00000440 mouseFocus: nil
00000441 keyboardFocus: nil
00000442 eventListeners: nil
00000443 mouseListeners: nil
00000444 keyboardListeners: nil
00000445 mouseClickState: nil
00000446 mouseOverHandler: a MouseOverHandler
00000447 lastMouseEvent: [736@567 mouseUp 191499012 nil]
00000448 targetOffset: 148@17
00000449 damageRecorder: a DamageRecorder
00000450 cacheCanvas: nil
00000451 cachedCanvasHasHoles: true
00000452 temporaryCursor: nil
00000453 temporaryCursorOffset: nil
00000454 hardwareCursor: nil
00000455 hasChanged: true
00000456 savedPatch: nil
00000457 userInitials: ''
00000458 lastEventBuffer: #(1 191499012 736 567 0 0 0 1)
00000459 lastKeyScanCode: 85
00000460 combinedChar: nil
00000461
00000462 HandMorph>>processEvents
00000463 Receiver: a HandMorph(843055104)
00000464 Arguments and temporary variables:
00000465 evt: [367@253 368@255 mouseMove red 191104532 nil]
00000466 evtBuf: #(1 191104532 368 254 4 0 0 1)
00000467 type: 1
00000468 hadAny: false
00000469 Receiver's instance variables:
00000470 bounds: 736@567 corner: 752@583
00000471 owner: a PasteUpMorph(425197568) [world]
00000472 submorphs: #()
00000473 fullBounds: 736@567 corner: 752@583
00000474 color: Color blue
00000475 extension: a MorphExtension (141295616)
[eventHandler = an EventHandler]
00000476 mouseFocus: nil
00000477 keyboardFocus: nil
00000478 eventListeners: nil
00000479 mouseListeners: nil
00000480 keyboardListeners: nil
00000481 mouseClickState: nil
00000482 mouseOverHandler: a MouseOverHandler
00000483 lastMouseEvent: [736@567 mouseUp 191499012 nil]
00000484 targetOffset: 148@17
00000485 damageRecorder: a DamageRecorder
00000486 cacheCanvas: nil
00000487 cachedCanvasHasHoles: true
00000488 temporaryCursor: nil
00000489 temporaryCursorOffset: nil
00000490 hardwareCursor: nil
00000491 hasChanged: true
00000492 savedPatch: nil
00000493 userInitials: ''
00000494 lastEventBuffer: #(1 191499012 736 567 0 0 0 1)
00000495 lastKeyScanCode: 85
00000496 combinedChar: nil
00000497
00000498 [:h |
00000499 ActiveHand := h.
00000500 h processEvents.
00000501 ActiveHand := nil] in WorldState>>doOneCycleNowFor:
00000502 Receiver: a WorldState
00000503 Arguments and temporary variables:
00000504 h: a HandMorph(843055104)
00000505 Receiver's instance variables:
00000506 hands: an Array(a HandMorph(843055104))
00000507 viewBox: 0@0 corner: 1264@722
00000508 canvas: a FormCanvas on: DisplayScreen(1264x722x32)
00000509 damageRecorder: a DamageRecorder
00000510 stepList: a Heap(StepMessage(#stepAt: -> a
ToolbarDropListMorph(496762880))(a T...etc...
00000511 lastStepTime: 191499016
00000512 lastStepMessage: nil
00000513 lastCycleTime: 191499036
00000514 alarms: a Heap()
00000515 lastAlarmTime: 191499016
00000516 menuBuilder: nil
00000517
00000518 Array(SequenceableCollection)>>do:
00000519 Receiver: an Array(a HandMorph(843055104))
00000520 Arguments and temporary variables:
00000521 aBlock: [:h |
00000522 ActiveHand := h.
00000523 h processEvents.
00000524 ActiveHand := nil]
00000525 index: 1
00000526 indexLimiT: 1
00000527 Receiver's instance variables:
00000528 an Array(a HandMorph(843055104))
00000529
00000530 WorldState>>handsDo:
00000531 Receiver: a WorldState
00000532 Arguments and temporary variables:
00000533 aBlock: [:h |
00000534 ActiveHand := h.
00000535 h processEvents.
00000536 ActiveHand := nil]
00000537 Receiver's instance variables:
00000538 hands: an Array(a HandMorph(843055104))
00000539 viewBox: 0@0 corner: 1264@722
00000540 canvas: a FormCanvas on: DisplayScreen(1264x722x32)
00000541 damageRecorder: a DamageRecorder
00000542 stepList: a Heap(StepMessage(#stepAt: -> a
ToolbarDropListMorph(496762880))(a T...etc...
00000543 lastStepTime: 191499016
00000544 lastStepMessage: nil
00000545 lastCycleTime: 191499036
00000546 alarms: a Heap()
00000547 lastAlarmTime: 191499016
00000548 menuBuilder: nil
00000549
00000550 WorldState>>doOneCycleNowFor:
00000551 Receiver: a WorldState
00000552 Arguments and temporary variables:
00000553 aWorld: a PasteUpMorph(425197568) [world]
00000554 Receiver's instance variables:
00000555 hands: an Array(a HandMorph(843055104))
00000556 viewBox: 0@0 corner: 1264@722
00000557 canvas: a FormCanvas on: DisplayScreen(1264x722x32)
00000558 damageRecorder: a DamageRecorder
00000559 stepList: a Heap(StepMessage(#stepAt: -> a
ToolbarDropListMorph(496762880))(a T...etc...
00000560 lastStepTime: 191499016
00000561 lastStepMessage: nil
00000562 lastCycleTime: 191499036
00000563 alarms: a Heap()
00000564 lastAlarmTime: 191499016
00000565 menuBuilder: nil
00000566
00000567 WorldState>>doOneCycleFor:
00000568 Receiver: a WorldState
00000569 Arguments and temporary variables:
00000570 aWorld: a PasteUpMorph(425197568) [world]
00000571 Receiver's instance variables:
00000572 hands: an Array(a HandMorph(843055104))
00000573 viewBox: 0@0 corner: 1264@722
00000574 canvas: a FormCanvas on: DisplayScreen(1264x722x32)
00000575 damageRecorder: a DamageRecorder
00000576 stepList: a Heap(StepMessage(#stepAt: -> a
ToolbarDropListMorph(496762880))(a T...etc...
00000577 lastStepTime: 191499016
00000578 lastStepMessage: nil
00000579 lastCycleTime: 191499036
00000580 alarms: a Heap()
00000581 lastAlarmTime: 191499016
00000582 menuBuilder: nil
00000583
00000584 PasteUpMorph>>doOneCycle
00000585 Receiver: a PasteUpMorph(425197568) [world]
00000586 Arguments and temporary variables:
00000587
00000588 Receiver's instance variables:
00000589 bounds: 0@0 corner: 1264@722
00000590 owner: nil
00000591 submorphs: an Array(a TaskbarMorph(984088576) a
SystemWindow(552599552) a DrGeo...etc...
00000592 fullBounds: nil
00000593 color: (Color r: 0.97 g: 0.98 b: 1.0)
00000594 extension: a MorphExtension (666632192)
[eventHandler = an EventHandler] [othe...etc...
00000595 borderWidth: 0
00000596 borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
00000597 backgroundMorph: nil
00000598 worldState: a WorldState
00000599 griddingOn: nil
00000600
00000601 [[World doOneCycle.
00000602 Processor yield.
00000603 false] whileFalse.
00000604 nil] in Project class>>spawnNewProcess
00000605 Receiver: Project
00000606 Arguments and temporary variables:
00000607
00000608 Receiver's instance variables:
00000609 superclass: Model
00000610 methodDict: a MethodDictionary()
00000611 format: 132
00000612 instanceVariables: nil
00000613 organization: ('as yet unclassified')
00000614
00000615 subclasses: nil
00000616 name: #Project
00000617 classPool: a Dictionary(#UIProcess->a Process in nil )
00000618 sharedPools: nil
00000619 environment: a SystemDictionary(lots of globals)
00000620 category: #'System-Support'
00000621 traitComposition: {}
00000622 localSelectors: nil
00000623
00000624 [self value.
00000625 Processor terminateActive] in BlockClosure>>newProcess
00000626 Receiver: [[World doOneCycle.
00000627 Processor yield.
00000628 false] whileFalse.
00000629 nil]
00000630 Arguments and temporary variables:
00000631
00000632 Receiver's instance variables:
00000633 outerContext: Project class>>spawnNewProcess
00000634 startpc: 57
00000635 numArgs: 0
00000636
00000637
00000638 --- The full stack ---
00000639 UndefinedObject(Object)>>doesNotUnderstand: #update
00000640 [:each | each update] in DrGeo>>updateDirtyCostumes
00000641 OrderedCollection>>do:
00000642 DrGeo>>updateDirtyCostumes
00000643 WeakMessageSend>>value
00000644 DrGeoDomain(Object)>>triggerEvent:
00000645 DrGeoDomain>>updateDirty:
00000646 DrGeoDomain>>moveEvent:inDirection:withDirty:
00000647 DrGSelectToolStateDragged>>handleMouseAt:
00000648 DrGSelectTool(DrGDynamicTool)>>handleMouseAt:
00000649 DrGDrawable>>mouseMove:
00000650 DrGDrawable>>handleMouseMove:
00000651 MouseMoveEvent>>sentTo:
00000652 DrGDrawable(Morph)>>handleEvent:
00000653 DrGDrawable(Morph)>>handleFocusEvent:
00000654 [ActiveHand := self.
00000655 ActiveEvent := anEvent.
00000656 result := focusHolder
00000657 handleFocusEvent: (anEvent
00000658 transformedBy: (focusHolder
transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
00000659 [aBlock value] in PasteUpMorph>>becomeActiveDuring:
00000660 BlockClosure>>on:do:
00000661 PasteUpMorph>>becomeActiveDuring:
00000662 HandMorph>>sendFocusEvent:to:clear:
00000663 HandMorph>>sendEvent:focus:clear:
00000664 HandMorph>>sendMouseEvent:
00000665 HandMorph>>handleEvent:
00000666 HandMorph>>processEvents
00000667 [:h |
00000668 ActiveHand := h.
00000669 h processEvents.
00000670 ActiveHand := nil] in WorldState>>doOneCycleNowFor:
00000671 Array(SequenceableCollection)>>do:
00000672 WorldState>>handsDo:
00000673 WorldState>>doOneCycleNowFor:
00000674 WorldState>>doOneCycleFor:
00000675 PasteUpMorph>>doOneCycle
00000676 [[World doOneCycle.
00000677 Processor yield.
00000678 false] whileFalse.
00000679 nil] in Project class>>spawnNewProcess
00000680 [self value.
00000681 Processor terminateActive] in BlockClosure>>newProcess