Hi,
On 2015-01-08 21:22:29 +0100 Fred Kiefer <[email protected]> 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
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep