[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUmail+cairo Backtrace
From: |
Fred Kiefer |
Subject: |
Re: GNUmail+cairo Backtrace |
Date: |
Tue, 27 Feb 2007 13:05:51 +0100 |
User-agent: |
Thunderbird 1.5.0.9 (X11/20060911) |
Fred Kiefer schrieb:
> Ingolf Jandt schrieb:
>> Now I have unpacked the GNUMail sources and the root of the problem seems to
>> be (MailWindowController.m:2378--2382 method -setDataViewType:):
>>
>> #if !defined(MACOSX) && !defined(__MINGW32__)
>> // We set the table row height, depending on the current font
>>
>> aSize = [[NSFont seenMessageFont] maximumAdvancement];
>> [dataView setRowHeight: aSize.height];
>> #endif
>>
>
> Thank you very much. This is the hint I needed. I will now check, what
> the cairo backend is doing wrong when calculating the maximum
> advancement for a font.
>
I did some investigation and it turns out that the cairo backend is our
only backend that implements maximumAdvancement corretly. The width of
this should be 0 for horizontal fonts. Reporting back the maximal height
of a character, as we do in the other backends, is wrong.
This means that GNUMail is calling the wrong method here, it should get
the height from defaultLineHeightForFont.
There seems to be another problem with all font backends that descender
is supposed to be negative, but we return it positive. Looks like I need
to change some stuff here.
Cheers,
Fred