Closed Bug 4573 Opened 25 years ago Closed 25 years ago

gtk font crash

Categories

(Core Graveyard :: Viewer App, defect, P3)

x86
Linux

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: brad, Assigned: erik)

References

()

Details

I don't know what causes this function to get called with a font that has a null
mSizes, but its not capable of handling it properly.

Breakpoint 2, PickASizeAndLoad (aSearch=0xbfff7888, aStretch=0x8270558,
aCharSet=0x82701b0)
    at ../../../../mozilla/gfx/src/gtk/nsFontMetricsGTK.cpp:1314
1314      nsFontGTK* begin = aStretch->mSizes;
1: *aStretch = {mSizes = 0x0, mSizesAlloc = 0, mSizesCount = 0,
  mScalable = 0x8270570
"-ttf-verdana-medium-i-normal-italic-%d-*-*-*-p-*-iso8859-1", mScaledFonts =
0x0,
  mScaledFontsAlloc = 0, mScaledFontsCount = 0}

This patch hides the problem, but does let a page load:
===================================================================
RCS file: /cvsroot/mozilla/gfx/src/gtk/nsFontMetricsGTK.cpp,v
retrieving revision 1.34
diff -r1.34 nsFontMetricsGTK.cpp
1314,1317c1314,1317
<   nsFontGTK* begin = aStretch->mSizes;
<   nsFontGTK* end = &aStretch->mSizes[aStretch->mSizesCount];
<   nsFontMetricsGTK* m = aSearch->mMetrics;
<   int desiredSize = m->mPixelSize;
---
>   nsFontGTK* begin;
>   nsFontGTK* end;
>   nsFontMetricsGTK* m;
>   int desiredSize;
1318a1319,1326
>   if (!aStretch->mSizes) {
>     printf ("PackASizeAndLoad: Error, aSearch->mSizes is null\n");
>     return;
>   }
>   begin = aStretch->mSizes;
>   end = &aStretch->mSizes[aStretch->mSizesCount];
>   m = aSearch->mMetrics;
>   desiredSize = m->mPixelSize;


After which I get this crash if I try to load any other page:
Program received signal SIGSEGV, Segmentation fault.
0x400609d8 in nsWidget::GetParent (this=0x8245000) at
../../../../mozilla/widget/src/gtk/nsWidget.cpp:156
156       NS_ADDREF(mParent);
(gdb) print mParent
$1 = (nsIWidget *) 0x0
Assignee: rickg → erik
Reassign to erik@netscape.com
Status: NEW → ASSIGNED
OK, I know what the problem is. But the tree is closed...
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Checked a fix into nsFontMetricsGTK.cpp
Target Milestone: M4
Status: RESOLVED → VERIFIED
Fixes the crash for me, but I know bruce is still wrestling with a number of
font issues.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.