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: Fred Kiefer
Subject: Re: Hang in font panel with certain fonts
Date: Fri, 9 Jan 2015 19:48:34 +0100

The increase of i should happen on line 1095, at least for regular characters. 
Looks like we never get there, but better check that with another NSLog.
How could that happen? Maybe line 999 evaluates to true, that is, the line was 
filled by the first glyph. Could you add anothe output before that line and 
report both values? If this is true, please print out the size of the glyph, 
for example on line 995.

Hope this helps,
Fred

On the road

Am 09.01.2015 um 17:09 schrieb Riccardo Mottola <riccardo.mottola@libero.it>:

> Hi,
> 
> Fred Kiefer wrote:
>> could you please explain what you mean by "hang"?
>> And did you get the same stack trace after continuing your application
>> for some time and then stopping it again?
> as we discussed, we suppose there is a loop, but where?
> 
> The first thing is I put an NSLog in both methods in the typesetter and I get 
> something like that when selecting the font:
> 
> <...>
> 2015-01-09 16:47:36.263 Ink[4401] layoutNewParagraph: 1
> 2015-01-09 16:47:36.266 Ink[4401] GSHorizontalTypeSetter - howMany 0
> 2015-01-09 16:47:36.269 Ink[4401] layoutNewParagraph: 0
> 2015-01-09 16:47:36.273 Ink[4401] layoutGlyphsInLayoutManager index 0 howMany > 0
> 2015-01-09 16:47:36.275 Ink[4401] layoutNewParagraph: 1
> 2015-01-09 16:47:36.278 Ink[4401] GSHorizontalTypeSetter - howMany 0
> 2015-01-09 16:47:36.281 Ink[4401] layoutNewParagraph: 0
> 2015-01-09 16:47:36.291 Ink[4401] layoutGlyphsInLayoutManager index 0 howMany > 0
> 2015-01-09 16:47:36.293 Ink[4401] layoutNewParagraph: 1
> 2015-01-09 16:47:36.307 Ink[4401] layoutGlyphsInLayoutManager index 0 howMany > 0
> 2015-01-09 16:47:36.309 Ink[4401] layoutNewParagraph: 1
> <hang>
> 
> This means that the exit condition howMany is always true and that the hang 
> is in layoutNewParagraph, which is not what we were expecting.
> 
> I then put a Log in the "main glyph loop" at about line 730 of 
> GSHorizontalTypesetter
> and indeeed:
> 
> 2015-01-09 17:07:47.150 Ink[6497] Main glyph layout loop. i:0
> 2015-01-09 17:07:47.153 Ink[6497] Main glyph layout loop. i:0
> 2015-01-09 17:07:47.155 Ink[6497] Main glyph layout loop. i:0
> 2015-01-09 17:07:47.158 Ink[6497] Main glyph layout loop. i:0
> 2015-01-09 17:07:47.161 Ink[6497] Main glyph layout loop. i:0
> 2015-01-09 17:07:47.163 Ink[6497] Main glyph layout loop. i:0
> <endless>
> 
> it never increments, while a usual log looks like this:
> 2015-01-09 17:07:31.184 Ink[6497] GSHorizontalTypeSetter - howMany 0
> 2015-01-09 17:07:31.187 Ink[6497] layoutNewParagraph: 0
> 2015-01-09 17:07:31.193 Ink[6497] layoutGlyphsInLayoutManager index 0 howMany > 0
> 2015-01-09 17:07:31.197 Ink[6497] layoutNewParagraph: 1
> 2015-01-09 17:07:31.201 Ink[6497] Main glyph layout loop. i:0
> 2015-01-09 17:07:31.203 Ink[6497] Main glyph layout loop. i:1
> 2015-01-09 17:07:31.206 Ink[6497] Main glyph layout loop. i:2
> 2015-01-09 17:07:31.208 Ink[6497] Main glyph layout loop. i:3
> 2015-01-09 17:07:31.212 Ink[6497] Main glyph layout loop. i:4
> 2015-01-09 17:07:31.215 Ink[6497] Main glyph layout loop. i:5
> 2015-01-09 17:07:31.217 Ink[6497] Main glyph layout loop. i:6
> 2015-01-09 17:07:31.220 Ink[6497] Main glyph layout loop. i:7
> 2015-01-09 17:07:31.224 Ink[6497] GSHorizontalTypeSetter - howMany 0
> <...>
> 
> Thus it loops inside there, if you have ideas where to check, just tell me, 
> I'll continue poking around.
> 
> Riccardo
> 
> 
> 
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep



reply via email to

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