[BUG] infinite recursion in PluggableTextMorph>>extent:

ned at bike-nomad.com ned at bike-nomad.com
Thu Aug 14 16:26:35 UTC 2003


This is still a problem in 3.6.

Bringing up a browser. Squeak hangs, eventually crashes because it's out
of memory.
Preferences for inboard scrollbars and hidden scrollbars are set.
The problem is that the scrollbar keeps getting alternately hidden and
shown, and there's a possible recursion:

PluggableTextMorph>>extent:
PluggableTextMorph>>resetExtent
PluggableTextMorph(ScrollPane)>>hideScrollBar
PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar
PluggableTextMorph(ScrollPane)>>setScrollDeltas
PluggableTextMorph>>extent:
PluggableTextMorph>>resetExtent
PluggableTextMorph(ScrollPane)>>showScrollBar
PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar
PluggableTextMorph(ScrollPane)>>setScrollDeltas
PluggableTextMorph>>extent:
PluggableTextMorph>>resetExtent
PluggableTextMorph(ScrollPane)>>showScrollBar
PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar
PluggableTextMorph(ScrollPane)>>setScrollDeltas
PluggableTextMorph>>extent:

[ etc... ]

PluggableTextMorph>>resetExtent
PluggableTextMorph(ScrollPane)>>showScrollBar
PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar
PluggableTextMorph(ScrollPane)>>setScrollDeltas
PluggableTextMorph>>extent:
PluggableTextMorph(Morph)>>bounds:
PluggableTextMorph(Morph)>>layoutInBounds:
PluggableTextMorph(Morph)>>layoutProportionallyIn:

14 August 2003 8:50:05 am

VM: unix - Squeak3.6beta of '4 July 2003' [latest update: #5373]
Image: Squeak3.6beta [latest update: #5395]

PluggableTextMorph>>extent:
	Receiver: a PluggableTextMorph(3921)
	Arguments and temporary variables: 
		newExtent: 	296 at 18
	Receiver's instance variables: 
		bounds: 	2 at 144 corner: 298 at 162
		owner: 	a SystemWindow(827)
		submorphs: 	#(a TransformMorph(28))
		fullBounds: 	nil
		color: 	Color transparent
		extension: 	a MorphExtension (2581) [other:  (layoutFrame -> a
LayoutFrame) (lay...etc...
		borderWidth: 	2
		borderColor: 	#inset
		model: 	a MethodNameEditor
		slotName: 	nil
		open: 	false
		pinSpecs: 	nil
		scrollBar: 	a ScrollBar(807)
		scroller: 	a TransformMorph(28)
		retractableScrollBar: 	false
		scrollBarOnLeft: 	false
		getMenuSelector: 	nil
		getMenuTitleSelector: 	nil
		scrollBarHidden: 	nil
		hasFocus: 	false
		textMorph: 	a TextMorphForEditView(1320)
		getTextSelector: 	#methodPreview
		setTextSelector: 	nil
		getSelectionSelector: 	nil
		hasUnacceptedEdits: 	false
		askBeforeDiscardingEdits: 	true
		selectionInterval: 	(1 to: 0)
		hasEditingConflicts: 	false

PluggableTextMorph>>resetExtent
	Receiver: a PluggableTextMorph(3921)
	Arguments and temporary variables: 
		tempSelection: 	(1 to: 0)
	Receiver's instance variables: 
		bounds: 	2 at 144 corner: 298 at 162
		owner: 	a SystemWindow(827)
		submorphs: 	#(a TransformMorph(28))
		fullBounds: 	nil
		color: 	Color transparent
		extension: 	a MorphExtension (2581) [other:  (layoutFrame -> a
LayoutFrame) (lay...etc...
		borderWidth: 	2
		borderColor: 	#inset
		model: 	a MethodNameEditor
		slotName: 	nil
		open: 	false
		pinSpecs: 	nil
		scrollBar: 	a ScrollBar(807)
		scroller: 	a TransformMorph(28)
		retractableScrollBar: 	false
		scrollBarOnLeft: 	false
		getMenuSelector: 	nil
		getMenuTitleSelector: 	nil
		scrollBarHidden: 	nil
		hasFocus: 	false
		textMorph: 	a TextMorphForEditView(1320)
		getTextSelector: 	#methodPreview
		setTextSelector: 	nil
		getSelectionSelector: 	nil
		hasUnacceptedEdits: 	false
		askBeforeDiscardingEdits: 	true
		selectionInterval: 	(1 to: 0)
		hasEditingConflicts: 	false

PluggableTextMorph(ScrollPane)>>hideScrollBar
	Receiver: a PluggableTextMorph(3921)
	Arguments and temporary variables: 

	Receiver's instance variables: 
		bounds: 	2 at 144 corner: 298 at 162
		owner: 	a SystemWindow(827)
		submorphs: 	#(a TransformMorph(28))
		fullBounds: 	nil
		color: 	Color transparent
		extension: 	a MorphExtension (2581) [other:  (layoutFrame -> a
LayoutFrame) (lay...etc...
		borderWidth: 	2
		borderColor: 	#inset
		model: 	a MethodNameEditor
		slotName: 	nil
		open: 	false
		pinSpecs: 	nil
		scrollBar: 	a ScrollBar(807)
		scroller: 	a TransformMorph(28)
		retractableScrollBar: 	false
		scrollBarOnLeft: 	false
		getMenuSelector: 	nil
		getMenuTitleSelector: 	nil
		scrollBarHidden: 	nil
		hasFocus: 	false
		textMorph: 	a TextMorphForEditView(1320)
		getTextSelector: 	#methodPreview
		setTextSelector: 	nil
		getSelectionSelector: 	nil
		hasUnacceptedEdits: 	false
		askBeforeDiscardingEdits: 	true
		selectionInterval: 	(1 to: 0)
		hasEditingConflicts: 	false

PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar
	Receiver: a PluggableTextMorph(3921)
	Arguments and temporary variables: 

	Receiver's instance variables: 
		bounds: 	2 at 144 corner: 298 at 162
		owner: 	a SystemWindow(827)
		submorphs: 	#(a TransformMorph(28))
		fullBounds: 	nil
		color: 	Color transparent
		extension: 	a MorphExtension (2581) [other:  (layoutFrame -> a
LayoutFrame) (lay...etc...
		borderWidth: 	2
		borderColor: 	#inset
		model: 	a MethodNameEditor
		slotName: 	nil
		open: 	false
		pinSpecs: 	nil
		scrollBar: 	a ScrollBar(807)
		scroller: 	a TransformMorph(28)
		retractableScrollBar: 	false
		scrollBarOnLeft: 	false
		getMenuSelector: 	nil
		getMenuTitleSelector: 	nil
		scrollBarHidden: 	nil
		hasFocus: 	false
		textMorph: 	a TextMorphForEditView(1320)
		getTextSelector: 	#methodPreview
		setTextSelector: 	nil
		getSelectionSelector: 	nil
		hasUnacceptedEdits: 	false
		askBeforeDiscardingEdits: 	true
		selectionInterval: 	(1 to: 0)
		hasEditingConflicts: 	false


--- The full stack ---
PluggableTextMorph>>extent:
...etc...



More information about the Squeak-dev mailing list