[squeak-dev] Freetype bug on OSX

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Freetype bug on OSX

Stephen Pair
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...



Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: Freetype bug on OSX

Andrew Tween
Hi,
>"Stephen Pair" <[hidden email]> wrote in message
>news:[hidden email]...
>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?

The error occurs when displaying underlined or strikethrough text.

To fix it you need to install the modified bitblt plugin from here...
ftp://ftp.smalltalkconsulting.com/experimental/BitBltPlugin.v1.0.0b1.FreeTypePlus.bundle.zip

Cheers,
Andy



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Freetype bug on OSX

Stephen Pair
On Sat, Apr 12, 2008 at 10:51 AM, Andrew Tween <[hidden email]> wrote:
Hi,
"Stephen Pair" <[hidden email]> wrote in message news:[hidden email]...

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?

The error occurs when displaying underlined or strikethrough text.

To fix it you need to install the modified bitblt plugin from here...
ftp://ftp.smalltalkconsulting.com/experimental/BitBltPlugin.v1.0.0b1.FreeTypePlus.bundle.zip

Cheers,
Andy

Thanks!