From 1750babb9c0bfd0c11dce411c8c51ac94b375d60 Mon Sep 17 00:00:00 2001 From: "bzbarsky%mit.edu" Date: Wed, 4 Feb 2009 14:47:58 +0000 Subject: [PATCH] Bug 474406. Revoke our pending constructor processing event if our document goes away. r+sr=sicking, a=dveditz git-svn-id: svn://10.0.0.236/trunk@256086 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/xbl/src/nsBindingManager.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mozilla/content/xbl/src/nsBindingManager.cpp b/mozilla/content/xbl/src/nsBindingManager.cpp index 70507855439..ac35f33643f 100644 --- a/mozilla/content/xbl/src/nsBindingManager.cpp +++ b/mozilla/content/xbl/src/nsBindingManager.cpp @@ -929,8 +929,7 @@ void nsBindingManager::PostProcessAttachedQueueEvent() { mProcessAttachedQueueEvent = - new nsRunnableMethod( - this, &nsBindingManager::DoProcessAttachedQueue); + NS_NEW_RUNNABLE_METHOD(nsBindingManager, this, DoProcessAttachedQueue); nsresult rv = NS_DispatchToCurrentThread(mProcessAttachedQueueEvent); if (NS_SUCCEEDED(rv) && mDocument) { mDocument->BlockOnload(); @@ -940,6 +939,11 @@ nsBindingManager::PostProcessAttachedQueueEvent() void nsBindingManager::DoProcessAttachedQueue() { + if (!mDocument) { + // Our document is gone; get out of here. + return; + } + if (!mProcessingAttachedStack) { ProcessAttachedQueue();