Closed Bug 321894 Opened 19 years ago Closed 15 years ago

ASSERTION: RemovedAsPrimaryFrame called after PreDestroy: 'PR_FALSE'

Categories

(Core :: Layout: Form Controls, defect)

x86
All
defect
Not set
minor

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: martijn.martijn, Assigned: MatsPalmgren_bugz)

References

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

See upcoming testcase. When loading the testcase, I get this assertion: ###!!! ASSERTION: RemovedAsPrimaryFrame called after PreDestroy: 'PR_FALSE', fil e c:/mozilla/mozilla/layout/forms/nsTextControlFrame.cpp, line 1437
Attached file testcase
This is basically a regression from bug 315752, I think -- we walk the out of flows twice. :( This code should really be more like DoDeletingFrameSubtree....
Blocks: 315752
Depends on: 310638
I did a quick hack making DoCleanupFrameReferences() walk the frames as in bug 310638 and it made the assertion go away... One difference I noticed between the two is that DoCleanupFrameReferences() does: aFrameManager->SetPrimaryFrameFor(content, nsnull); aFrame->RemovedAsPrimaryFrame(aPresContext); aFrameManager->ClearAllUndisplayedContentIn(content); also for placeholders. But DoDeletingFrameSubtree() only does it for the out-of-flow...
Assignee: nobody → mats.palmgren
(In reply to comment #3) > One difference I noticed between the two is that DoCleanupFrameReferences() > does: > > aFrameManager->SetPrimaryFrameFor(content, nsnull); > aFrame->RemovedAsPrimaryFrame(aPresContext); > aFrameManager->ClearAllUndisplayedContentIn(content); > > also for placeholders. The first is silly for placeholders, since it'll happen for the out-of-flow (happens for the content, not for a specific frame). The second is silly because a placeholder is never the primary frame. The third is silly because it'll happen for the out-of-flow (again happens for the content).
ok, then it shouldn't be hard to merge them I think.
Severity: normal → minor
OS: Windows XP → All
Blocks: 319280
No longer blocks: 319280
Still happening in current debug trunk build.
Still happening in current debug trunk build.
WFM, mozilla-central on Linux and OSX. I checked in the test as crashtest (it passed all platforms on MozillaTry): http://hg.mozilla.org/mozilla-central/rev/7e404bb124f7 -> WORKSFORME
Status: NEW → RESOLVED
Closed: 15 years ago
Flags: in-testsuite+
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: