[squeak-dev] StackMorph issues in 5.3

David O'Toole deeteeoh1138 at gmail.com
Thu Jan 6 00:33:56 UTC 2022


Hi! I'm trying to make a simple presentation using a StackMorph to hold the
pages, but there are some issues.

1. Funny characters are displayed instead of button icons at the top of the
morph.
2. I get errors relayed to Player subclasses when attempting to create a
new page.

Attempting to do the following:

Player removeUninstantiatedSubclassesSilently
Player playersWithUnnecessarySubclasses
Player freeUnreferencedSubclasses
Player abandonUnnecessaryUniclasses

...resulted in the same errors after trying the StackMorph again, this time
with an incremented Player78 instead of Player77 class.

I've attached the stack report below. I would greatly appreciate any help
you can offer. Maybe StackMorph is not the right thing to be using?
Although it seems like it will be nice, if I can get past these issues.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220105/34cfdaa2/attachment-0001.html>
-------------- next part --------------

5 January 2022 7:28:50.994087 pm

VM: unix - Smalltalk
Image: Squeak5.3 [latest update: #19461]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/dto/Squeak/shared
Trusted Dir /home/dto/Squeak/shared/secure
Untrusted Dir /home/dto/Squeak/shared/My Squeak

Player77(Object)>>doesNotUnderstand: #commitCardPlayerDataFrom:
	Receiver: a Player77 (1806470) named card
	Arguments and temporary variables: 
		aMessage: 	commitCardPlayerDataFrom: a PasteUpMorph<card>(1903446)
		exception: 	MessageNotUnderstood: Player77>>commitCardPlayerDataFrom:
		resumeValue: 	nil
	Receiver's instance variables: 
		dependents: 	nil
		costume: 	a PasteUpMorph<card>(1903446)
		costumes: 	nil

Player77(Player)>>doesNotUnderstand: #commitCardPlayerDataFrom:
	Receiver: a Player77 (1806470) named card
	Arguments and temporary variables: 
		aMessage: 	commitCardPlayerDataFrom: a PasteUpMorph<card>(1903446)
		ours: 	false
	Receiver's instance variables: 
		dependents: 	nil
		costume: 	a PasteUpMorph<card>(1903446)
		costumes: 	nil

Player77(Player)>>uninstallFrom:
	Receiver: a Player77 (1806470) named card
	Arguments and temporary variables: 
		aPlayfield: 	a PasteUpMorph<card>(1903446)
	Receiver's instance variables: 
		dependents: 	nil
		costume: 	a PasteUpMorph<card>(1903446)
		costumes: 	nil

PasteUpMorph(Morph)>>installAsCurrent:
	Receiver: a PasteUpMorph<card>(1903446)
	Arguments and temporary variables: 
		anInstance: 	a Player77 (2306376) (with nil costume)
		fieldList: 	an OrderedCollection()
	Receiver's instance variables: 
		bounds: 	1215 at 502 corner: 1855 at 982
		owner: 	a StackMorph<Stack>(1270818)
		submorphs: 	{a Tetris<Tetris>(2413390)}
		fullBounds: 	1215 at 502 corner: 1855 at 982
		color: 	Color white
		extension: 	a MorphExtension (3886844) [sticky]  [externalName = card ]  [player...etc...
		borderWidth: 	0
		borderColor: 	(Color r: 0.767 g: 0.767 b: 1)
		presenter: 	nil
		model: 	a MorphicModel1(3438908)
		cursor: 	1
		padding: 	3
		backgroundMorph: 	nil
		turtleTrailsForm: 	nil
		turtlePen: 	nil
		lastTurtlePositions: 	nil
		isPartsBin: 	nil
		indicateCursor: 	nil
		wantsMouseOverHalos: 	nil
		worldState: 	nil
		griddingOn: 	nil

StackMorph>>goToCard:
	Receiver: a StackMorph<Stack>(1270818)
	Arguments and temporary variables: 
		destinationCard: 	a Player77 (2306376) (with nil costume)
		aBackground: 	a PasteUpMorph<card>(1903446)
		existingCard: 	a Player77 (1806470) named card
		oldViewers: 	an OrderedCollection()
	Receiver's instance variables: 
		bounds: 	1215 at 351 corner: 1855 at 982
		owner: 	a SystemWindow<Presentation Stack>(1248460)
		submorphs: 	{an AlignmentMorph(68738) . a PasteUpMorph<card>(1903446)}
		fullBounds: 	1215 at 351 corner: 1855 at 982
		color: 	Color white
		extension: 	a MorphExtension (2643986) [locked]  [externalName = Stack ]  [other...etc...
		borderWidth: 	0
		borderColor: 	Color black
		pageSize: 	160 at 300
		newPagePrototype: 	nil
		pages: 	an OrderedCollection(a PasteUpMorph<card>(1903446))
		currentPage: 	a PasteUpMorph<card>(1903446)
		cards: 	an OrderedCollection(a Player77 (1806470) named card a Player77 (2306376...etc...

StackMorph>>insertCardOfBackground:
	Receiver: a StackMorph<Stack>(1270818)
	Arguments and temporary variables: 
		aBackground: 	a PasteUpMorph<card>(1903446)
		newCard: 	a Player77 (2306376) (with nil costume)
	Receiver's instance variables: 
		bounds: 	1215 at 351 corner: 1855 at 982
		owner: 	a SystemWindow<Presentation Stack>(1248460)
		submorphs: 	{an AlignmentMorph(68738) . a PasteUpMorph<card>(1903446)}
		fullBounds: 	1215 at 351 corner: 1855 at 982
		color: 	Color white
		extension: 	a MorphExtension (2643986) [locked]  [externalName = Stack ]  [other...etc...
		borderWidth: 	0
		borderColor: 	Color black
		pageSize: 	160 at 300
		newPagePrototype: 	nil
		pages: 	an OrderedCollection(a PasteUpMorph<card>(1903446))
		currentPage: 	a PasteUpMorph<card>(1903446)
		cards: 	an OrderedCollection(a Player77 (1806470) named card a Player77 (2306376...etc...

StackMorph>>insertCard
	Receiver: a StackMorph<Stack>(1270818)
	Arguments and temporary variables: 

	Receiver's instance variables: 
		bounds: 	1215 at 351 corner: 1855 at 982
		owner: 	a SystemWindow<Presentation Stack>(1248460)
		submorphs: 	{an AlignmentMorph(68738) . a PasteUpMorph<card>(1903446)}
		fullBounds: 	1215 at 351 corner: 1855 at 982
		color: 	Color white
		extension: 	a MorphExtension (2643986) [locked]  [externalName = Stack ]  [other...etc...
		borderWidth: 	0
		borderColor: 	Color black
		pageSize: 	160 at 300
		newPagePrototype: 	nil
		pages: 	an OrderedCollection(a PasteUpMorph<card>(1903446))
		currentPage: 	a PasteUpMorph<card>(1903446)
		cards: 	an OrderedCollection(a Player77 (1806470) named card a Player77 (2306376...etc...

SimpleButtonMorph>>doButtonAction
	Receiver: a SimpleButtonMorph(1864732)
	Arguments and temporary variables: 

	Receiver's instance variables: 
		bounds: 	1622 at 357 corner: 1638 at 377
		owner: 	an AlignmentMorph(1763948)
		submorphs: 	{a StringMorph(2048704)'+'}
		fullBounds: 	1622 at 357 corner: 1638 at 377
		color: 	Color white
		extension: 	a MorphExtension (1537096) [balloonText]  [other:  (animations -> an...etc...
		borderWidth: 	0
		borderColor: 	Color black
		target: 	a StackMorph<Stack>(1270818)
		actionSelector: 	#insertCard
		arguments: 	#()
		actWhen: 	#buttonUp
		oldColor: 	nil
		mouseDownTime: 	3818881679467

SimpleButtonMorph>>mouseUp:
	Receiver: a SimpleButtonMorph(1864732)
	Arguments and temporary variables: 
		evt: 	[1632 at 360 mouseUp ( red ) 4674905]
	Receiver's instance variables: 
		bounds: 	1622 at 357 corner: 1638 at 377
		owner: 	an AlignmentMorph(1763948)
		submorphs: 	{a StringMorph(2048704)'+'}
		fullBounds: 	1622 at 357 corner: 1638 at 377
		color: 	Color white
		extension: 	a MorphExtension (1537096) [balloonText]  [other:  (animations -> an...etc...
		borderWidth: 	0
		borderColor: 	Color black
		target: 	a StackMorph<Stack>(1270818)
		actionSelector: 	#insertCard
		arguments: 	#()
		actWhen: 	#buttonUp
		oldColor: 	nil
		mouseDownTime: 	3818881679467

SimpleButtonMorph(Morph)>>handleMouseUp:
	Receiver: a SimpleButtonMorph(1864732)
	Arguments and temporary variables: 
		anEvent: 	[1632 at 360 mouseUp ( red ) 4674905]
	Receiver's instance variables: 
		bounds: 	1622 at 357 corner: 1638 at 377
		owner: 	an AlignmentMorph(1763948)
		submorphs: 	{a StringMorph(2048704)'+'}
		fullBounds: 	1622 at 357 corner: 1638 at 377
		color: 	Color white
		extension: 	a MorphExtension (1537096) [balloonText]  [other:  (animations -> an...etc...
		borderWidth: 	0
		borderColor: 	Color black
		target: 	a StackMorph<Stack>(1270818)
		actionSelector: 	#insertCard
		arguments: 	#()
		actWhen: 	#buttonUp
		oldColor: 	nil
		mouseDownTime: 	3818881679467

MouseButtonEvent>>sentTo:
	Receiver: [1632 at 360 mouseUp ( red ) 4674905]
	Arguments and temporary variables: 
		anObject: 	a SimpleButtonMorph(1864732)
	Receiver's instance variables: 
		timeStamp: 	4674905
		source: 	a HandMorph(3724492)
		type: 	#mouseUp
		buttons: 	0
		position: 	1632 at 360
		handler: 	nil
		wasHandled: 	true
		wasIgnored: 	false
		whichButton: 	4
		nClicks: 	0

SimpleButtonMorph(Morph)>>handleEvent:
	Receiver: a SimpleButtonMorph(1864732)
	Arguments and temporary variables: 
		anEvent: 	[1632 at 360 mouseUp ( red ) 4674905]
		filteredEvent: 	[1632 at 360 mouseUp ( red ) 4674905]
	Receiver's instance variables: 
		bounds: 	1622 at 357 corner: 1638 at 377
		owner: 	an AlignmentMorph(1763948)
		submorphs: 	{a StringMorph(2048704)'+'}
		fullBounds: 	1622 at 357 corner: 1638 at 377
		color: 	Color white
		extension: 	a MorphExtension (1537096) [balloonText]  [other:  (animations -> an...etc...
		borderWidth: 	0
		borderColor: 	Color black
		target: 	a StackMorph<Stack>(1270818)
		actionSelector: 	#insertCard
		arguments: 	#()
		actWhen: 	#buttonUp
		oldColor: 	nil
		mouseDownTime: 	3818881679467

SimpleButtonMorph(Morph)>>handleFocusEvent:
	Receiver: a SimpleButtonMorph(1864732)
	Arguments and temporary variables: 
		anEvent: 	[1632 at 360 mouseUp ( red ) 4674905]
	Receiver's instance variables: 
		bounds: 	1622 at 357 corner: 1638 at 377
		owner: 	an AlignmentMorph(1763948)
		submorphs: 	{a StringMorph(2048704)'+'}
		fullBounds: 	1622 at 357 corner: 1638 at 377
		color: 	Color white
		extension: 	a MorphExtension (1537096) [balloonText]  [other:  (animations -> an...etc...
		borderWidth: 	0
		borderColor: 	Color black
		target: 	a StackMorph<Stack>(1270818)
		actionSelector: 	#insertCard
		arguments: 	#()
		actWhen: 	#buttonUp
		oldColor: 	nil
		mouseDownTime: 	3818881679467

MorphicEventDispatcher>>doHandlingForFocusEvent:with:
	Receiver: a MorphicEventDispatcher
	Arguments and temporary variables: 
		currentEvent: 	[1632 at 360 mouseUp ( red ) 4674905]
		focusMorph: 	a SimpleButtonMorph(1864732)
		localEvent: 	[1632 at 360 mouseUp ( red ) 4674905]
		filteredEvent: 	nil
	Receiver's instance variables: 
		lastType: 	nil
		lastDispatch: 	nil

MorphicEventDispatcher>>dispatchFocusEvent:with:
	Receiver: a MorphicEventDispatcher
	Arguments and temporary variables: 
		anEventWithGlobalPosition: 	[1632 at 360 mouseUp ( red ) 4674905]
		focusMorph: 	a SimpleButtonMorph(1864732)
		currentEvent: 	[1632 at 360 mouseUp ( red ) 4674905]
	Receiver's instance variables: 
		lastType: 	nil
		lastDispatch: 	nil

SimpleButtonMorph(Morph)>>processFocusEvent:using:
	Receiver: a SimpleButtonMorph(1864732)
	Arguments and temporary variables: 
		anEvent: 	[1632 at 360 mouseUp ( red ) 4674905]
		defaultDispatcher: 	a MorphicEventDispatcher
	Receiver's instance variables: 
		bounds: 	1622 at 357 corner: 1638 at 377
		owner: 	an AlignmentMorph(1763948)
		submorphs: 	{a StringMorph(2048704)'+'}
		fullBounds: 	1622 at 357 corner: 1638 at 377
		color: 	Color white
		extension: 	a MorphExtension (1537096) [balloonText]  [other:  (animations -> an...etc...
		borderWidth: 	0
		borderColor: 	Color black
		target: 	a StackMorph<Stack>(1270818)
		actionSelector: 	#insertCard
		arguments: 	#()
		actWhen: 	#buttonUp
		oldColor: 	nil
		mouseDownTime: 	3818881679467

SimpleButtonMorph(Morph)>>processFocusEvent:
	Receiver: a SimpleButtonMorph(1864732)
	Arguments and temporary variables: 
		anEvent: 	[1632 at 360 mouseUp ( red ) 4674905]
	Receiver's instance variables: 
		bounds: 	1622 at 357 corner: 1638 at 377
		owner: 	an AlignmentMorph(1763948)
		submorphs: 	{a StringMorph(2048704)'+'}
		fullBounds: 	1622 at 357 corner: 1638 at 377
		color: 	Color white
		extension: 	a MorphExtension (1537096) [balloonText]  [other:  (animations -> an...etc...
		borderWidth: 	0
		borderColor: 	Color black
		target: 	a StackMorph<Stack>(1270818)
		actionSelector: 	#insertCard
		arguments: 	#()
		actWhen: 	#buttonUp
		oldColor: 	nil
		mouseDownTime: 	3818881679467

[] in [] in [] in HandMorph>>sendFocusEvent:to:clear:
	Receiver: a HandMorph(3724492)
	Arguments and temporary variables: 
<<error during printing>
	Receiver's instance variables: 
		bounds: 	430 at 424 corner: 446 at 440
		owner: 	a PasteUpMorph(2825058) [world]
		submorphs: 	#()
		fullBounds: 	430 at 424 corner: 446 at 440
		color: 	Color blue
		extension: 	a MorphExtension (1283606) [other:  (signalConnections -> a Dictiona...etc...
		mouseFocus: 	nil
		keyboardFocus: 	nil
		eventListeners: 	nil
		mouseListeners: 	nil
		keyboardListeners: 	nil
		eventCaptureFilters: 	nil
		mouseCaptureFilters: 	nil
		keyboardCaptureFilters: 	a WeakArray(a HandMorph(3724492))
		mouseClickState: 	nil
		mouseOverHandler: 	a MouseOverHandler
		mouseWheelState: 	a MouseWheelState
		lastMouseEvent: 	[430 at 424 mouseUp ( red ) 4726376]
		targetOffset: 	117 at 9
		damageRecorder: 	a DamageRecorder
		cacheCanvas: 	nil
		cachedCanvasHasHoles: 	false
		temporaryCursor: 	nil
		temporaryCursorOffset: 	nil
		hardwareCursor: 	nil
		hasChanged: 	true
		savedPatch: 	nil
		userInitials: 	''
		lastEventBuffer: 	#(1 4726376 430 424 0 0 0 1)
		genieGestureProcessor: 	nil
		keyboardInterpreter: 	an UTF32InputInterpreter

BlockClosure>>ensure:
	Receiver: [closure] in [] in [] in HandMorph>>sendFocusEvent:to:clear:
	Arguments and temporary variables: 
		aBlock: 	[closure] in MouseButtonEvent(MorphicEvent)>>becomeActiveDuring:
		complete: 	nil
		returnValue: 	nil
	Receiver's instance variables: 
		outerContext: 	[] in [] in HandMorph>>sendFocusEvent:to:clear:
		startpc: 	113
		numArgs: 	0


--- The full stack ---
Player77(Object)>>doesNotUnderstand: #commitCardPlayerDataFrom:
Player77(Player)>>doesNotUnderstand: #commitCardPlayerDataFrom:
Player77(Player)>>uninstallFrom:
PasteUpMorph(Morph)>>installAsCurrent:
StackMorph>>goToCard:
StackMorph>>insertCardOfBackground:
StackMorph>>insertCard
SimpleButtonMorph>>doButtonAction
SimpleButtonMorph>>mouseUp:
SimpleButtonMorph(Morph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
SimpleButtonMorph(Morph)>>handleEvent:
SimpleButtonMorph(Morph)>>handleFocusEvent:
MorphicEventDispatcher>>doHandlingForFocusEvent:with:
MorphicEventDispatcher>>dispatchFocusEvent:with:
SimpleButtonMorph(Morph)>>processFocusEvent:using:
SimpleButtonMorph(Morph)>>processFocusEvent:
[] in [] in [] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>ensure:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MouseButtonEvent(MorphicEvent)>>becomeActiveDuring:
[] in [] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>ensure:
HandMorph>>becomeActiveDuring:
[] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>ensure:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in AnimWorldState(WorldState)>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
AnimWorldState(WorldState)>>handsDo:
AnimWorldState(WorldState)>>doOneCycleNowFor:
AnimWorldState(WorldState)>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in AnimMorphicProject>>spawnNewProcess
[] in BlockClosure>>newProcess
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot at 2022-01-05 19-28-25.png
Type: image/png
Size: 205376 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220105/34cfdaa2/attachment-0001.png>


More information about the Squeak-dev mailing list