Hi,
Poking a little I found that the problem is on TextMorph>>keyboardFocusChange: first line:
paragraph focused: aBoolean
Which was added on 5849TextMorphSelectionFix-rr
I read on TextMorph>>paragraph's comment that paragraph instantiation is lazy so I think that we should use here the getter instead of accesing directly to the variable. Attached is my proposed fix but please someone review it first because I know nothing of TextMorphs.
Regards, Hernán
Hi Hernán,
Your fix seems to preserve the behavior of the selection, but I have been unable to produce the bug ... Could you tell me how to reproduce it ?
Thanks, Romain
On Apr 1, 2004, at 8:47 PM, htylim@yahoo.com.ar wrote:
Hi,
Poking a little I found that the problem is on TextMorph>>keyboardFocusChange: first line:
paragraph focused: aBoolean
Which was added on 5849TextMorphSelectionFix-rr
I read on TextMorph>>paragraph's comment that paragraph instantiation is lazy so I think that we should use here the getter instead of accesing directly to the variable. Attached is my proposed fix but please someone review it first because I know nothing of TextMorphs.
Regards, Hernán <focusedFix-hpt.cs.gz>
Hi Romain, I just downloaded a Squeak3.7b-5868 image from uiuc, opened it, clicked on the desktop to get the World Menu, selected 'open...', then 'morphic project' and a Project Window appeared on the desktop.
Now if you click on the 'Unnamed1' label at the bottom of the project window you get the following walkback:
2 April 2004 8:56:19 am
VM: Win32 - a SmalltalkImage Image: Squeak3.7beta [latest update: #5868]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir C:\Documents and Settings\Hernan\My Documents\Squeak\Images\Squeak3.7b-5868 Trusted Dir C:\Documents and Settings\Hernan\My Documents\Squeak\Images\Squeak3.7b-5868\Hernan Untrusted Dir C:\My Squeak\Hernan
UndefinedObject(Object)>>doesNotUnderstand: #focused: Receiver: nil Arguments and temporary variables: aMessage: focused: true Receiver's instance variables: nil
StringMorphEditor(TextMorph)>>keyboardFocusChange: Receiver: a StringMorphEditor(1987) Arguments and temporary variables: aBoolean: true Receiver's instance variables: bounds: 141@118 corner: 194@133 owner: nil submorphs: #() fullBounds: 141@118 corner: 194@133 color: Color red extension: a MorphExtension (701) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Accuny11B text: a Text for 'Unnamed1' wrapFlag: false paragraph: a NewParagraph editor: a TextMorphEditor container: nil predecessor: nil successor: nil backgroundColor: Color white margins: nil
StringMorphEditor>>keyboardFocusChange: Receiver: a StringMorphEditor(1987) Arguments and temporary variables: aBoolean: true hadFocus: true Receiver's instance variables: bounds: 141@118 corner: 194@133 owner: nil submorphs: #() fullBounds: 141@118 corner: 194@133 color: Color red extension: a MorphExtension (701) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Accuny11B text: a Text for 'Unnamed1' wrapFlag: false paragraph: a NewParagraph editor: a TextMorphEditor container: nil predecessor: nil successor: nil backgroundColor: Color white margins: nil
HandMorph>>newKeyboardFocus: Receiver: a HandMorph(3216) Arguments and temporary variables: aMorphOrNil: a StringMorphEditor(1987) oldFocus: nil Receiver's instance variables: bounds: 573@386 corner: 589@402 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 573@386 corner: 589@402 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: a TextMorphForEditView(3234) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [573@386 mouseUp 311920531] targetOffset: 41@7 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 311920531 573 386 0 0 0 0) genieGestureProcessor: nil
--- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #focused: StringMorphEditor(TextMorph)>>keyboardFocusChange: StringMorphEditor>>keyboardFocusChange: HandMorph>>newKeyboardFocus: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UpdatingStringMorph(StringMorph)>>launchMiniEditor: ProjectViewMorph>>editTheName: EventHandler>>send:to:withEvent:fromMorph: EventHandler>>mouseDown:fromMorph: AlignmentMorph(Morph)>>mouseDown: AlignmentMorph(Morph)>>handleMouseDown: MouseButtonEvent>>sentTo: AlignmentMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: AlignmentMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: ProjectViewMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: SystemWindow(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]} ...etc...
-----Mensaje original----- De: squeak-dev-bounces@lists.squeakfoundation.org [mailto:squeak-dev- bounces@lists.squeakfoundation.org] En nombre de Romain Robbes Enviado el: Viernes, 02 de Abril de 2004 06:30 a.m. Para: The general-purpose Squeak developers list Asunto: Re: [FIX][BUG]UndefinedObject(Object)>>doesNotUnderstand: #focused:
Hi Hernán,
Your fix seems to preserve the behavior of the selection, but I have been unable to produce the bug ... Could you tell me how to reproduce it ?
Thanks, Romain
On Apr 1, 2004, at 8:47 PM, htylim@yahoo.com.ar wrote:
Hi,
Poking a little I found that the problem is on TextMorph>>keyboardFocusChange: first line:
paragraph focused: aBoolean
Which was added on 5849TextMorphSelectionFix-rr
I read on TextMorph>>paragraph's comment that paragraph
instantiation
is lazy so I think that we should use here the getter instead of
accesing
directly to the variable. Attached is my proposed fix but please someone review it first because I know nothing of TextMorphs.
Regards, Hernán <focusedFix-hpt.cs.gz>
squeak-dev@lists.squeakfoundation.org