Closed
Bug 377918
Opened 18 years ago
Closed 18 years ago
Crash [@ gfxContext::CurrentSurface] with tab character (new textframe)
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: smontagu, Assigned: smontagu)
References
()
Details
(Keywords: crash, testcase)
Crash Data
Attachments
(2 files)
|
1.84 KB,
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
|
1.50 KB,
patch
|
roc
:
review+
|
Details | Diff | Splinter Review |
Top of stack:
thebes.dll!gfxContext::CurrentSurface(double * dx=0x00000000, double * dy=0x00000000) Line 78 + 0x3 bytes
thebes.dll!gfxContext::CurrentSurface() Line 91 + 0x10 bytes
thebes.dll!SetupContextFont(gfxContext * aContext=0x00000000, gfxWindowsFont * aFont=0x034ac890) Line 635 + 0xc bytes
thebes.dll!gfxWindowsFontGroup::InitTextRunGDI(gfxContext * aContext=0x00000000, gfxTextRun * aRun=0x034acf40, const char * aString=0x01f7dc37, unsigned int aLength=0x00000001) Line 723 + 0x10 bytes
thebes.dll!gfxWindowsFontGroup::MakeTextRun(const unsigned char * aString=0x01f7dc37, unsigned int aLength=0x00000001, gfxTextRunFactory::Parameters * aParams=0x0012c784) Line 623
thebes.dll!gfxFontGroup::GetSpecialStringTextRun(gfxFontGroup::SpecialString aString=STRING_SPACE, gfxTextRun * aTemplate=0x03eef6c0) Line 551 + 0x18 bytes
gklayout.dll!GetSpecialString(gfxFontGroup * aFontGroup=0x03eef5b8, gfxFontGroup::SpecialString aSpecial=STRING_SPACE, gfxTextRun * aTextRun=0x03eef6c0) Line 1172
gklayout.dll!PropertyProvider::GetSpacing(unsigned int aStart=0x00000000, unsigned int aLength=0x00000001, gfxFont::Spacing * aSpacing=0x0012c9d8) Line 2006 + 0x1d bytes
thebes.dll!gfxTextRun::GetAdjustedSpacing(unsigned int aStart=0x00000000, unsigned int aEnd=0x00000001, gfxTextRun::PropertyProvider * aProvider=0x0012d1d8, gfxFont::Spacing * aSpacing=0x0012c9d8) Line 753
thebes.dll!gfxTextRun::BreakAndMeasureText(unsigned int aStart=0x00000000, unsigned int aMaxLength=0x00000001, int aLineBreakBefore=0x00000001, double aWidth=58860.000000000000, gfxTextRun::PropertyProvider * aProvider=0x0012d1d8, int aSuppressInitialBreak=0x00000001, gfxFont::RunMetrics * aMetrics=0x0012d2b8, int aTightBoundingBox=0x00000000, int * aUsedHyphenation=0x0012d2b4, unsigned int * aLastBreak=0x0012d274) Line 1193
gklayout.dll!nsTextFrame::Reflow(nsPresContext * aPresContext=0x03e68c60, nsHTMLReflowMetrics & aMetrics={...}, const nsHTMLReflowState & aReflowState={...}, unsigned int & aStatus=0x03f07ef8) Line 4762 + 0x64 bytes
MakeTextRun on Windows needs a gfxContext, and GetSpecialStringTextRun doesn't provide one.
Severity: normal → critical
Keywords: crash
Summary: Crash @gfxContext::CurrentSurface with new textframe → Crash [@ gfxContext::CurrentSurface] with new textframe
I'm thinking of moving GetSpecialStringTextRun out of gfxFontGroup altogether and just have it live in nsTextFrame(Thebes). When the new textrun cache goes in, we won't need to specially cache special strings any more.
| Assignee | ||
Comment 2•18 years ago
|
||
Ok, but should we at least put in an assertion?
Comment on attachment 263584 [details] [diff] [review]
Assert on aParams->mContext
sure
Attachment #263584 -
Flags: superreview+
Attachment #263584 -
Flags: review?(roc)
Attachment #263584 -
Flags: review+
| Assignee | ||
Comment 4•18 years ago
|
||
Attachment 263584 [details] [diff] checked in. The crash should be fixed by bug 375760.
Depends on: 375760
| Assignee | ||
Comment 6•18 years ago
|
||
No crash in today's build.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Updated•18 years ago
|
Flags: in-testsuite?
| Assignee | ||
Comment 7•18 years ago
|
||
This is my first reftest, so I'd like review
Attachment #270190 -
Flags: review?(roc)
What are you trying to test here? We don't normally create reftests to test crashes.
| Assignee | ||
Comment 9•18 years ago
|
||
I'm trying to kill two birds with one stone and test that there isn't a visible glyph for the tab character.
Comment on attachment 270190 [details] [diff] [review]
reftest
ok
Attachment #270190 -
Flags: review?(roc) → review+
| Assignee | ||
Updated•18 years ago
|
Flags: in-testsuite? → in-testsuite+
Comment 11•18 years ago
|
||
(In reply to comment #8)
> What are you trying to test here? We don't normally create reftests to test
> crashes.
How else are you going to test crashes?
I dunno if there's an approved method, but mochitests would be better than reftests, because they avoid having to load a reference page and build a compressed PNG for each page.
Updated•18 years ago
|
Keywords: testcase
Summary: Crash [@ gfxContext::CurrentSurface] with new textframe → Crash [@ gfxContext::CurrentSurface] with tab character (new textframe)
Updated•14 years ago
|
Crash Signature: [@ gfxContext::CurrentSurface]
You need to log in
before you can comment on or make changes to this bug.
Description
•