Closed Bug 398903 Opened 13 years ago Closed 13 years ago

Crash [@ nsSVGEnum::SetBaseValue] setting orient attribute on a marker

Categories

(Core :: SVG, defect)

x86
Windows XP
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: rdmsoft, Assigned: longsonr)

References

Details

(Keywords: crash, regression, testcase)

Crash Data

Attachments

(1 file)

54 bytes, application/xml
Details
Attached file testcase
I can only reproduce this in non-libxul builds. Since the checkin for bug 383685 (2007-09-25), an svg:marker element with an orient attribute (any value) causes an access violation in gklayout.
From what I understand, it's because SetAttr calls mOrientType.SetBaseValue, which expects all nsSVGEnum to have mappings, and orientType doesn't.

>	gklayout.dll!nsSVGEnum::SetBaseValue(unsigned short aValue=1, nsSVGElement * aSVGElement=0x02c8ed78, int aDoSetAttr=0)  Line 105 + 0x9	C++
 	gklayout.dll!nsSVGMarkerElement::SetAttr(int aNameSpaceID=0, nsIAtom * aName=0x014efb58, nsIAtom * aPrefix=0x00000000, const nsAString_internal & aValue={...}, int aNotify=0)  Line 306	C++
 	gklayout.dll!nsXMLContentSink::AddAttributes(const unsigned short * * aAtts=0x00000000, nsIContent * aContent=0x014efb58)  Line 1500 + 0x32	C++
 	gklayout.dll!nsXMLContentSink::HandleStartElement(const unsigned short * aName=0x00000000, const unsigned short * * aAtts=0x0207cf90, unsigned int aAttsCount=2, int aIndex=-1, unsigned int aLineNumber=1, int aInterruptable=1)  Line 1058	C++
...
This is fixed by the patch for bug 397749
Assignee: nobody → longsonr
Depends on: 397749
patch in bug 397749 checked in.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Flags: in-testsuite?
Crash Signature: [@ nsSVGEnum::SetBaseValue]
You need to log in before you can comment on or make changes to this bug.