зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
8007074ccd
Коммит
793252e617
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче