Bug 742237, MutationObserver crashes during GC, r=sicking

This commit is contained in:
Olli Pettay 2012-04-04 18:11:57 +03:00
Родитель 30c673af46
Коммит f6ad7172e0
1 изменённых файлов: 7 добавлений и 3 удалений

Просмотреть файл

@ -261,14 +261,18 @@ public:
mRegisterTarget->RemoveMutationObserver(this);
mRegisterTarget = nsnull;
}
if (mTarget && mObserver) {
mTarget->UnbindObject(mObserver);
}
mParent = nsnull;
nsINode* target = mTarget;
mTarget = nsnull;
nsIDOMMozMutationObserver* observer = mObserver;
mObserver = nsnull;
RemoveClones();
if (target && observer) {
// Unbind may delete 'this'!
target->UnbindObject(observer);
}
}
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMUTATION_OBSERVER_IID)