Closed Bug 455614 Opened 16 years ago Closed 15 years ago

"ASSERTION: We got null for |e| but MatchElementId found something?" moving svg:pattern many times

Categories

(Core :: SVG, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jruderman, Unassigned)

References

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached image testcase
###!!! ASSERTION: We got null for |e| but MatchElementId found something?: '!eDebug', file /Users/jruderman/central/content/base/src/nsDocument.cpp, line 3306

This code is part of liveness infrastructure roc added in bug 344258.
It's a race between mutation observers.  The assertion occurs when we run
nsSVGPatternElement::ContentAppended (which calls GetElementByIdInternal)
before nsDocument::ContentAppended (which registers the ID).
There is a nsIdentifierMapEntry::FireChangeCallbacks which is called
for ID changes but AFAICT there is nothing leading back to SVG to
update the SVG element through that route, so I think nsSVGPatternElement
isn't doing what it should for this notification which I suppose could
lead to bad rendering.

Maybe we could fire nsSVGPatternElement::PushUpdate() async to
guarantee all mutation observers are done?
OS: Mac OS X → All
Hardware: PC → All
this should be fixed with my paint-server update in bug 455984.
Don't see this any more so I guess bug 455984 probably did fix it.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
Flags: in-testsuite-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: