[squeak-dev] Event Theatre in Object Catalog sparks DNU in 6.0-trunk

Bob Arning arning315 at comcast.net
Sun Feb 18 11:58:14 UTC 2018


Except that #outermostWorldMorph for the Worldlet will return the World 
where the <worldState> will be fine.


On 2/17/18 10:54 PM, David T. Lewis wrote:
> Thanks Bob,
>
> I see now the deprecated method, but I think something else is going wrong.
> The original logic from privateOuterDisplayWorld is still present in the
> most recent version of PasteUpMorph>>displayWorld. But worldState is nil
> when this is called, and that seems to be the cause of the error.
>
> I can't follow up on it tonight, but I think I'll try to dig back through
> some earlier versions of the trunk image and see if I can figure out where
> it started failing.
>
> Dave
>
>
> On Sat, Feb 17, 2018 at 09:36:25PM -0500, Bob Arning wrote:
>> PasteUpMorph used to say:
>>
>>
>> displayWorld
>>
>> ?????? self outermostWorldMorph privateOuterDisplayWorld
>>
>>
>> which would work if you remove the "self deprecated" from
>> #privateOuterDisplayWorld
>>
>>
>> On 2/17/18 5:05 PM, David T. Lewis wrote:
>>> This is an interesting one.
>>>
>>> We have EventRecordingSpace class>>newStandalone that is trying to create
>>> a new
>>> instance "capable of standing by itself as a usable morph."
>>>
>>> This makes an instance with a contentArea that is a Worldlet. Presumabaly
>>> that
>>> Wordlet is supposed to be and "independent" thing too. But then we get to
>>> Worldlet(PasteUpMorph)>>displayWorld, in which the Worldlet tries to use
>>> its
>>> worldState to display submorphs, but it has no worldState, so boom.
>>>
>>> It may be necessary to look at an older image to figure out where this is
>>> going wrong.
>>>
>>> Dave
>>>
>>> p.s. Tim, thanks for posting this question :-)
>>>
>>>
>>> On Sat, Feb 17, 2018 at 11:27:53AM -0800, Tm Jhnsn wrote:
>>>> Hi all,
>>>>
>>>> I am really enjoying the latest versions of Squeak.
>>>>
>>>> In trying out 6.0-alpha with trunk updates, I found a DNU when doing
>>>> normal Morphic tasks.  Sorry if this has already been reported.
>>>>
>>>> Should be repeatable:
>>>>
>>>> - open fresh image
>>>> - make flaps appear (open a new Morphic project, or World menu -> flaps
>>>> -> show shared tabs)
>>>> - click Widgets
>>>> - drag out an Object Catalog
>>>> - click Multimedia
>>>>
>>>> Something is going on within the Event Theatre item's initialization.
>>>>
>>>> Seems to be that the "tutorial" Event Theatre Worldlet has a worldState
>>>> instance variable which is nil, but it is being sent
>>>> #displayWorld:submorphs: by PasteUpMorph>>#displayWorld.  Interestingly,
>>>> Worldlet's class comments specifically suggest instances don't have their
>>>> own worldState.  :D
>>>>
>>>> Other buttons in the Object Catalog did not result in a DNU for me.
>>>>
>>>> ...stack follows:
>>>>
>>>> UndefinedObject(Object)>>doesNotUnderstand: #displayWorld:submorphs:
>>>> Worldlet(PasteUpMorph)>>displayWorld
>>>> [] in Worldlet>>installFlaps
>>>> OrderedCollection>>do:
>>>> Worldlet>>installFlaps
>>>> EventRecordingSpace>>addSuppliesFlap
>>>> EventRecordingSpace>>initialize
>>>> EventRecordingSpace(Morph)>>initializeToStandAlone
>>>> EventRecordingSpace class(Morph class)>>newStandAlone
>>>> PartsBin class>>thumbnailForQuad:color:
>>>> [] in PartsBin>>listDirection:quadList:buttonClass:
>>>> OrderedCollection>>do:
>>>> PartsBin>>listDirection:quadList:buttonClass:
>>>> PartsBin>>listDirection:quadList:
>>>> ObjectsTool>>installQuads:fromButton:
>>>> [] in ObjectsTool>>showCategory:fromButton:
>>>> BlockClosure>>ensure:
>>>> CursorWithMask(Cursor)>>showWhile:
>>>> ObjectsTool>>showCategory:fromButton:
>>>> SimpleButtonMorph>>doButtonAction
>>>> SimpleButtonMorph>>mouseDown:
>>>> SimpleButtonMorph(Morph)>>handleMouseDown:
>>>> MouseButtonEvent>>sentTo:
>>>> SimpleButtonMorph(Morph)>>handleEvent:
>>>> MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
>>>> [] in MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> BlockClosure>>ensure:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> SimpleButtonMorph(Morph)>>processEvent:using:
>>>> [] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
>>>> Array(SequenceableCollection)>>do:
>>>> AlignmentMorph(Morph)>>submorphsDo:
>>>> MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
>>>> MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
>>>> [] in MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> BlockClosure>>ensure:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> AlignmentMorph(Morph)>>processEvent:using:
>>>> [] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
>>>> Array(SequenceableCollection)>>do:
>>>> ObjectsTool(Morph)>>submorphsDo:
>>>> MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
>>>> MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
>>>> [] in MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> BlockClosure>>ensure:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> ObjectsTool(Morph)>>processEvent:using:
>>>> [] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
>>>> Array(SequenceableCollection)>>do:
>>>> PasteUpMorph(Morph)>>submorphsDo:
>>>> MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
>>>> MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
>>>> [] in MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> BlockClosure>>ensure:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> PasteUpMorph(Morph)>>processEvent:using:
>>>> [] in PasteUpMorph>>processEvent:using:
>>>> BlockClosure>>ensure:
>>>> PasteUpMorph>>processEvent:using:
>>>> PasteUpMorph(Morph)>>processEvent:
>>>> [] in [] in [] in HandMorph>>sendEvent:focus:clear:
>>>> BlockClosure>>ensure:
>>>> MouseButtonEvent(MorphicEvent)>>becomeActiveDuring:
>>>> [] in [] in HandMorph>>sendEvent:focus:clear:
>>>> BlockClosure>>ensure:
>>>> HandMorph>>becomeActiveDuring:
>>>> [] in HandMorph>>sendEvent:focus:clear:
>>>> BlockClosure>>ensure:
>>>> PasteUpMorph>>becomeActiveDuring:
>>>> HandMorph>>sendEvent:focus:clear:
>>>> HandMorph>>sendMouseEvent:
>>>> HandMorph>>handleEvent:
>>>> HandMorph>>processEvents
>>>> [] in WorldState>>doOneCycleNowFor:
>>>> Array(SequenceableCollection)>>do:
>>>> WorldState>>handsDo:
>>>> WorldState>>doOneCycleNowFor:
>>>> WorldState>>doOneCycleFor:
>>>> PasteUpMorph>>doOneCycle
>>>> [] in MorphicProject>>spawnNewProcess
>>>> [] in BlockClosure>>newProcess
>>>>
>>>>
>>>> Thanks,
>>>> Tim
>>>>
>>>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180218/364dfbfb/attachment.html>


More information about the Squeak-dev mailing list