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
This commit is contained in:
bzbarsky%mit.edu
2009-02-04 14:47:58 +00:00
parent 4b501fc608
commit 1750babb9c

View File

@@ -929,8 +929,7 @@ void
nsBindingManager::PostProcessAttachedQueueEvent()
{
mProcessAttachedQueueEvent =
new nsRunnableMethod<nsBindingManager>(
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();