PluggableTextMorphs and squeak locking up

Karl Ramberg karl.ramberg at chello.se
Sun Aug 22 14:38:06 UTC 2004



Marcin Tustin wrote:
> 
>     I've been playing with this, and found that dragging does not
> cause squeak to hang, but that double-clicking on the black borders
> around the textboxes does.
> 
> The following code demonstrates this:
> 
> |w f t1 t2 |
> w := SystemWindow labelled: 'Ahh Kirsty'.
> 
> f := Morph new.
> t1 := PluggableTextMorph new.
> t2 := PluggableTextMorph new.
> 
> w addMorph: f frame: w fullFrame.
> f addMorph: t1.
> f addMorph: t2.
> 
> f layoutPolicy: TableLayout new.
> t1 model: w.
> t2 model: w.
> 
> t1 setText: ''.
> t2 setText: ''.
> 
> w openInWorld.

I get a LowSpaceDebug.log when I click, double click and drag around the
window. 
Debug log attached.
Karl
-------------- next part --------------
Space is low
22 August 2004 4:24:30 pm

VM: Mac OS - a SmalltalkImage
Image: Squeak3.8alpha [latest update: #5976]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir Video:Squeak3.8a-5976 Folder
Trusted Dir Video:Squeak3.8a-5976 Folder
Untrusted Dir HD:Systemmapp:Programinst?llningar:Squeak:Internet:My Squeak

SystemDictionary>>signalLowSpace
	Receiver: a SystemDictionary(lots of globals)
	Arguments and temporary variables: 

	Receiver's instance variables: 
		tally: 	1888
		array: 	#(#MCFileInTest->MCFileInTest nil nil #ExternalStructure #SMInstaller->S...etc...
		cachedClassNames: 	a SortedCollection(#ADPCMCodec #AIFFFileReader #Abort #Abstra...etc...

Bitmap class(Behavior)>>basicNew:
	Receiver: Bitmap
	Arguments and temporary variables: 
		sizeRequested: 	5778091116
	Receiver's instance variables: 
		superclass: 	ArrayedCollection
		methodDict: 	a MethodDictionary(#atAllPut:->a CompiledMethod (241) #bitPatternFo...etc...
		format: 	33538
		instanceVariables: 	nil
		organization: 	('initialize-release' fromByteStream:)
('filing' compress:toByteA...etc...
		subclasses: 	nil
		name: 	#Bitmap
		classPool: 	a Dictionary()
		sharedPools: 	nil
		environment: 	nil
		category: 	nil

Bitmap class(Behavior)>>new:
	Receiver: Bitmap
	Arguments and temporary variables: 
		sizeRequested: 	5778091116
	Receiver's instance variables: 
		superclass: 	ArrayedCollection
		methodDict: 	a MethodDictionary(#atAllPut:->a CompiledMethod (241) #bitPatternFo...etc...
		format: 	33538
		instanceVariables: 	nil
		organization: 	('initialize-release' fromByteStream:)
('filing' compress:toByteA...etc...
		subclasses: 	nil
		name: 	#Bitmap
		classPool: 	a Dictionary()
		sharedPools: 	nil
		environment: 	nil
		category: 	nil

Form>>setExtent:depth:
	Receiver: Form(178808x64629x16)
	Arguments and temporary variables: 
		extent: 	178808 at 64629
		bitsPerPixel: 	16
	Receiver's instance variables: 
		bits: 	nil
		width: 	178808
		height: 	64629
		depth: 	16
		offset: 	nil


--- The full stack ---
SystemDictionary>>signalLowSpace
Bitmap class(Behavior)>>basicNew:
Bitmap class(Behavior)>>new:
Form>>setExtent:depth:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Form class>>extent:depth:
DisplayScreen(Form)>>allocateForm:
HandMorph>>savePatchFrom:
[] in WorldState>>displayWorld:submorphs: {[:h | h savePatchFrom: canvas]}
OrderedCollection>>collect:
[] in WorldState>>displayWorld:submorphs: {[worldDamageRects := self     drawWorld: aWorld     submorphs: submorphs    ...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
WorldState>>displayWorld:submorphs:
PasteUpMorph>>privateOuterDisplayWorld
PasteUpMorph>>displayWorld
[] in WorldState>>displayWorldSafely: {[aWorld displayWorld]}
BlockContext>>on:do:
BlockContext>>ifError:
WorldState>>displayWorldSafely:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor yield.  false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}


More information about the Squeak-dev mailing list