[Pharo-project] [BUG]UndefinedObject(Object)>>doesNotUnderstand: #update

Ben Coman btc at openInWorld.com
Sat Oct 22 14:36:05 EDT 2011


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 at 255
00000094         griddedPoint:     368 at 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 at 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 at 253 368 at 255 mouseMove red 191104532 nil]
00000117     Receiver's instance variables:
00000118         bounds:     5 at 105 corner: 1184 at 640
00000119         owner:     a DrGeoWindow(378798080)
00000120         submorphs:     an Array(a DrGLabelMorph(121372672)' ' a 
DrGLabelMorph(20709376)'a' ...etc...
00000121         fullBounds:     5 at 105 corner: 1184 at 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 at 253 368 at 255 mouseMove red 191104532 nil]
00000141     Receiver's instance variables:
00000142         bounds:     5 at 105 corner: 1184 at 640
00000143         owner:     a DrGeoWindow(378798080)
00000144         submorphs:     an Array(a DrGLabelMorph(121372672)' ' a 
DrGLabelMorph(20709376)'a' ...etc...
00000145         fullBounds:     5 at 105 corner: 1184 at 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 at 253 368 at 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 at 255
00000172         handler:     nil
00000173         wasHandled:     false
00000174         startPoint:     367 at 253
00000175         trail:     {(368 at 254). (368 at 255)}
00000176
00000177 DrGDrawable(Morph)>>handleEvent:
00000178     Receiver: a DrGDrawable(1072168960)
00000179     Arguments and temporary variables:
00000180         anEvent:     [367 at 253 368 at 255 mouseMove red 191104532 nil]
00000181     Receiver's instance variables:
00000182         bounds:     5 at 105 corner: 1184 at 640
00000183         owner:     a DrGeoWindow(378798080)
00000184         submorphs:     an Array(a DrGLabelMorph(121372672)' ' a 
DrGLabelMorph(20709376)'a' ...etc...
00000185         fullBounds:     5 at 105 corner: 1184 at 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 at 253 368 at 255 mouseMove red 191104532 nil]
00000205     Receiver's instance variables:
00000206         bounds:     5 at 105 corner: 1184 at 640
00000207         owner:     a DrGeoWindow(378798080)
00000208         submorphs:     an Array(a DrGLabelMorph(121372672)' ' a 
DrGLabelMorph(20709376)'a' ...etc...
00000209         fullBounds:     5 at 105 corner: 1184 at 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 at 253 368 at 255 mouseMove red 191104532 nil]
00000233         focusHolder:     a DrGDrawable(1072168960)
00000234         result:     #(nil)
00000235     Receiver's instance variables:
00000236         bounds:     736 at 567 corner: 752 at 583
00000237         owner:     a PasteUpMorph(425197568) [world]
00000238         submorphs:     #()
00000239         fullBounds:     736 at 567 corner: 752 at 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 at 567 mouseUp 191499012 nil]
00000250         targetOffset:     148 at 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 at 0 corner: 1264 at 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 at 253 mouseOver red nil nil]
00000308     Receiver's instance variables:
00000309         bounds:     0 at 0 corner: 1264 at 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 at 253 368 at 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 at 567 corner: 752 at 583
00000331         owner:     a PasteUpMorph(425197568) [world]
00000332         submorphs:     #()
00000333         fullBounds:     736 at 567 corner: 752 at 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 at 567 mouseUp 191499012 nil]
00000344         targetOffset:     148 at 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 at 253 368 at 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 at 567 corner: 752 at 583
00000367         owner:     a PasteUpMorph(425197568) [world]
00000368         submorphs:     #()
00000369         fullBounds:     736 at 567 corner: 752 at 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 at 567 mouseUp 191499012 nil]
00000380         targetOffset:     148 at 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 at 253 368 at 255 mouseMove red 191104532 nil]
00000398     Receiver's instance variables:
00000399         bounds:     736 at 567 corner: 752 at 583
00000400         owner:     a PasteUpMorph(425197568) [world]
00000401         submorphs:     #()
00000402         fullBounds:     736 at 567 corner: 752 at 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 at 567 mouseUp 191499012 nil]
00000413         targetOffset:     148 at 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 at 253 368 at 255 mouseMove red 191104532 nil]
00000431         evt:     [367 at 253 368 at 255 mouseMove red 191104532 nil]
00000432         ofs:     nil
00000433     Receiver's instance variables:
00000434         bounds:     736 at 567 corner: 752 at 583
00000435         owner:     a PasteUpMorph(425197568) [world]
00000436         submorphs:     #()
00000437         fullBounds:     736 at 567 corner: 752 at 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 at 567 mouseUp 191499012 nil]
00000448         targetOffset:     148 at 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 at 253 368 at 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 at 567 corner: 752 at 583
00000471         owner:     a PasteUpMorph(425197568) [world]
00000472         submorphs:     #()
00000473         fullBounds:     736 at 567 corner: 752 at 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 at 567 mouseUp 191499012 nil]
00000484         targetOffset:     148 at 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 at 0 corner: 1264 at 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 at 0 corner: 1264 at 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 at 0 corner: 1264 at 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 at 0 corner: 1264 at 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 at 0 corner: 1264 at 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





More information about the Pharo-dev mailing list