[BUG] EToy "do menu item" broken (3.3a-4771)

Scott Wallace scott.wallace at squeakland.org
Wed Mar 6 20:50:12 UTC 2002


This bug is due to a mysterious change to method Morph.doMenuItem: 
that showed up in update 4684RegFileList-hgglsd.  The time-stamp here 
is "hg 8/3/2000", which is to say, a couple of months *before* 
Andreas's version of this method which Henrik's code replaced.

Reverting this method to Andreas's pre-existing 10/25/2000 version 
fixes the bug, so I've now published an update (4795revertDoMenu) 
that does that reversion.

I presume that if Henrik's change to Morph.doMenuItem: was anything 
other than a simple mechanical error, he'll let us know.

  -- Scott


At 12:13 PM -0800 3/6/02, Ned Konz wrote:
>Get a viewer on a Morph, then fire "do menu item" with any menu item.
>Actually, there's two unimplemented calls in Morph>>doMenuItem:.
>
>6 March 2002 12:12:12 pm
>
>VM: unix - Squeak3.1alpha of 7 March 2001 [latest update: #4332]
>Image: Squeak3.3alpha [latest update: #4771]
>
>HandMorph(Object)>>doesNotUnderstand:
>	Receiver: a HandMorph(3216)
>	Arguments and temporary variables:
>		aMessage:	a Message with selector: 
>#buildMorphHandleMenuFor: and
>arguments: #(a...etc...
>	Receiver's instance variables:
>		bounds:	328 at 296 corner: 344 at 312
>		owner:	a PasteUpMorph<world>(1622) [world]
>		submorphs:	#()
>		fullBounds:	328 at 296 corner: 344 at 312
>		color:	Color blue
>		extension:	a MorphExtension (539)
>		mouseFocus:	nil
>		keyboardFocus:	a MenuMorph(486)
>		eventListeners:	nil
>		mouseListeners:	nil
>		keyboardListeners:	nil
>		mouseClickState:	nil
>		mouseOverHandler:	a MouseOverHandler
>		lastMouseEvent:	[328 at 296 mouseUp 1269732]
>		targetOffset:	69 at 20
>		damageRecorder:	a DamageRecorder
>		cacheCanvas:	nil
>		cachedCanvasHasHoles:	true
>		temporaryCursor:	nil
>		temporaryCursorOffset:	nil
>		hasChanged:	true
>		savedPatch:	nil
>		userInitials:	''
>		lastEventBuffer:	#(1 1269732 328 296 0 0 0 0)
>		genieGestureProcessor:	nil
>
>SystemWindow(Morph)>>doMenuItem:
>	Receiver: a SystemWindow<Workspace>(1070)
>	Arguments and temporary variables:
>		menuString:	'send to back'
>		aMenu:	nil
>		anItem:	nil
>		aNominalEvent:	nil
>		aHand:	a HandMorph(3216)
>		m:	nil
>	Receiver's instance variables:
>		bounds:	175 at 42 corner: 769 at 382
>		owner:	a PasteUpMorph<world>(1622) [world]
>		submorphs:	#(a PluggableTextMorph(2004) an 
>AlignmentMorph(2592))
>		fullBounds:	175 at 42 corner: 769 at 382
>		color:	(Color r: 0.941 g: 0.941 b: 0.941)
>		extension:	a MorphExtension (3724) [externalName 
>= Workspace ]
>[player = an Un...etc...
>		borderWidth:	2
>		borderColor:	#raised
>		model:	a Workspace
>		slotName:	nil
>		open:	false
>		labelString:	'Workspace'
>		stripes:	#(a RectangleMorph(2303) a 
>RectangleMorph(2332))
>		label:	a StringMorph(2340)'Workspace'
>		closeBox:	a SimpleButtonMorph(162)
>		collapseBox:	a SimpleButtonMorph(217)
>		activeOnlyOnTop:	true
>		paneMorphs:	#(a PluggableTextMorph(2004))
>		paneRects:	nil
>		collapsedFrame:	nil
>		fullFrame:	175 at 42 corner: 769 at 382
>		isCollapsed:	false
>		menuBox:	an IconicButton(4063)
>		mustNotClose:	false
>		labelWidgetAllowance:	75
>		updatablePanes:	#()
>		allowReframeHandles:	true
>		labelArea:	an AlignmentMorph(2592)
>		expandBox:	an IconicButton(2460)
>
>UnscriptedPlayer(Player)>>doMenuItem:
>	Receiver: an UnscriptedPlayer (3194) named Workspace
>	Arguments and temporary variables:
>		menuString:	'send to back'
>	Receiver's instance variables:
>		dependents:	nil
>		costume:	a SystemWindow<Workspace>(1070)
>		costumes:	nil
>
>UnscriptedPlayer>>DoIt
>	Receiver: an UnscriptedPlayer (3194) named Workspace
>	Arguments and temporary variables:
>
>	Receiver's instance variables:
>		dependents:	nil
>		costume:	a SystemWindow<Workspace>(1070)
>		costumes:	nil
>
>--- The rest of the stack ---
>Compiler>>evaluate:in:to:notifying:ifFail:
>Compiler class>>evaluate:for:notifying:logged:
>Compiler class>>evaluate:for:logged:
>PhraseTileMorph>>try
>[] in SimpleButtonMorph>>doButtonAction
>BlockContext>>ensure:
>CursorWithMask(Cursor)>>showWhile:
>SimpleButtonMorph>>doButtonAction
>SimpleButtonMorph>>mouseStillDown:
>SimpleButtonMorph>>mouseDown:
>SimpleButtonMorph(Morph)>>handleMouseDown:
>MouseButtonEvent>>sentTo:
>SimpleButtonMorph(Morph)>>handleEvent:
>MorphicEventDispatcher>>dispatchMouseDown:with:
>MorphicEventDispatcher>>dispatchEvent:with:
>SimpleButtonMorph(Morph)>>processEvent:using:
>MorphicEventDispatcher>>dispatchMouseDown:with:
>MorphicEventDispatcher>>dispatchEvent:with:
>ViewerLine(Morph)>>processEvent:using:
>MorphicEventDispatcher>>dispatchMouseDown:with:
>MorphicEventDispatcher>>dispatchEvent:with:
>CategoryViewer(Morph)>>processEvent:using:
>MorphicEventDispatcher>>dispatchMouseDown:with:
>MorphicEventDispatcher>>dispatchEvent:with:
>StandardViewer(Morph)>>processEvent:using:
>MorphicEventDispatcher>>dispatchMouseDown:with:
>MorphicEventDispatcher>>dispatchEvent:with:
>PasteUpMorph(Morph)>>processEvent:using:
>PasteUpMorph>>processEvent:using:
>MorphicEventDispatcher>>dispatchMouseDown:with:
>MorphicEventDispatcher>>dispatchEvent:with:
>...etc...




More information about the Squeak-dev mailing list