[Webkit-unassigned] [Bug 37747] New: Crash in FontFallbackList::determinePitch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Apr 16 22:47:28 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=37747

           Summary: Crash in FontFallbackList::determinePitch
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
        OS/Version: Windows 7
            Status: UNCONFIRMED
          Severity: Critical
          Priority: P2
         Component: Layout and Rendering
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: zhangxm at yahoo.cn


On Windows 7 Platform,Get Nightly build r57720, 
Build and run WinLanucher.exe, it will crash every time。

debugging it in Visual Studio 20005, find that the problem is caused by this
function

void FontFallbackList::determinePitch(const Font* font) const
{
    const FontData* fontData = primaryFontData(font);
    if (!fontData->isSegmented())
        m_pitch = static_cast<const SimpleFontData*>(fontData)->pitch();
    else {
        const SegmentedFontData* segmentedFontData = static_cast<const
SegmentedFontData*>(fontData);
        unsigned numRanges = segmentedFontData->numRanges();
        if (numRanges == 1)
            m_pitch = segmentedFontData->rangeAt(0).fontData()->pitch();
        else
            m_pitch = VariablePitch;
    }
} 

fontData is NULL every time。

I Step into primaryFontData() and find the real reason is the following
funciont

void FontPlatformData::platformDataInit(HFONT font, float size, HDC hdc, WCHAR*
faceName)
{
    LOGFONT logfont;
    GetObject(font, sizeof(logfont), &logfont);
    m_cgFont.adoptCF(CGFontCreateWithPlatformFont(&logfont));
}

this function is in
webkit\webcore\platform\graphics\win\FontPlatformDataCGWin.cpp,

this function is modified at revision 55975。before this revison, this crash not
occured。

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list