[squeak-dev] Freetype bug on OSX
Stephen Pair
stephen at pairhome.net
Sat Apr 12 14:19:30 UTC 2008
I'm hitting a failure in a BitBlt primitive when using GrafPort (part of
Freetype). The stack details are below. It seems to happen after typing a
character or two in the code pane of the class browser. Is this a known
issue? Is there a simple fix?
- Stephen
12 April 2008 10:15:06 am
VM: Mac OS - a SmalltalkImage
Image: Squeak3.9 [latest update: #7067]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Users/stephen/Squeak3.9-final-7067
Trusted Dir /foobar/tooBar/forSqueak/bogus
Untrusted Dir /Users/stephen/Library/Preferences/Squeak/Internet/My Squeak
GrafPort(Object)>>error:
Receiver: a GrafPort
Arguments and temporary variables:
aString: 'Error: a primitive has failed'
Receiver's instance variables:
destForm: DisplayScreen(1680x1050x32)
sourceForm: Form(11x1x32)
halftoneForm: nil
combinationRule: 41
destX: 797
destY: 434
width: 11
height: 1
sourceX: 0
sourceY: 0
clipX: 517
clipY: 363
clipWidth: 572
clipHeight: 189
colorMap: nil
alpha: nil
fillPattern: Color black
lastFont: FreeTypeFont('Verdana' 'Regular' 10)
lastFontForegroundColor: Color veryDarkGray
lastFontBackgroundColor: Color transparent
[] in WorldState>>displayWorldSafely: {[:err :rcvr | errCtx := thisContext.
[errCtx := errCtx sender. [errCtx no...]}
Arguments and temporary variables:
aWorld: a PasteUpMorph(1622) [world]
err: 'Error: a primitive has failed'
rcvr: a GrafPort
errCtx: TextMorphForShout(TextMorph)>>drawOn:
errMorph: a TextMorphForShout(192)
BlockContext>>valueWithPossibleArgs:
Receiver: [] in WorldState>>displayWorldSafely: {[:err :rcvr | errCtx :=
thisContext. [errCtx := e...etc...
Arguments and temporary variables:
anArray: an Array('Error: a primitive has failed' a GrafPort)
Receiver's instance variables:
sender: BlockContext>>valueWithPossibleArgs:
pc: 121
stackp: 0
nargs: 2
startpc: 74
home: WorldState>>displayWorldSafely:
[] in BlockContext>>ifError: {[:ex | errorHandlerBlock
valueWithPossibleArgs: {ex description. ex receiver}]}
Arguments and temporary variables:
errorHandlerBlock: [] in WorldState>>displayWorldSafely: {[:err :rcvr |
errCtx...etc...
ex: Error: a primitive has failed
--- The full stack ---
GrafPort(Object)>>error:
[] in WorldState>>displayWorldSafely: {[:err :rcvr | errCtx := thisContext.
[errCtx := errCtx sender. [errCtx no...]}
BlockContext>>valueWithPossibleArgs:
[] in BlockContext>>ifError: {[:ex | errorHandlerBlock
valueWithPossibleArgs: {ex description. ex receiver}]}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BlockContext>>valueWithPossibleArgs:
[] in MethodContext(ContextPart)>>handleSignal: {[(self tempAt: 2)
valueWithPossibleArgs: {exception}]}
BlockContext>>ensure:
MethodContext(ContextPart)>>handleSignal:
Error(Exception)>>signal
Error(Exception)>>signal:
GrafPort(Object)>>error:
GrafPort(Object)>>primitiveFailed
GrafPort(BitBlt)>>copyBitsColor:alpha:gammaTable:ungammaTable:
FreeTypeFont>>displayLineGlyphOn:from:to:
FreeTypeFont>>displayUnderlineOn:from:to:
LogicalFont>>displayUnderlineOn:from:to:
MultiDisplayScanner>>displayLine:offset:leftInRun:
MultiNewParagraph>>displayOn:using:at:
FormCanvas>>paragraph:bounds:color:
TextMorphForShout(TextMorph)>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in TextMorphForShout(Morph)>>fullDrawOn: {[(aCanvas isVisible: self
bounds) ifTrue: [aCanvas drawMorph: self]. self...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
TextMorphForShout(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in TransformMorph>>drawSubmorphsOn: {[:m | myCanvas fullDrawMorph: m]}
Array(SequenceableCollection)>>reverseDo:
[] in TransformMorph>>drawSubmorphsOn: {[:myCanvas | (self angle ~= 0.0
or: [self scale ~= 1.0]) ifTrue: [FreeT...]}
FormCanvas>>transformBy:clippingTo:during:smoothing:
TransformMorph>>drawSubmorphsOn:
[] in TransformMorph(Morph)>>fullDrawOn: {[(aCanvas isVisible: self bounds)
ifTrue: [aCanvas drawMorph: self]. self...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
TransformMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in PluggableShoutMorph(Morph)>>drawSubmorphsOn: {[:m | canvas
fullDrawMorph: m]}
Array(SequenceableCollection)>>reverseDo:
[] in PluggableShoutMorph(Morph)>>drawSubmorphsOn: {[:canvas | submorphs
reverseDo: [:m | canvas fullDrawMorph: m]]}
PluggableShoutMorph(Morph)>>drawSubmorphsOn:
...etc...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080412/619b5b64/attachment.htm
More information about the Squeak-dev
mailing list
|