Those are good commits. (I just pulled them down to my image.)
> There are still several issues with flaps and rotation. Yes, but they are harder to invoke :) (I just locked up my image, preceded by two DNUs, by dragging the rotation handle of the About FlapTab.) Have fun! David p.s. impressed by the archaeology to track down the Squeak versions. A binary search? p.p.s. One of the walkbacks from the DNUs follows. Probably not very helpful, though I suspect another case of not walking up the owner chain correctly: MessageNotUnderstood: UndefinedObject>>degrees 7 February 2013 3:11:36 pm VM: Mac OS - a SmalltalkImage Image: etoys5.0 [latest update: #2409 (repo v1692 of 7 February 2013)] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Users/dcorking/Etoys/Etoys Trusted Dir /Users/dcorking/Etoys/.etoys Untrusted Dir /Users/dcorking/Etoys/Etoys UndefinedObject(Object)>>doesNotUnderstand: #degrees Receiver: nil Arguments and temporary variables: aMessage: degrees Receiver's instance variables: nil HaloMorph>>doRot:with: Receiver: a HaloMorph(1465) Arguments and temporary variables: evt: [21@228 28@228 mouseMove red 2234937] rotHandle: 3PButton(#flash 3388) degrees: 83.4943733543163 cmd: nil Receiver's instance variables: bounds: -7@-45 corner: 11@45 owner: a PasteUpMorph<world>(773) [world] submorphs: #(3PButton(#flash 3388)) fullBounds: -7@-45 corner: 23@79 color: (Color r: 0.6 g: 0.8 b: 1.0) extension: a MorphExtensionPlus (3545) [other: (magicAlpha -> 1.0) (isMagicHal...etc... target: a FlapTab<About>(1687) "About" innerTarget: a FlapTab<About>(1687) "About" positionOffset: 7.0@51.0 angleOffset: nil minExtent: nil growingOrRotating: false directionArrowAnchor: nil haloBox: 15@104 corner: 69@232 simpleMode: false originalExtent: nil EventHandler>>send:to:withEvent:fromMorph: Receiver: an EventHandler; mouseDownSelector=startRot:with:; mouseMoveSelector=doRot:with:; mouseUpS...etc... Arguments and temporary variables: selector: #doRot:with: recipient: a HaloMorph(1465) event: [21@228 28@228 mouseMove red 2234937] sourceMorph: 3PButton(#flash 3388) arity: 2 Receiver's instance variables: mouseDownRecipient: a HaloMorph(1465) mouseDownSelector: #startRot:with: mouseMoveRecipient: a HaloMorph(1465) mouseMoveSelector: #doRot:with: mouseStillDownRecipient: nil mouseStillDownSelector: nil mouseUpRecipient: a HaloMorph(1465) mouseUpSelector: #endInteraction mouseEnterRecipient: nil mouseEnterSelector: nil mouseLeaveRecipient: nil mouseLeaveSelector: nil mouseEnterDraggingRecipient: nil mouseEnterDraggingSelector: nil mouseLeaveDraggingRecipient: nil mouseLeaveDraggingSelector: nil keyStrokeRecipient: nil keyStrokeSelector: nil valueParameter: nil startDragRecipient: nil startDragSelector: nil doubleClickSelector: nil doubleClickRecipient: nil doubleClickTimeoutSelector: nil doubleClickTimeoutRecipient: nil clickSelector: nil clickRecipient: nil EventHandler>>mouseMove:fromMorph: Receiver: an EventHandler; mouseDownSelector=startRot:with:; mouseMoveSelector=doRot:with:; mouseUpS...etc... Arguments and temporary variables: event: [21@228 28@228 mouseMove red 2234937] sourceMorph: 3PButton(#flash 3388) Receiver's instance variables: mouseDownRecipient: a HaloMorph(1465) mouseDownSelector: #startRot:with: mouseMoveRecipient: a HaloMorph(1465) mouseMoveSelector: #doRot:with: mouseStillDownRecipient: nil mouseStillDownSelector: nil mouseUpRecipient: a HaloMorph(1465) mouseUpSelector: #endInteraction mouseEnterRecipient: nil mouseEnterSelector: nil mouseLeaveRecipient: nil mouseLeaveSelector: nil mouseEnterDraggingRecipient: nil mouseEnterDraggingSelector: nil mouseLeaveDraggingRecipient: nil mouseLeaveDraggingSelector: nil keyStrokeRecipient: nil keyStrokeSelector: nil valueParameter: nil startDragRecipient: nil startDragSelector: nil doubleClickSelector: nil doubleClickRecipient: nil doubleClickTimeoutSelector: nil doubleClickTimeoutRecipient: nil clickSelector: nil clickRecipient: nil --- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #degrees HaloMorph>>doRot:with: EventHandler>>send:to:withEvent:fromMorph: EventHandler>>mouseMove:fromMorph: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ThreePhaseButtonMorph(Morph)>>mouseMove: ThreePhaseButtonMorph>>mouseMove: ThreePhaseButtonMorph(Morph)>>handleMouseMove: MouseMoveEvent>>sentTo: ThreePhaseButtonMorph(Morph)>>handleEvent: ThreePhaseButtonMorph(Morph)>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. ActiveEvent := anEvent. result := focusHolder han...]} [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} ...etc... _______________________________________________ etoys-dev mailing list [hidden email] http://lists.squeakland.org/mailman/listinfo/etoys-dev |
I was right, my earlier walkback wasn't relevant. The proximal
walkback (below) shows TransformationMorph with fullBounds as nil again. With enough time, I will figure out how to use haltOnlyOnce and get to the bottom of this, though I have no objection to Karl or a.n.other getting there first. Have fun! David MessageNotUnderstood: UndefinedObject>>hasPositiveExtent 7 February 2013 3:53:02 pm VM: Mac OS - a SmalltalkImage Image: etoys5.0 [latest update: #2409 (repo v1692 of 7 February 2013)] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Users/dcorking/Etoys/Etoys Trusted Dir /Users/dcorking/Etoys/.etoys Untrusted Dir /Users/dcorking/Etoys/Etoys UndefinedObject(Object)>>doesNotUnderstand: #hasPositiveExtent Receiver: nil Arguments and temporary variables: aMessage: hasPositiveExtent Receiver's instance variables: nil TransformationMorph(Morph)>>invalidRect:from: Receiver: a TransformationMorph(3584) on a FlapTab<About>(1687) "About" Arguments and temporary variables: aRectangle: nil aMorph: a TransformationMorph(3584) on a FlapTab<About>(1687) "About" damageRect: nil Receiver's instance variables: bounds: -8@-46 corner: 12@46 owner: nil submorphs: #(a FlapTab<About>(1687) "About") fullBounds: nil color: Color lightGreen extension: nil transform: a MorphicTransform(angle = 0.0; scale = 1.0; offset = 0@0) smoothing: 1 localBounds: nil TransformationMorph(TransformMorph)>>invalidRect:from: Receiver: a TransformationMorph(3584) on a FlapTab<About>(1687) "About" Arguments and temporary variables: damageRect: nil aMorph: a TransformationMorph(3584) on a FlapTab<About>(1687) "About" Receiver's instance variables: bounds: -8@-46 corner: 12@46 owner: nil submorphs: #(a FlapTab<About>(1687) "About") fullBounds: nil color: Color lightGreen extension: nil transform: a MorphicTransform(angle = 0.0; scale = 1.0; offset = 0@0) smoothing: 1 localBounds: nil TransformationMorph(Morph)>>invalidRect: Receiver: a TransformationMorph(3584) on a FlapTab<About>(1687) "About" Arguments and temporary variables: damageRect: nil Receiver's instance variables: bounds: -8@-46 corner: 12@46 owner: nil submorphs: #(a FlapTab<About>(1687) "About") fullBounds: nil color: Color lightGreen extension: nil transform: a MorphicTransform(angle = 0.0; scale = 1.0; offset = 0@0) smoothing: 1 localBounds: nil --- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #hasPositiveExtent TransformationMorph(Morph)>>invalidRect:from: TransformationMorph(TransformMorph)>>invalidRect:from: TransformationMorph(Morph)>>invalidRect: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TransformationMorph(Morph)>>position: TransformationMorph>>asFlexOf: FlapTab(Morph)>>addFlexShell FlapTab(Morph)>>addFlexShellIfNecessary HaloMorph>>startRot:with: EventHandler>>send:to:withEvent:fromMorph: EventHandler>>mouseDown:fromMorph: ThreePhaseButtonMorph(Morph)>>mouseDown: ThreePhaseButtonMorph>>mouseDown: ThreePhaseButtonMorph(Morph)>>handleMouseDown: MouseButtonEvent>>sentTo: ThreePhaseButtonMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: ThreePhaseButtonMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: HaloMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: PasteUpMorph(Morph)>>processEvent:using: PasteUpMorph>>processEvent:using: PasteUpMorph(Morph)>>processEvent: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: HandMorph>>processEvents [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h processEvents. capturingGesture := capturingGest...]} Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [] in Project class>>spawnNewProcess {[[World doOneCycle. Processor yield. false] whileFalse. nil]} [] in BlockContext>>newProcess {[self value. Processor terminateActive]} _______________________________________________ etoys-dev mailing list [hidden email] http://lists.squeakland.org/mailman/listinfo/etoys-dev |
Free forum by Nabble | Edit this page |