Fix for bug 36362. We no longer null out the ref count of form elements in their Release() methods before deleting them. This fixes the crashes on www.cnn.com and www.msn.com.

This commit is contained in:
nisheeth%netscape.com 2000-04-21 01:03:20 +00:00
parent 8007074ccd
commit 793252e617
12 changed files with 12 additions and 24 deletions

View File

@ -169,8 +169,7 @@ nsHTMLButtonElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLButtonElement");
delete this;
return 0;

View File

@ -128,8 +128,7 @@ nsHTMLFieldSetElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLFieldSetElement");
delete this;
return 0;

View File

@ -251,8 +251,7 @@ nsHTMLInputElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLInputElement");
delete this;
return 0;

View File

@ -176,8 +176,7 @@ nsHTMLLabelElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLLabelElement");
delete this;
return 0;

View File

@ -308,8 +308,7 @@ nsHTMLSelectElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLSelectElement");
delete this;
return 0;

View File

@ -199,8 +199,7 @@ nsHTMLTextAreaElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLTextAreaElement");
delete this;
return 0;

View File

@ -169,8 +169,7 @@ nsHTMLButtonElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLButtonElement");
delete this;
return 0;

View File

@ -128,8 +128,7 @@ nsHTMLFieldSetElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLFieldSetElement");
delete this;
return 0;

View File

@ -251,8 +251,7 @@ nsHTMLInputElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLInputElement");
delete this;
return 0;

View File

@ -176,8 +176,7 @@ nsHTMLLabelElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLLabelElement");
delete this;
return 0;

View File

@ -308,8 +308,7 @@ nsHTMLSelectElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLSelectElement");
delete this;
return 0;

View File

@ -199,8 +199,7 @@ nsHTMLTextAreaElement::Release()
if (mRefCnt <= 0) {
delete this;
return 0;
} else if ((1 == mRefCnt) && mForm) {
mRefCnt = 0;
} else if ((1 == mRefCnt) && mForm) {
NS_LOG_RELEASE(this, mRefCnt, "nsHTMLTextAreaElement");
delete this;
return 0;