Closed Bug 629950 Opened 9 years ago Closed 9 years ago

[@ nsIPresShell::RemoveRefreshObserverInternal(nsARefreshObserver*, mozFlushType)]

Categories

(Core :: Layout, defect)

x86
Windows 7
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla2.0b11

People

(Reporter: smaug, Assigned: surkov)

Details

(Keywords: regression)

Attachments

(2 files)

Boris, is it unsafe to remove refresh observer when pagehide event is handled?
All those crashes are at offset 0x20 == 32 and in 32-bit builds.  And the code it crashes on is:

  GetPresContext()->RefreshDriver()->
    RemoveRefreshObserver(aObserver, aFlushType); 

32 is the offset of mRefreshDriver inside nsPresContext on 32-bit systems.  So GetPresContext() is returning null.  And yes, that could happen during pagehide...

nsIPresShell::RemoveRefreshObserverInternal should  null-check the prescontext.  Probably the add method should too.

Alexander, want to write the the patch?
blocking2.0: --- → ?
Keywords: regression
Attached patch patchSplinter Review
sure.

asking approval until bug is marked as blocking
Assignee: nobody → surkov.alexander
Status: NEW → ASSIGNED
Attachment #508677 - Flags: review?(bzbarsky)
Attachment #508677 - Flags: approval2.0?
Comment on attachment 508677 [details] [diff] [review]
patch

I'd prefer a local for the prescontext.  With that change, r+a=me.
Attachment #508677 - Flags: review?(bzbarsky)
Attachment #508677 - Flags: review+
Attachment #508677 - Flags: approval2.0?
Attachment #508677 - Flags: approval2.0+
with bz's comment addressed
landed on 2.0 beta 11 - http://hg.mozilla.org/mozilla-central/rev/8b5cb26bbb10
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b11
blocking2.0: ? → ---
You need to log in before you can comment on or make changes to this bug.