Closed Bug 370255 Opened 17 years ago Closed 17 years ago

ASSERTION: frame not dirty: 'aFrame->GetStateBits() & (NS_FRAME_IS_DIRTY | NS_FRAME_HAS_DIRTY_CHILDREN)' on changing page direction

Categories

(Core :: Layout: Text and Fonts, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: smontagu, Assigned: smontagu)

References

()

Details

Attachments

(2 files)

Attached patch PatchSplinter Review
I get this assertion sometimes when changing page direction from the context menu.
Caller is nsContainerFrame::InsertFrames():

#ifdef IBMBIDI
    if (nsnull == aListName)
#endif
    // Ask the parent frame to reflow me.
    AddStateBits(NS_FRAME_IS_DIRTY);
    GetPresContext()->PresShell()->
      FrameNeedsReflow(this, nsIPresShell::eTreeChange);

The #ifdef IBMBIDI condition should apply to both lines, like the parallel code in nsContainerFrame::AppendFrames
Attachment #254922 - Flags: superreview?(roc)
Attachment #254922 - Flags: review?(uriber)
Assignee: nobody → smontagu
Attachment #254922 - Flags: superreview?(roc) → superreview+
Checked in.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Depends on: 368573
Flags: in-testsuite?
Flags: in-testsuite? → in-testsuite-
This can indeed be tested -- it requires setting the appropriate environment variable to make assertions cause a crash.  We need a test harness which runs in this manner and is graphical (xpcshell tests run with assertions fatal already, but you don't get any graphical capabilities) to properly write a testcase to ensure the assertion isn't violated in the future in this manner (bug 368573).
Flags: in-testsuite- → in-testsuite?
(In reply to comment #3)
> This can indeed be tested -- it requires setting the appropriate environment
> variable to make assertions cause a crash.

Or we could scrape the logs for assertions.

Attached file testcase
In the meanwhile, here is a testcase that asserts on load in builds without the patch.
Component: Layout: BiDi Hebrew & Arabic → Layout: Text
QA Contact: layout.bidi → layout.fonts-and-text
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: