Closed Bug 587539 Opened 13 years ago Closed 12 years ago

there can be no nearest widget in nsLayoutUtils::PaintFrame in some edge cases

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: tnikkel, Unassigned)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
When we remove a child view in nsViewManager::RemoveChild we invalidate the area it used to occupy. If the removed view has a widget in its subtree then we ask for invalidation in that widget. Then we disconnect the removed view from the view hierarchy. When we serve the paint the display root is the removed view because its parent is null, but it does not have a widget. So we crash in nsLayoutUtils::PaintFrame.

Moving the invalidate to after we've disconnected the view causes more problems because the child widget is still linked to its parent when we do the invalidate. Nevertheless I'd like try to do that and fix the problems, but not in this bug.

Another patch which I will probably need for 130078 that causes us to continue to draw the "old" page while the "new" page has painting suppressed causes this to come up.
Attachment #466194 - Flags: review?(roc)
http://hg.mozilla.org/mozilla-central/rev/4b21b05e8dc8
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.