discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hang in font panel with certain fonts


From: Riccardo Mottola
Subject: Re: Hang in font panel with certain fonts
Date: Fri, 09 Jan 2015 13:03:08 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:34.0) Gecko/20100101 Firefox/34.0 SeaMonkey/2.31

Hi,

On 2015-01-08 21:22:29 +0100 Fred Kiefer <fredkiefer@gmx.de> wrote:

Hi Riccardo,

could you please explain what you mean by "hang"?

Hang means that the preview of the font does not change (the previosuly selected font remains). The application stops to respond to any click. It redraws windows and controls though (no white/black spots)

And did you get the same stack trace after continuing your application
for some time and then stopping it again?

No I just waited for a long time.

The line your reported stack trace is in looks rather harmless:


    CGFloat f_ascender = [f ascender], f_descender = -[f descender];

If the printouts do not  seem suspect to you.... I don't know.
I tried today again and get a different stacktrace:

#0  0xbba13023 in -[GSHorizontalTypesetter layoutLineNewParagraph:] (
    self=0xb821a088, _cmd=0x0, newParagraph=1 '\001')
    at GSHorizontalTypesetter.m:678
#1 0xbba1492b in -[GSHorizontalTypesetter layoutGlyphsInLayoutManager:inTextContainer:startingAtGlyphIndex:previousLineFragmentRect:nextGlyphIndex:numberOfLineFragments:] (self=0x0, _cmd=0xbbba52c0, layoutManager=<optimized out>, textContainer=<optimized out>, glyphIndex=<optimized out>, previousLineFragRect=..., nextGlyphIndex=<optimized out>, howMany=<optimized out>) at GSHorizontalTypesetter.m:1281
#2  0xbba0e812 in -[GSLayoutManager(LayoutHelpers) _doLayoutToContainer:] (
    self=0xb821a088, _cmd=0xb8039678, cindex=<optimized out>)
    at GSLayoutManager.m:2000
#3  0xbba0fa6a in -[GSLayoutManager(layout) usedRectForTextContainer:] (
    self=0xb804dce8, _cmd=0xbbb6fd98, container=<optimized out>)
    at GSLayoutManager.m:2627
#4 0xbb9723ec in cache_lookup (hasSize=<optimized out>, useScreenFonts=<optimized out>, size=<optimized out>)
    at NSStringDrawing.m:317
#5 0xbb972614 in -[NSAttributedString(NSStringDrawing) drawWithRect:options:]
    (self=<optimized out>, _cmd=0xb, rect=..., options=3086229864)
    at NSStringDrawing.m:430


up at #6 I can:
(gdb) po self
Terminal Roman 12 PT{NSColor = "{ ColorSpace = \"NSNamedColorSpace\"; Catalog = \"System\"; Color = \"textColor\"; }"; NSFont = "<NSFont: 0xb7c35d88> Terminal 12.000 0.000 0.000 12.000 0.000 0.000 P 0"; NSParagraphStyle = "<NSMutableParagraphStyle: 0xb7c16da8> Alignment: 2 LineSpacing: 0.000000 ParagraphSpacing: 0.000000 LineBreakMode: 0"; }

which means it is draing the preview string of the "Terminal" font

I hit continue, wait 5 minutes:
#0  0xbba1370e in -[GSHorizontalTypesetter layoutLineNewParagraph:] (
รน    self=0xb821a088, _cmd=0x0, newParagraph=1 '\001')
    at GSHorizontalTypesetter.m:906
#1 0xbba1492b in -[GSHorizontalTypesetter layoutGlyphsInLayoutManager:inTextContainer:startingAtGlyphIndex:previousLineFragmentRect:nextGlyphIndex:numberOfLineFragments:] (self=0x0, _cmd=0xbbba52c0, layoutManager=<optimized out>, textContainer=<optimized out>, glyphIndex=<optimized out>, previousLineFragRect=..., nextGlyphIndex=<optimized out>, howMany=<optimized out>) at GSHorizontalTypesetter.m:1281
#2  0xbba0e812 in -[GSLayoutManager(LayoutHelpers) _doLayoutToContainer:] (
    self=0xb821a088, _cmd=0xb8039678, cindex=<optimized out>)
    at GSLayoutManager.m:2000
#3  0xbba0fa6a in -[GSLayoutManager(layout) usedRectForTextContainer:] (
    self=0xb804dce8, _cmd=0xbbb6fd98, container=<optimized out>)
    at GSLayoutManager.m:2627
#4 0xbb9723ec in cache_lookup (hasSize=<optimized out>, useScreenFonts=<optimized out>, size=<optimized out>)
    at NSStringDrawing.m:317
#5 0xbb972614 in -[NSAttributedString(NSStringDrawing) drawWithRect:options:]
    (self=<optimized out>, _cmd=0xb, rect=..., options=3086229864)
    at NSStringDrawing.m:430

It is still trying to print the same string!

After a couple of minutes:
#0  0xbba131f5 in -[GSHorizontalTypesetter layoutLineNewParagraph:] (
    self=0xb821a088, _cmd=0x0, newParagraph=1 '\001')
    at GSHorizontalTypesetter.m:709
#1 0xbba1492b in -[GSHorizontalTypesetter layoutGlyphsInLayoutManager:inTextContainer:startingAtGlyphIndex:previousLineFragmentRect:nextGlyphIndex:numberOfLineFragments:] (self=0x0, _cmd=0xbbba52c0, layoutManager=<optimized out>, textContainer=<optimized out>, glyphIndex=<optimized out>, previousLineFragRect=..., nextGlyphIndex=<optimized out>, howMany=<optimized out>) at GSHorizontalTypesetter.m:1281
#2  0xbba0e812 in -[GSLayoutManager(LayoutHelpers) _doLayoutToContainer:] (
    self=0xb821a088, _cmd=0xb8039678, cindex=<optimized out>)
    at GSLayoutManager.m:2000
#3  0xbba0fa6a in -[GSLayoutManager(layout) usedRectForTextContainer:] (
    self=0xb804dce8, _cmd=0xbbb6fd98, container=<optimized out>)
    at GSLayoutManager.m:2627
#4 0xbb9723ec in cache_lookup (hasSize=<optimized out>, useScreenFonts=<optimized out>, size=<optimized out>)
    at NSStringDrawing.m:317
#5 0xbb972614 in -[NSAttributedString(NSStringDrawing) drawWithRect:options:]
    (self=<optimized out>, _cmd=0xb, rect=..., options=3086229864)
    at NSStringDrawing.m:430

Which is our original stacktrace. So this code is looping without doing anything.


Sorry for being of no help here,

I never seem to have easy problems, sorry!

RiccardoRiccardo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]