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

David T. Lewis lewis at mail.msen.com
Sun Feb 18 03:54:35 UTC 2018


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
> >>
> >>
> 

> 



More information about the Squeak-dev mailing list