Fix crash when destroying an editor that was never Init()'ed. b=325386 r=timeless sr=roc

This commit is contained in:
mats.palmgren%bredband.net 2006-06-17 00:17:26 +00:00
parent 4ecd5be03c
commit 4a3815c885
2 changed files with 18 additions and 1 deletions

View File

@ -394,6 +394,11 @@ nsEditor::InstallEventListeners()
void
nsEditor::RemoveEventListeners()
{
if (!mDocWeak)
{
return;
}
nsCOMPtr<nsIDOMEventReceiver> erP = GetDOMEventReceiver();
if (erP)
@ -5308,7 +5313,14 @@ nsEditor::GetDOMEventReceiver()
// Don't use getDocument here, because we have no way of knowing
// if Init() was ever called. So we need to get the document
// ourselves, if it exists.
CallQueryReferent(mDocWeak.get(), &erp);
if (mDocWeak)
{
CallQueryReferent(mDocWeak.get(), &erp);
}
else
{
NS_ERROR("not initialized yet");
}
}
return erp;

View File

@ -367,6 +367,11 @@ nsHTMLEditor::CreateEventListeners()
void
nsHTMLEditor::RemoveEventListeners()
{
if (!mDocWeak)
{
return;
}
nsCOMPtr<nsIDOMEventReceiver> erP = GetDOMEventReceiver();
if (erP)