[FIX][BUG]UndefinedObject(Object)>>doesNotUnderstand: #focused:

Hernan Tylim htylim at yahoo.com.ar
Fri Apr 2 11:59:07 UTC 2004


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 at 118 corner: 194 at 133
		owner: 	nil
		submorphs: 	#()
		fullBounds: 	141 at 118 corner: 194 at 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 at 118 corner: 194 at 133
		owner: 	nil
		submorphs: 	#()
		fullBounds: 	141 at 118 corner: 194 at 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 at 386 corner: 589 at 402
		owner: 	a PasteUpMorph(1622) [world]
		submorphs: 	#()
		fullBounds: 	573 at 386 corner: 589 at 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 at 386 mouseUp 311920531]
		targetOffset: 	41 at 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 at lists.squeakfoundation.org [mailto:squeak-dev-
> bounces at 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 at 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>




More information about the Squeak-dev mailing list