[BUG] Can't mouse (or do anything!) in new morphic project!

Scott Wallace scott.wallace at squeakland.org
Mon Nov 26 09:30:03 UTC 2001


Craig,

Thank you.  In fact, your fix did come through, and I vaguely recall 
noticing it at the time, but it slipped through the cracks, I think, 
because nearly everyone who creates new morphic projects does so from 
within projects that have flaps or the navigator or both showing, so 
almost no one was getting bit by the bug.

Looking back, it emerges that this bug dates back at least to last 
February -- I've seen it in a system updated only through #3617!  The 
method in question was last previously touched in September 2000 
during the big event remake, and probably the bug dates back to then 
and as such has quietly been with us more than a year.

The bug suddenly became much more widely seen recently because it got 
revealed by a new bug introduced in update 4522MorphicInMVCFixes-di, 
to the effect that   flaps were getting suppressed for all newborn 
projects, morphic or not.  Thus, newborn morphic projects were devoid 
of morphs upon entry -- the very condition which manifests the bug.

I've just published, in update 4546projEnter-sw, a fix for the bug in 
4522, and I've also just published, in update 4547viewBoxFix-crl, 
your (Craig's) fix.  These updates will hopefully be available 
externally shortly.

Thanks for clearing this up, Craig!

   --  Scott

At 12:16 AM -0800 11/26/01, Craig Latta wrote:
>Hi--
>
>	I submitted a fix for this on 5 November 2001 (and repeated below). Did
>it not come through to the list?
>
>
>	thanks,
>
>-C
>
>***
>
>Subject: [FIX] world installation (was "[BUG] New projects need
>kickstarting")
>Date: Mon, 05 Nov 2001 23:00:29 -0800
>From: Craig Latta <Craig.Latta at NetJam.ORG>
>Organization: the NetJam project
>To: "David N. Smith (IBM)" <dnsmith at watson.ibm.com>
>CC: squeak-dev at lists.squeakfoundation.org
>
>
>         Well, it seems that the problem is (the new world)<<fullBounds
>not getting set correctly, so all mouse-down events are rejected in
>MorphicEventDispatcher>>dispatchMouseDown:with: ("(aMorph fullBounds
>containsPoint: globalPt) ifFalse:[^#rejected]"). After that point,
>submorphs are given a chance to handle events, but there aren't any
>submorphs in this situation.
>
>         One fix is to set <<fullBounds when setting <<bounds in
>PasteUpMorph>>viewBox: (which is run by PasteUpMorph>>install when
>entering a new Morphic project). The attached does this.
>
>
>         thanks,
>
>-C
>
>--
>
>'From Squeak3.2alpha of 26 October 2001 [latest update: #4469] on 5
>November 2001 at
>10:58:29 pm'!
>
>!PasteUpMorph methodsFor: 'project state' stamp: 'crl 11/5/2001 22:57'!
>viewBox: newViewBox
>         "I am now displayed within newViewBox; react."
>
>         (self viewBox == nil or: [self viewBox extent ~= newViewBox
>extent]) ifTrue:
>[worldState canvas: nil].
>
>         worldState viewBox: newViewBox.
>         super position: newViewBox topLeft.
>         fullBounds _ bounds _ newViewBox.
>
>         "Paragraph problem workaround; clear selections to avoid screen
>droppings."
>         self flag: #arNote.             "Probably unnecessary"
>         worldState handsDo: [:hand | hand releaseKeyboardFocus].
>         self fullRepaintNeeded! !
>
>--
>Craig Latta
>composer and computer scientist
>craig.latta at netjam.org
>www.netjam.org
>crl at watson.ibm.com
>Smalltalkers do: [:it | All with: Class, (And love: it)]





More information about the Squeak-dev mailing list