mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 951491 - Ensure ResumeTimeouts() after FreeInnerObjects() does nothing. r=bz
This commit is contained in:
parent
6b6b4bece1
commit
ac2549bd60
@ -1083,6 +1083,7 @@ nsGlobalWindow::nsGlobalWindow(nsGlobalWindow *aOuterWindow)
|
||||
#endif
|
||||
mShowFocusRingForContent(false),
|
||||
mFocusByKeyOccurred(false),
|
||||
mInnerObjectsFreed(false),
|
||||
mHasGamepad(false),
|
||||
#ifdef MOZ_GAMEPAD
|
||||
mHasSeenGamepadInput(false),
|
||||
@ -1520,6 +1521,8 @@ nsGlobalWindow::FreeInnerObjects()
|
||||
// re-create.
|
||||
NotifyDOMWindowDestroyed(this);
|
||||
|
||||
mInnerObjectsFreed = true;
|
||||
|
||||
// Kill all of the workers for this window.
|
||||
mozilla::dom::workers::CancelWorkersForWindow(this);
|
||||
|
||||
@ -12561,7 +12564,7 @@ nsGlobalWindow::ResumeTimeouts(bool aThawChildren)
|
||||
|
||||
NS_ASSERTION(mTimeoutsSuspendDepth, "Mismatched calls to ResumeTimeouts!");
|
||||
--mTimeoutsSuspendDepth;
|
||||
bool shouldResume = (mTimeoutsSuspendDepth == 0);
|
||||
bool shouldResume = (mTimeoutsSuspendDepth == 0) && !mInnerObjectsFreed;
|
||||
nsresult rv;
|
||||
|
||||
if (shouldResume) {
|
||||
|
@ -1407,6 +1407,10 @@ protected:
|
||||
// should be displayed.
|
||||
bool mFocusByKeyOccurred : 1;
|
||||
|
||||
// Ensure that a call to ResumeTimeouts() after FreeInnerObjects() does nothing.
|
||||
// This member is only used by inner windows.
|
||||
bool mInnerObjectsFreed : 1;
|
||||
|
||||
// Indicates whether this window wants gamepad input events
|
||||
bool mHasGamepad : 1;
|
||||
#ifdef MOZ_GAMEPAD
|
||||
|
Loading…
Reference in New Issue
Block a user