diff --git a/mozilla/content/base/src/nsStyleContext.cpp b/mozilla/content/base/src/nsStyleContext.cpp index 107095cbabf..449ff08acda 100644 --- a/mozilla/content/base/src/nsStyleContext.cpp +++ b/mozilla/content/base/src/nsStyleContext.cpp @@ -1470,14 +1470,18 @@ nsrefcnt StyleContextImpl::AddRef(void) { NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); __log_addref((void*) this, mRefCnt, mRefCnt + 1); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "StyleContextImpl"); + return mRefCnt; } nsrefcnt StyleContextImpl::Release(void) { NS_PRECONDITION(0 != mRefCnt, "dup release"); __log_release((void*) this, mRefCnt, mRefCnt - 1); - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "StyleContextImpl"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } @@ -1493,7 +1497,9 @@ nsrefcnt StyleContextImpl::AddRef(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d AddRef StyleContext %d\n", mRefCnt + 1, mInstance); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "StyleContextImpl"); + return mRefCnt; } nsrefcnt StyleContextImpl::Release(void) @@ -1501,7 +1507,9 @@ nsrefcnt StyleContextImpl::Release(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d Release StyleContext %d\n", mRefCnt - 1, mInstance); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "StyleContextImpl"); + if (mRefCnt == 0) { delete this; return 0; } diff --git a/mozilla/content/html/content/src/nsHTMLAnchorElement.cpp b/mozilla/content/html/content/src/nsHTMLAnchorElement.cpp index 9b8bc77c21d..4f9bfd96ca5 100644 --- a/mozilla/content/html/content/src/nsHTMLAnchorElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLAnchorElement.cpp @@ -151,7 +151,7 @@ nsHTMLAnchorElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLAnchorElementIID)) { nsIDOMHTMLAnchorElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFocusableContentIID)) { diff --git a/mozilla/content/html/content/src/nsHTMLAppletElement.cpp b/mozilla/content/html/content/src/nsHTMLAppletElement.cpp index 1d70a6be5f5..0569de8b43b 100644 --- a/mozilla/content/html/content/src/nsHTMLAppletElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLAppletElement.cpp @@ -151,7 +151,7 @@ nsHTMLAppletElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLAppletElementIID)) { nsIDOMHTMLAppletElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLBodyElement.cpp b/mozilla/content/html/content/src/nsHTMLBodyElement.cpp index 253f188d1af..aa2a06238b7 100644 --- a/mozilla/content/html/content/src/nsHTMLBodyElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLBodyElement.cpp @@ -595,7 +595,7 @@ nsHTMLBodyElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLBodyElementIID)) { nsIDOMHTMLBodyElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLButtonElement.cpp b/mozilla/content/html/content/src/nsHTMLButtonElement.cpp index b8b987ac30e..0330ab37261 100644 --- a/mozilla/content/html/content/src/nsHTMLButtonElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLButtonElement.cpp @@ -155,7 +155,9 @@ nsHTMLButtonElement::~nsHTMLButtonElement() NS_IMETHODIMP_(nsrefcnt) nsHTMLButtonElement::AddRef(void) { - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsHTMLButtonElement"); + return mRefCnt; } nsresult @@ -164,7 +166,7 @@ nsHTMLButtonElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLButtonElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLButtonElement*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFormControlIID)) { @@ -184,6 +186,7 @@ NS_IMETHODIMP_(nsrefcnt) nsHTMLButtonElement::Release() { --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsHTMLButtonElement"); if (mRefCnt <= 0) { delete this; return 0; diff --git a/mozilla/content/html/content/src/nsHTMLDListElement.cpp b/mozilla/content/html/content/src/nsHTMLDListElement.cpp index 4cbd8a5be91..9293f3bb61c 100644 --- a/mozilla/content/html/content/src/nsHTMLDListElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLDListElement.cpp @@ -110,7 +110,7 @@ nsHTMLDListElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLDListElementIID)) { nsIDOMHTMLDListElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLDelElement.cpp b/mozilla/content/html/content/src/nsHTMLDelElement.cpp index 31e1a429f11..31f9a943632 100644 --- a/mozilla/content/html/content/src/nsHTMLDelElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLDelElement.cpp @@ -111,7 +111,7 @@ nsHTMLDelElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLModElementIID)) { nsIDOMHTMLModElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLDirectoryElement.cpp b/mozilla/content/html/content/src/nsHTMLDirectoryElement.cpp index 1a58196c452..60dc7bf818d 100644 --- a/mozilla/content/html/content/src/nsHTMLDirectoryElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLDirectoryElement.cpp @@ -114,7 +114,7 @@ nsHTMLDirectoryElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLDirectoryElementIID)) { nsIDOMHTMLDirectoryElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLDivElement.cpp b/mozilla/content/html/content/src/nsHTMLDivElement.cpp index a74a15264b5..eb79ac37f80 100644 --- a/mozilla/content/html/content/src/nsHTMLDivElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLDivElement.cpp @@ -112,7 +112,7 @@ nsHTMLDivElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLDivElementIID)) { nsIDOMHTMLDivElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLEmbedElement.cpp b/mozilla/content/html/content/src/nsHTMLEmbedElement.cpp index f47edf362d1..3f740b1ec66 100644 --- a/mozilla/content/html/content/src/nsHTMLEmbedElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLEmbedElement.cpp @@ -110,7 +110,7 @@ nsHTMLEmbedElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLEmbedElementIID)) { nsIDOMHTMLEmbedElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } #endif diff --git a/mozilla/content/html/content/src/nsHTMLFieldSetElement.cpp b/mozilla/content/html/content/src/nsHTMLFieldSetElement.cpp index 56c3e691954..b536967def0 100644 --- a/mozilla/content/html/content/src/nsHTMLFieldSetElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLFieldSetElement.cpp @@ -145,12 +145,12 @@ nsHTMLFieldSetElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLFieldSetElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLFieldSetElement*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFormControlIID)) { *aInstancePtr = (void*)(nsIFormControl*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLFontElement.cpp b/mozilla/content/html/content/src/nsHTMLFontElement.cpp index 3f0d4f2b7be..1dde753a789 100644 --- a/mozilla/content/html/content/src/nsHTMLFontElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLFontElement.cpp @@ -117,7 +117,7 @@ nsHTMLFontElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLFontElementIID)) { nsIDOMHTMLFontElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLFormElement.cpp b/mozilla/content/html/content/src/nsHTMLFormElement.cpp index f5775bd56fe..f6600ca3018 100644 --- a/mozilla/content/html/content/src/nsHTMLFormElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLFormElement.cpp @@ -243,7 +243,9 @@ NS_IMETHODIMP_(nsrefcnt) nsHTMLFormElement::AddRef(void) { //nsTraceRefcnt::AddRef((nsIForm*)this, mRefCnt+1, __FILE__, __LINE__); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsHTMLFormElement"); + return mRefCnt; } NS_IMETHODIMP_(nsrefcnt) @@ -251,6 +253,7 @@ nsHTMLFormElement::Release() { //nsTraceRefcnt::Release((nsIForm*)this, mRefCnt-1, __FILE__, __LINE__); --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsHTMLFormElement"); PRUint32 numChildren; GetElementCount(&numChildren); if (mRefCnt == nsrefcnt(numChildren)) { diff --git a/mozilla/content/html/content/src/nsHTMLFrameElement.cpp b/mozilla/content/html/content/src/nsHTMLFrameElement.cpp index f6902a0b2c5..0c011910ea0 100644 --- a/mozilla/content/html/content/src/nsHTMLFrameElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLFrameElement.cpp @@ -123,7 +123,7 @@ nsHTMLFrameElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLFrameElementIID)) { nsIDOMHTMLFrameElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLFrameSetElement.cpp b/mozilla/content/html/content/src/nsHTMLFrameSetElement.cpp index 36df2b80a42..d8e5a0666c8 100644 --- a/mozilla/content/html/content/src/nsHTMLFrameSetElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLFrameSetElement.cpp @@ -111,7 +111,7 @@ nsHTMLFrameSetElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLFrameSetElementIID)) { nsIDOMHTMLFrameSetElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLHeadingElement.cpp b/mozilla/content/html/content/src/nsHTMLHeadingElement.cpp index 87bd394537c..c474ad4267d 100644 --- a/mozilla/content/html/content/src/nsHTMLHeadingElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLHeadingElement.cpp @@ -110,7 +110,7 @@ nsHTMLHeadingElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLHeadingElementIID)) { nsIDOMHTMLHeadingElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLHtmlElement.cpp b/mozilla/content/html/content/src/nsHTMLHtmlElement.cpp index 06e3fe8230f..e8803370e2d 100644 --- a/mozilla/content/html/content/src/nsHTMLHtmlElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLHtmlElement.cpp @@ -113,7 +113,7 @@ nsHTMLHtmlElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLHtmlElementIID)) { nsIDOMHTMLHtmlElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLIFrameElement.cpp b/mozilla/content/html/content/src/nsHTMLIFrameElement.cpp index e27efd2dbc8..7e589dd2fa0 100644 --- a/mozilla/content/html/content/src/nsHTMLIFrameElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLIFrameElement.cpp @@ -135,7 +135,7 @@ nsHTMLIFrameElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLIFrameElementIID)) { nsIDOMHTMLIFrameElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLImageElement.cpp b/mozilla/content/html/content/src/nsHTMLImageElement.cpp index 155a2e83382..a112b664c58 100644 --- a/mozilla/content/html/content/src/nsHTMLImageElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLImageElement.cpp @@ -183,7 +183,7 @@ nsHTMLImageElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLImageElementIID)) { nsIDOMHTMLImageElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } if (aIID.Equals(kIJSNativeInitializerIID)) { diff --git a/mozilla/content/html/content/src/nsHTMLInputElement.cpp b/mozilla/content/html/content/src/nsHTMLInputElement.cpp index e31ef6286a0..9175370e140 100644 --- a/mozilla/content/html/content/src/nsHTMLInputElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLInputElement.cpp @@ -190,7 +190,9 @@ nsHTMLInputElement::~nsHTMLInputElement() NS_IMETHODIMP_(nsrefcnt) nsHTMLInputElement::AddRef(void) { - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsHTMLInputElement"); + return mRefCnt; } @@ -220,6 +222,7 @@ NS_IMETHODIMP_(nsrefcnt) nsHTMLInputElement::Release() { --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsHTMLInputElement"); if (mRefCnt <= 0) { delete this; return 0; diff --git a/mozilla/content/html/content/src/nsHTMLInsElement.cpp b/mozilla/content/html/content/src/nsHTMLInsElement.cpp index 1484d136336..0d4338fa410 100644 --- a/mozilla/content/html/content/src/nsHTMLInsElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLInsElement.cpp @@ -111,7 +111,7 @@ nsHTMLInsElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLModElementIID)) { nsIDOMHTMLModElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLIsIndexElement.cpp b/mozilla/content/html/content/src/nsHTMLIsIndexElement.cpp index 1cf37104010..b8f56bd7a50 100644 --- a/mozilla/content/html/content/src/nsHTMLIsIndexElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLIsIndexElement.cpp @@ -110,7 +110,7 @@ nsHTMLIsIndexElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLIsIndexElementIID)) { nsIDOMHTMLIsIndexElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLLIElement.cpp b/mozilla/content/html/content/src/nsHTMLLIElement.cpp index a3f724de0cd..ee22d628a38 100644 --- a/mozilla/content/html/content/src/nsHTMLLIElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLLIElement.cpp @@ -112,7 +112,7 @@ nsHTMLLIElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLLIElementIID)) { nsIDOMHTMLLIElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLLegendElement.cpp b/mozilla/content/html/content/src/nsHTMLLegendElement.cpp index 8e1553aa185..a186e76029e 100644 --- a/mozilla/content/html/content/src/nsHTMLLegendElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLLegendElement.cpp @@ -122,7 +122,7 @@ nsHTMLLegendElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLLegendElementIID)) { nsIDOMHTMLLegendElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLMapElement.cpp b/mozilla/content/html/content/src/nsHTMLMapElement.cpp index 75b39aecc79..f29f1b3b0a0 100644 --- a/mozilla/content/html/content/src/nsHTMLMapElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLMapElement.cpp @@ -229,7 +229,7 @@ nsHTMLMapElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLMapElementIID)) { nsIDOMHTMLMapElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLMenuElement.cpp b/mozilla/content/html/content/src/nsHTMLMenuElement.cpp index e85c6756108..a4192c2e1e7 100644 --- a/mozilla/content/html/content/src/nsHTMLMenuElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLMenuElement.cpp @@ -114,7 +114,7 @@ nsHTMLMenuElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLMenuElementIID)) { nsIDOMHTMLMenuElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLModElement.cpp b/mozilla/content/html/content/src/nsHTMLModElement.cpp index 6f85c6b66fb..ca9ca40bee4 100644 --- a/mozilla/content/html/content/src/nsHTMLModElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLModElement.cpp @@ -111,7 +111,7 @@ nsHTMLModElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLModElementIID)) { nsIDOMHTMLModElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLOListElement.cpp b/mozilla/content/html/content/src/nsHTMLOListElement.cpp index 19361a0b65a..aea1a8eef23 100644 --- a/mozilla/content/html/content/src/nsHTMLOListElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLOListElement.cpp @@ -114,7 +114,7 @@ nsHTMLOListElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLOListElementIID)) { nsIDOMHTMLOListElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLObjectElement.cpp b/mozilla/content/html/content/src/nsHTMLObjectElement.cpp index b571490c1f3..8c91fc430b9 100644 --- a/mozilla/content/html/content/src/nsHTMLObjectElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLObjectElement.cpp @@ -142,7 +142,7 @@ nsHTMLObjectElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLObjectElementIID)) { nsIDOMHTMLObjectElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLOptGroupElement.cpp b/mozilla/content/html/content/src/nsHTMLOptGroupElement.cpp index d35b0d30272..cf6d132da15 100644 --- a/mozilla/content/html/content/src/nsHTMLOptGroupElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLOptGroupElement.cpp @@ -111,7 +111,7 @@ nsHTMLOptGroupElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLOptGroupElementIID)) { nsIDOMHTMLOptGroupElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLOptionElement.cpp b/mozilla/content/html/content/src/nsHTMLOptionElement.cpp index 8e4df3b698f..9dbd921f48c 100644 --- a/mozilla/content/html/content/src/nsHTMLOptionElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLOptionElement.cpp @@ -160,7 +160,7 @@ nsHTMLOptionElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLOptionElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLOptionElement*) this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } if (aIID.Equals(kIJSNativeInitializerIID)) { diff --git a/mozilla/content/html/content/src/nsHTMLParagraphElement.cpp b/mozilla/content/html/content/src/nsHTMLParagraphElement.cpp index f344f8e0c2e..419acd7eeda 100644 --- a/mozilla/content/html/content/src/nsHTMLParagraphElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLParagraphElement.cpp @@ -115,7 +115,7 @@ nsHTMLParagraphElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLParagraphElementIID)) { nsIDOMHTMLParagraphElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLPreElement.cpp b/mozilla/content/html/content/src/nsHTMLPreElement.cpp index 399bb417666..44288f7b827 100644 --- a/mozilla/content/html/content/src/nsHTMLPreElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLPreElement.cpp @@ -112,7 +112,7 @@ nsHTMLPreElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLPreElementIID)) { nsIDOMHTMLPreElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLQuoteElement.cpp b/mozilla/content/html/content/src/nsHTMLQuoteElement.cpp index 494193519ef..ccc44224fd5 100644 --- a/mozilla/content/html/content/src/nsHTMLQuoteElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLQuoteElement.cpp @@ -109,7 +109,7 @@ nsHTMLQuoteElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLQuoteElementIID)) { nsIDOMHTMLQuoteElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLSelectElement.cpp b/mozilla/content/html/content/src/nsHTMLSelectElement.cpp index 1742e073adf..073d4b6c733 100644 --- a/mozilla/content/html/content/src/nsHTMLSelectElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLSelectElement.cpp @@ -239,17 +239,17 @@ nsHTMLSelectElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLSelectElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLSelectElement*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIDOMNSHTMLSelectElementIID)) { *aInstancePtr = (void*)(nsIDOMNSHTMLSelectElement*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFormControlIID)) { *aInstancePtr = (void*)(nsIFormControl*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFocusableContentIID)) { diff --git a/mozilla/content/html/content/src/nsHTMLSharedObjectElement.cpp b/mozilla/content/html/content/src/nsHTMLSharedObjectElement.cpp index b571490c1f3..8c91fc430b9 100644 --- a/mozilla/content/html/content/src/nsHTMLSharedObjectElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLSharedObjectElement.cpp @@ -142,7 +142,7 @@ nsHTMLObjectElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLObjectElementIID)) { nsIDOMHTMLObjectElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLSpacerElement.cpp b/mozilla/content/html/content/src/nsHTMLSpacerElement.cpp index b8167b633c7..4e74c30710d 100644 --- a/mozilla/content/html/content/src/nsHTMLSpacerElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLSpacerElement.cpp @@ -109,7 +109,7 @@ nsHTMLSpacerElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLSpacerElementIID)) { nsIDOMHTMLSpacerElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } #endif diff --git a/mozilla/content/html/content/src/nsHTMLTableCaptionElement.cpp b/mozilla/content/html/content/src/nsHTMLTableCaptionElement.cpp index 4e6dbd8d836..5c22ce0e7c1 100644 --- a/mozilla/content/html/content/src/nsHTMLTableCaptionElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTableCaptionElement.cpp @@ -110,7 +110,7 @@ nsHTMLTableCaptionElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableCaptionElementIID)) { nsIDOMHTMLTableCaptionElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp b/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp index 293740511bb..dacf8f27002 100644 --- a/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp @@ -157,13 +157,13 @@ nsHTMLTableCellElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableCellElementIID)) { nsIDOMHTMLTableCellElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIHTMLTableCellElementIID)) { nsIHTMLTableCellElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLTableColElement.cpp b/mozilla/content/html/content/src/nsHTMLTableColElement.cpp index b03576bb77b..df124d5d0ab 100644 --- a/mozilla/content/html/content/src/nsHTMLTableColElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTableColElement.cpp @@ -126,13 +126,13 @@ nsHTMLTableColElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableColElementIID)) { nsIDOMHTMLTableColElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } if (aIID.Equals(kIHTMLTableColElementIID)) { nsIHTMLTableColElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLTableColGroupElement.cpp b/mozilla/content/html/content/src/nsHTMLTableColGroupElement.cpp index 33e79c513fe..fe95dbfc91a 100644 --- a/mozilla/content/html/content/src/nsHTMLTableColGroupElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTableColGroupElement.cpp @@ -121,7 +121,7 @@ nsHTMLTableColGroupElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableColElementIID)) { nsIDOMHTMLTableColElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLTableElement.cpp b/mozilla/content/html/content/src/nsHTMLTableElement.cpp index 8be2b0596e3..382f3c8592e 100644 --- a/mozilla/content/html/content/src/nsHTMLTableElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTableElement.cpp @@ -372,7 +372,7 @@ nsHTMLTableElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableElementIID)) { nsIDOMHTMLTableElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLTableRowElement.cpp b/mozilla/content/html/content/src/nsHTMLTableRowElement.cpp index 66136442d2f..22c6890b073 100644 --- a/mozilla/content/html/content/src/nsHTMLTableRowElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTableRowElement.cpp @@ -269,7 +269,7 @@ nsHTMLTableRowElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableRowElementIID)) { nsIDOMHTMLTableRowElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLTableSectionElement.cpp b/mozilla/content/html/content/src/nsHTMLTableSectionElement.cpp index c08391cd6e3..6ed3be40531 100644 --- a/mozilla/content/html/content/src/nsHTMLTableSectionElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTableSectionElement.cpp @@ -130,7 +130,7 @@ nsHTMLTableSectionElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableSectionElementIID)) { nsIDOMHTMLTableSectionElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLTextAreaElement.cpp b/mozilla/content/html/content/src/nsHTMLTextAreaElement.cpp index 4652ff46755..b9f08cb861d 100644 --- a/mozilla/content/html/content/src/nsHTMLTextAreaElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTextAreaElement.cpp @@ -157,12 +157,12 @@ nsHTMLTextAreaElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLTextAreaElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLTextAreaElement*) this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFormControlIID)) { *aInstancePtr = (void*)(nsIFormControl*) this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFocusableContentIID)) { diff --git a/mozilla/content/html/content/src/nsHTMLTitleElement.cpp b/mozilla/content/html/content/src/nsHTMLTitleElement.cpp index ffa9e942a0e..1f1cbd7be43 100644 --- a/mozilla/content/html/content/src/nsHTMLTitleElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTitleElement.cpp @@ -115,7 +115,7 @@ nsHTMLTitleElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTitleElementIID)) { nsIDOMHTMLTitleElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLUListElement.cpp b/mozilla/content/html/content/src/nsHTMLUListElement.cpp index af1eb7af607..b628f1e96e2 100644 --- a/mozilla/content/html/content/src/nsHTMLUListElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLUListElement.cpp @@ -115,7 +115,7 @@ nsHTMLUListElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLUListElementIID)) { nsIDOMHTMLUListElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/content/html/content/src/nsHTMLWBRElement.cpp b/mozilla/content/html/content/src/nsHTMLWBRElement.cpp index 61cff1dc44f..05dc92ba3a6 100644 --- a/mozilla/content/html/content/src/nsHTMLWBRElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLWBRElement.cpp @@ -108,7 +108,7 @@ nsHTMLWBRElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLWBRElementIID)) { nsIDOMHTMLWBRElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } #endif diff --git a/mozilla/content/html/style/src/nsCSSRule.cpp b/mozilla/content/html/style/src/nsCSSRule.cpp index 5a72116d29c..9918dea40c0 100644 --- a/mozilla/content/html/style/src/nsCSSRule.cpp +++ b/mozilla/content/html/style/src/nsCSSRule.cpp @@ -103,7 +103,9 @@ nsCSSRule::AddRef(void) if (mInstance == kInstrument) { fprintf(stdout, "%d AddRef CSSRule\n", mRefCnt + 1); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsCSSRule"); + return mRefCnt; } nsrefcnt @@ -112,7 +114,9 @@ nsCSSRule::Release(void) if (mInstance == kInstrument) { fprintf(stdout, "%d Release CSSRule\n", mRefCnt - 1); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsCSSRule"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } diff --git a/mozilla/content/html/style/src/nsHTMLAttributes.cpp b/mozilla/content/html/style/src/nsHTMLAttributes.cpp index 02195b8b441..7fad315cd91 100644 --- a/mozilla/content/html/style/src/nsHTMLAttributes.cpp +++ b/mozilla/content/html/style/src/nsHTMLAttributes.cpp @@ -952,7 +952,9 @@ nsrefcnt HTMLAttributesImpl::AddRef(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d AddRef HTMLAttributes %d\n", mRefCnt + 1, mInstance); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "HTMLAttributesImpl"); + return mRefCnt; } nsrefcnt HTMLAttributesImpl::Release(void) @@ -960,7 +962,9 @@ nsrefcnt HTMLAttributesImpl::Release(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d Release HTMLAttributes %d\n", mRefCnt - 1, mInstance); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "HTMLAttributesImpl"); + if (mRefCnt == 0) { delete this; return 0; } diff --git a/mozilla/docshell/base/nsWebShell.cpp b/mozilla/docshell/base/nsWebShell.cpp index f1673415dc3..66d0c11cab5 100644 --- a/mozilla/docshell/base/nsWebShell.cpp +++ b/mozilla/docshell/base/nsWebShell.cpp @@ -4239,21 +4239,8 @@ nsWebShellFactory::QueryInterface(const nsIID &aIID, void **aResult) return NS_OK; } -nsrefcnt -nsWebShellFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt -nsWebShellFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsWebShellFactory); +NS_IMPL_RELEASE(nsWebShellFactory); nsresult nsWebShellFactory::CreateInstance(nsISupports *aOuter, diff --git a/mozilla/dom/src/build/nsDOMFactory.cpp b/mozilla/dom/src/build/nsDOMFactory.cpp index 18b9f2eacc6..5ff79cea4d1 100644 --- a/mozilla/dom/src/build/nsDOMFactory.cpp +++ b/mozilla/dom/src/build/nsDOMFactory.cpp @@ -652,19 +652,8 @@ nsresult nsDOMFactory::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsDOMFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsDOMFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsDOMFactory); +NS_IMPL_RELEASE(nsDOMFactory); nsresult nsDOMFactory::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/gfx/src/beos/nsGfxFactoryBeOS.cpp b/mozilla/gfx/src/beos/nsGfxFactoryBeOS.cpp index ddc1bda418f..f84cc05ba42 100644 --- a/mozilla/gfx/src/beos/nsGfxFactoryBeOS.cpp +++ b/mozilla/gfx/src/beos/nsGfxFactoryBeOS.cpp @@ -100,19 +100,8 @@ nsresult nsGfxFactoryBeOS::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsGfxFactoryBeOS::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsGfxFactoryBeOS::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsGfxFactoryBeOS); +NS_IMPL_RELEASE(nsGfxFactoryBeOS); nsresult nsGfxFactoryBeOS::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/gfx/src/gtk/nsGfxFactoryGTK.cpp b/mozilla/gfx/src/gtk/nsGfxFactoryGTK.cpp index a15b5b38ba4..13fd4fffd6c 100644 --- a/mozilla/gfx/src/gtk/nsGfxFactoryGTK.cpp +++ b/mozilla/gfx/src/gtk/nsGfxFactoryGTK.cpp @@ -105,19 +105,8 @@ nsresult nsGfxFactoryGTK::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsGfxFactoryGTK::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsGfxFactoryGTK::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsGfxFactoryGTK); +NS_IMPL_RELEASE(nsGfxFactoryGTK); nsresult nsGfxFactoryGTK::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/gfx/src/mac/nsGfxFactoryMac.cpp b/mozilla/gfx/src/mac/nsGfxFactoryMac.cpp index 5148dd4ff7f..1bd8c7603c3 100644 --- a/mozilla/gfx/src/mac/nsGfxFactoryMac.cpp +++ b/mozilla/gfx/src/mac/nsGfxFactoryMac.cpp @@ -98,19 +98,8 @@ nsresult nsGfxFactoryMac::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsGfxFactoryMac::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsGfxFactoryMac::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsGfxFactoryMac); +NS_IMPL_RELEASE(nsGfxFactoryMac); nsresult nsGfxFactoryMac::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/gfx/src/motif/nsGfxFactoryMotif.cpp b/mozilla/gfx/src/motif/nsGfxFactoryMotif.cpp index 03598d6205a..048f78edaff 100644 --- a/mozilla/gfx/src/motif/nsGfxFactoryMotif.cpp +++ b/mozilla/gfx/src/motif/nsGfxFactoryMotif.cpp @@ -95,19 +95,8 @@ nsresult nsGfxFactoryMotif::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsGfxFactoryMotif::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsGfxFactoryMotif::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsGfxFactoryMotif); +NS_IMPL_RELEASE(nsGfxFactoryMotif); nsresult nsGfxFactoryMotif::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/gfx/src/photon/nsGfxFactoryPh.cpp b/mozilla/gfx/src/photon/nsGfxFactoryPh.cpp index bfe83c7f35b..7ce2f77ae7b 100644 --- a/mozilla/gfx/src/photon/nsGfxFactoryPh.cpp +++ b/mozilla/gfx/src/photon/nsGfxFactoryPh.cpp @@ -109,22 +109,8 @@ nsresult nsGfxFactoryPh::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsGfxFactoryPh::AddRef() -{ - PR_LOG(PhGfxLog, PR_LOG_DEBUG,("nsGfxFactoryPh::AddRef\n")); - return ++mRefCnt; -} - -nsrefcnt nsGfxFactoryPh::Release() -{ - PR_LOG(PhGfxLog, PR_LOG_DEBUG,("nsGfxFactoryPh::Release\n")); - - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsGfxFactoryPh); +NS_IMPL_RELEASE(nsGfxFactoryPh); nsresult nsGfxFactoryPh::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/gfx/src/qt/nsGfxFactoryQT.cpp b/mozilla/gfx/src/qt/nsGfxFactoryQT.cpp index 51fe299fa1b..6dfc64ed803 100644 --- a/mozilla/gfx/src/qt/nsGfxFactoryQT.cpp +++ b/mozilla/gfx/src/qt/nsGfxFactoryQT.cpp @@ -109,22 +109,8 @@ nsresult nsGfxFactoryQT::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsGfxFactoryQT::AddRef() -{ - PR_LOG(QtGfxLM, PR_LOG_DEBUG, ("nsGfxFactoryQT::AddRef()\n")); - return ++mRefCnt; -} - -nsrefcnt nsGfxFactoryQT::Release() -{ - PR_LOG(QtGfxLM, PR_LOG_DEBUG, ("nsGfxFactoryQT::Release()\n")); - if (--mRefCnt == 0) - { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsGfxFactoryQT); +NS_IMPL_RELEASE(nsGfxFactoryQT); nsresult nsGfxFactoryQT::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/gfx/src/windows/nsGfxFactoryWin.cpp b/mozilla/gfx/src/windows/nsGfxFactoryWin.cpp index 5d64e39f987..cc227f25d38 100644 --- a/mozilla/gfx/src/windows/nsGfxFactoryWin.cpp +++ b/mozilla/gfx/src/windows/nsGfxFactoryWin.cpp @@ -117,19 +117,8 @@ nsresult nsGfxFactoryWin::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsGfxFactoryWin::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsGfxFactoryWin::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsGfxFactoryWin); +NS_IMPL_RELEASE(nsGfxFactoryWin); nsresult nsGfxFactoryWin::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/gfx/src/xlib/nsGfxFactoryXlib.cpp b/mozilla/gfx/src/xlib/nsGfxFactoryXlib.cpp index 03909d30385..67b4524ac72 100644 --- a/mozilla/gfx/src/xlib/nsGfxFactoryXlib.cpp +++ b/mozilla/gfx/src/xlib/nsGfxFactoryXlib.cpp @@ -97,19 +97,8 @@ nsresult nsGfxFactoryXlib::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsGfxFactoryXlib::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsGfxFactoryXlib::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // don't access mRefCnt after a delete! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsGfxFactoryXlib); +NS_IMPL_RELEASE(nsGfxFactoryXlib); nsresult nsGfxFactoryXlib::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/htmlparser/src/nsParserFactory.cpp b/mozilla/htmlparser/src/nsParserFactory.cpp index 64b87b2f1d6..12f59684548 100644 --- a/mozilla/htmlparser/src/nsParserFactory.cpp +++ b/mozilla/htmlparser/src/nsParserFactory.cpp @@ -102,19 +102,8 @@ nsresult nsParserFactory::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsParserFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsParserFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsParserFactory); +NS_IMPL_RELEASE(nsParserFactory); nsresult nsParserFactory::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/intl/locale/src/mac/nsLocaleFactoryMac.cpp b/mozilla/intl/locale/src/mac/nsLocaleFactoryMac.cpp index 43e2ebad87a..cea5539db6b 100644 --- a/mozilla/intl/locale/src/mac/nsLocaleFactoryMac.cpp +++ b/mozilla/intl/locale/src/mac/nsLocaleFactoryMac.cpp @@ -69,19 +69,8 @@ nsresult nsLocaleMacFactory::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsLocaleMacFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsLocaleMacFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsLocaleMacFactory); +NS_IMPL_RELEASE(nsLocaleMacFactory); nsresult nsLocaleMacFactory::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/intl/locale/src/mac/nsMacLocaleFactory.cpp b/mozilla/intl/locale/src/mac/nsMacLocaleFactory.cpp index b92bbe2d548..785011b7cb9 100644 --- a/mozilla/intl/locale/src/mac/nsMacLocaleFactory.cpp +++ b/mozilla/intl/locale/src/mac/nsMacLocaleFactory.cpp @@ -105,19 +105,5 @@ nsMacLocaleFactory::LockFactory(PRBool aBool) return NS_OK; } - -nsrefcnt -nsMacLocaleFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt -nsMacLocaleFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsMacLocaleFactory); +NS_IMPL_RELEASE(nsMacLocaleFactory); diff --git a/mozilla/intl/locale/src/unix/nsLocaleFactoryUnix.cpp b/mozilla/intl/locale/src/unix/nsLocaleFactoryUnix.cpp index 0c14b6c192b..2333dd96106 100644 --- a/mozilla/intl/locale/src/unix/nsLocaleFactoryUnix.cpp +++ b/mozilla/intl/locale/src/unix/nsLocaleFactoryUnix.cpp @@ -70,19 +70,8 @@ nsresult nsLocaleUnixFactory::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsLocaleUnixFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsLocaleUnixFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsLocaleUnixFactory); +NS_IMPL_RELEASE(nsLocaleUnixFactory); nsresult nsLocaleUnixFactory::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/intl/locale/src/unix/nsPosixLocaleFactory.cpp b/mozilla/intl/locale/src/unix/nsPosixLocaleFactory.cpp index 162d9b93602..a0b332f0ffa 100644 --- a/mozilla/intl/locale/src/unix/nsPosixLocaleFactory.cpp +++ b/mozilla/intl/locale/src/unix/nsPosixLocaleFactory.cpp @@ -105,19 +105,5 @@ nsPosixLocaleFactory::LockFactory(PRBool aBool) return NS_OK; } - -nsrefcnt -nsPosixLocaleFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt -nsPosixLocaleFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsPosixLocaleFactory); +NS_IMPL_RELEASE(nsPosixLocaleFactory); diff --git a/mozilla/intl/locale/src/windows/nsIWin32LocaleFactory.cpp b/mozilla/intl/locale/src/windows/nsIWin32LocaleFactory.cpp index 4704fe8d54e..a2d6557434a 100644 --- a/mozilla/intl/locale/src/windows/nsIWin32LocaleFactory.cpp +++ b/mozilla/intl/locale/src/windows/nsIWin32LocaleFactory.cpp @@ -104,19 +104,5 @@ nsIWin32LocaleFactory::LockFactory(PRBool aBool) return NS_OK; } - -nsrefcnt -nsIWin32LocaleFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt -nsIWin32LocaleFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsIWin32LocaleFactory); +NS_IMPL_RELEASE(nsIWin32LocaleFactory); diff --git a/mozilla/intl/locale/src/windows/nsLocaleFactoryWin.cpp b/mozilla/intl/locale/src/windows/nsLocaleFactoryWin.cpp index 45b4c6c53d9..410a7e4915f 100644 --- a/mozilla/intl/locale/src/windows/nsLocaleFactoryWin.cpp +++ b/mozilla/intl/locale/src/windows/nsLocaleFactoryWin.cpp @@ -69,19 +69,8 @@ nsresult nsLocaleWinFactory::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsLocaleWinFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsLocaleWinFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsLocaleWinFactory); +NS_IMPL_RELEASE(nsLocaleWinFactory); nsresult nsLocaleWinFactory::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/js/src/xpconnect/src/xpcstack.cpp b/mozilla/js/src/xpconnect/src/xpcstack.cpp index c665e854441..828b1adb862 100644 --- a/mozilla/js/src/xpconnect/src/xpcstack.cpp +++ b/mozilla/js/src/xpconnect/src/xpcstack.cpp @@ -181,15 +181,18 @@ XPCJSStackFrame::AddRef(void) { if(mStack) mStack->AddRef(); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "XPCJSStackFrame"); + return mRefCnt; } nsrefcnt XPCJSStackFrame::Release(void) { // use a local since there can be recursion here. - nsrefcnt count; - if(0 == (count = --mRefCnt)) + nsrefcnt count = --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "XPCJSStackFrame"); + if(0 == count) { NS_DELETEXPCOM(this); return 0; diff --git a/mozilla/js/src/xpconnect/src/xpcwrappedjs.cpp b/mozilla/js/src/xpconnect/src/xpcwrappedjs.cpp index e443aaf613a..b8942a59905 100644 --- a/mozilla/js/src/xpconnect/src/xpcwrappedjs.cpp +++ b/mozilla/js/src/xpconnect/src/xpcwrappedjs.cpp @@ -71,8 +71,9 @@ nsrefcnt nsXPCWrappedJS::AddRef(void) { NS_PRECONDITION(mRoot, "bad root"); - - if(1 == ++mRefCnt && mRoot && mRoot != this) + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsXPCWrappedJS"); + if(1 == mRefCnt && mRoot && mRoot != this) NS_ADDREF(mRoot); return mRefCnt; @@ -83,8 +84,9 @@ nsXPCWrappedJS::Release(void) { NS_PRECONDITION(mRoot, "bad root"); NS_PRECONDITION(0 != mRefCnt, "dup release"); - - if(0 == --mRefCnt) + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsXPCWrappedJS"); + if(0 == mRefCnt) { if(mRoot == this) { @@ -308,7 +310,9 @@ nsrefcnt nsXPCWrappedJSMethods::AddRef(void) { NS_PRECONDITION(mWrapper, "bad state"); - if(2 == ++mRefCnt) + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsXPCWrappedJSMethods"); + if(2 == mRefCnt) NS_ADDREF(mWrapper); return mRefCnt; } @@ -317,7 +321,9 @@ nsrefcnt nsXPCWrappedJSMethods::Release(void) { NS_PRECONDITION(mWrapper, "bad state"); - if(0 == --mRefCnt) + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsXPCWrappedJSMethods"); + if(0 == mRefCnt) { NS_DELETEXPCOM(this); return 0; diff --git a/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp b/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp index b5a99a131b7..5b106a8212f 100644 --- a/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp +++ b/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp @@ -45,8 +45,9 @@ nsXPCWrappedNative::AddRef(void) { NS_PRECONDITION(mRoot, "bad root"); XPCContext* xpcc; - - if(1 == ++mRefCnt && mRoot != this) + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsXPCWrappedNative"); + if(1 == mRefCnt && mRoot != this) NS_ADDREF(mRoot); else if(2 == mRefCnt && nsnull != (xpcc = mClass->GetXPCContext())) JS_AddNamedRoot(xpcc->GetJSContext(), &mJSObj, @@ -59,8 +60,9 @@ nsXPCWrappedNative::Release(void) { NS_PRECONDITION(mRoot, "bad root"); NS_PRECONDITION(0 != mRefCnt, "dup release"); - - if(0 == --mRefCnt) + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsXPCWrappedNative"); + if(0 == mRefCnt) { NS_DELETEXPCOM(this); // also unlinks us from chain return 0; diff --git a/mozilla/layout/base/nsPresContext.cpp b/mozilla/layout/base/nsPresContext.cpp index 109964b9389..85027184573 100644 --- a/mozilla/layout/base/nsPresContext.cpp +++ b/mozilla/layout/base/nsPresContext.cpp @@ -119,24 +119,7 @@ nsPresContext::~nsPresContext() } } -nsrefcnt -nsPresContext::AddRef(void) -{ - return ++mRefCnt; -} - -nsrefcnt -nsPresContext::Release(void) -{ - NS_PRECONDITION(0 != mRefCnt, "bad refcnt"); - if (--mRefCnt == 0) { - delete this; - return 0; - } - return mRefCnt; -} - -NS_IMPL_QUERY_INTERFACE(nsPresContext, kIPresContextIID); +NS_IMPL_ISUPPORTS(nsPresContext, kIPresContextIID); void nsPresContext::GetUserPreferences() diff --git a/mozilla/layout/base/nsPresShell.cpp b/mozilla/layout/base/nsPresShell.cpp index f0ff5a8a027..81f15620561 100644 --- a/mozilla/layout/base/nsPresShell.cpp +++ b/mozilla/layout/base/nsPresShell.cpp @@ -426,7 +426,9 @@ nsrefcnt PresShell::AddRef(void) if (gsNoisyRefs) { printf("PresShell: AddRef: %p, cnt = %d \n",this, mRefCnt+1); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "PresShell"); + return mRefCnt; } // for debugging only @@ -435,7 +437,9 @@ nsrefcnt PresShell::Release(void) if (gsNoisyRefs) { printf("PresShell Release: %p, cnt = %d \n",this, mRefCnt-1); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "PresShell"); + if (mRefCnt == 0) { if (gsNoisyRefs) { printf("PresShell Delete: %p, \n",this); } diff --git a/mozilla/layout/base/src/nsFrameImageLoader.cpp b/mozilla/layout/base/src/nsFrameImageLoader.cpp index 629ff3707a6..afe07ccc971 100644 --- a/mozilla/layout/base/src/nsFrameImageLoader.cpp +++ b/mozilla/layout/base/src/nsFrameImageLoader.cpp @@ -91,6 +91,7 @@ nsrefcnt nsFrameImageLoader::AddRef(void) { NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); __log_addref((void*) this, mRefCnt, mRefCnt + 1); + NS_LOG_ADDREF(this, mRefCnt, "nsFrameImageLoader"); return ++mRefCnt; } @@ -98,7 +99,9 @@ nsrefcnt nsFrameImageLoader::Release(void) { __log_release((void*) this, mRefCnt, mRefCnt - 1); NS_PRECONDITION(0 != mRefCnt, "dup release"); - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsFrameImageLoader"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } diff --git a/mozilla/layout/base/src/nsPresContext.cpp b/mozilla/layout/base/src/nsPresContext.cpp index 109964b9389..85027184573 100644 --- a/mozilla/layout/base/src/nsPresContext.cpp +++ b/mozilla/layout/base/src/nsPresContext.cpp @@ -119,24 +119,7 @@ nsPresContext::~nsPresContext() } } -nsrefcnt -nsPresContext::AddRef(void) -{ - return ++mRefCnt; -} - -nsrefcnt -nsPresContext::Release(void) -{ - NS_PRECONDITION(0 != mRefCnt, "bad refcnt"); - if (--mRefCnt == 0) { - delete this; - return 0; - } - return mRefCnt; -} - -NS_IMPL_QUERY_INTERFACE(nsPresContext, kIPresContextIID); +NS_IMPL_ISUPPORTS(nsPresContext, kIPresContextIID); void nsPresContext::GetUserPreferences() diff --git a/mozilla/layout/base/src/nsStyleContext.cpp b/mozilla/layout/base/src/nsStyleContext.cpp index 107095cbabf..449ff08acda 100644 --- a/mozilla/layout/base/src/nsStyleContext.cpp +++ b/mozilla/layout/base/src/nsStyleContext.cpp @@ -1470,14 +1470,18 @@ nsrefcnt StyleContextImpl::AddRef(void) { NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); __log_addref((void*) this, mRefCnt, mRefCnt + 1); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "StyleContextImpl"); + return mRefCnt; } nsrefcnt StyleContextImpl::Release(void) { NS_PRECONDITION(0 != mRefCnt, "dup release"); __log_release((void*) this, mRefCnt, mRefCnt - 1); - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "StyleContextImpl"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } @@ -1493,7 +1497,9 @@ nsrefcnt StyleContextImpl::AddRef(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d AddRef StyleContext %d\n", mRefCnt + 1, mInstance); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "StyleContextImpl"); + return mRefCnt; } nsrefcnt StyleContextImpl::Release(void) @@ -1501,7 +1507,9 @@ nsrefcnt StyleContextImpl::Release(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d Release StyleContext %d\n", mRefCnt - 1, mInstance); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "StyleContextImpl"); + if (mRefCnt == 0) { delete this; return 0; } diff --git a/mozilla/layout/generic/nsImageFrame.cpp b/mozilla/layout/generic/nsImageFrame.cpp index 634e42cc0b0..574c92135ca 100644 --- a/mozilla/layout/generic/nsImageFrame.cpp +++ b/mozilla/layout/generic/nsImageFrame.cpp @@ -575,6 +575,7 @@ nsImageFrame::GetImageMap() if (NS_SUCCEEDED(rv)) { mImageMap = new nsImageMap(); if (nsnull != mImageMap) { + NS_ADDREF(mImageMap); mImageMap->Init(map); } NS_IF_RELEASE(map); diff --git a/mozilla/layout/generic/nsImageMap.cpp b/mozilla/layout/generic/nsImageMap.cpp index 47022b3182d..c2b02f6b244 100644 --- a/mozilla/layout/generic/nsImageMap.cpp +++ b/mozilla/layout/generic/nsImageMap.cpp @@ -685,9 +685,9 @@ static NS_DEFINE_IID(kIDocumentObserverIID, NS_IDOCUMENT_OBSERVER_IID); nsImageMap::nsImageMap() { + NS_INIT_REFCNT(); mMap = nsnull; mDomMap = nsnull; - mRefCnt = 1; mDocument = nsnull; mContainsBlockContents = PR_FALSE; } diff --git a/mozilla/layout/html/base/src/nsImageFrame.cpp b/mozilla/layout/html/base/src/nsImageFrame.cpp index 634e42cc0b0..574c92135ca 100644 --- a/mozilla/layout/html/base/src/nsImageFrame.cpp +++ b/mozilla/layout/html/base/src/nsImageFrame.cpp @@ -575,6 +575,7 @@ nsImageFrame::GetImageMap() if (NS_SUCCEEDED(rv)) { mImageMap = new nsImageMap(); if (nsnull != mImageMap) { + NS_ADDREF(mImageMap); mImageMap->Init(map); } NS_IF_RELEASE(map); diff --git a/mozilla/layout/html/base/src/nsImageMap.cpp b/mozilla/layout/html/base/src/nsImageMap.cpp index 47022b3182d..c2b02f6b244 100644 --- a/mozilla/layout/html/base/src/nsImageMap.cpp +++ b/mozilla/layout/html/base/src/nsImageMap.cpp @@ -685,9 +685,9 @@ static NS_DEFINE_IID(kIDocumentObserverIID, NS_IDOCUMENT_OBSERVER_IID); nsImageMap::nsImageMap() { + NS_INIT_REFCNT(); mMap = nsnull; mDomMap = nsnull; - mRefCnt = 1; mDocument = nsnull; mContainsBlockContents = PR_FALSE; } diff --git a/mozilla/layout/html/base/src/nsPresShell.cpp b/mozilla/layout/html/base/src/nsPresShell.cpp index f0ff5a8a027..81f15620561 100644 --- a/mozilla/layout/html/base/src/nsPresShell.cpp +++ b/mozilla/layout/html/base/src/nsPresShell.cpp @@ -426,7 +426,9 @@ nsrefcnt PresShell::AddRef(void) if (gsNoisyRefs) { printf("PresShell: AddRef: %p, cnt = %d \n",this, mRefCnt+1); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "PresShell"); + return mRefCnt; } // for debugging only @@ -435,7 +437,9 @@ nsrefcnt PresShell::Release(void) if (gsNoisyRefs) { printf("PresShell Release: %p, cnt = %d \n",this, mRefCnt-1); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "PresShell"); + if (mRefCnt == 0) { if (gsNoisyRefs) { printf("PresShell Delete: %p, \n",this); } diff --git a/mozilla/layout/html/content/src/nsHTMLAnchorElement.cpp b/mozilla/layout/html/content/src/nsHTMLAnchorElement.cpp index 9b8bc77c21d..4f9bfd96ca5 100644 --- a/mozilla/layout/html/content/src/nsHTMLAnchorElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLAnchorElement.cpp @@ -151,7 +151,7 @@ nsHTMLAnchorElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLAnchorElementIID)) { nsIDOMHTMLAnchorElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFocusableContentIID)) { diff --git a/mozilla/layout/html/content/src/nsHTMLAppletElement.cpp b/mozilla/layout/html/content/src/nsHTMLAppletElement.cpp index 1d70a6be5f5..0569de8b43b 100644 --- a/mozilla/layout/html/content/src/nsHTMLAppletElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLAppletElement.cpp @@ -151,7 +151,7 @@ nsHTMLAppletElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLAppletElementIID)) { nsIDOMHTMLAppletElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp b/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp index 253f188d1af..aa2a06238b7 100644 --- a/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLBodyElement.cpp @@ -595,7 +595,7 @@ nsHTMLBodyElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLBodyElementIID)) { nsIDOMHTMLBodyElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLButtonElement.cpp b/mozilla/layout/html/content/src/nsHTMLButtonElement.cpp index b8b987ac30e..0330ab37261 100644 --- a/mozilla/layout/html/content/src/nsHTMLButtonElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLButtonElement.cpp @@ -155,7 +155,9 @@ nsHTMLButtonElement::~nsHTMLButtonElement() NS_IMETHODIMP_(nsrefcnt) nsHTMLButtonElement::AddRef(void) { - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsHTMLButtonElement"); + return mRefCnt; } nsresult @@ -164,7 +166,7 @@ nsHTMLButtonElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLButtonElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLButtonElement*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFormControlIID)) { @@ -184,6 +186,7 @@ NS_IMETHODIMP_(nsrefcnt) nsHTMLButtonElement::Release() { --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsHTMLButtonElement"); if (mRefCnt <= 0) { delete this; return 0; diff --git a/mozilla/layout/html/content/src/nsHTMLDListElement.cpp b/mozilla/layout/html/content/src/nsHTMLDListElement.cpp index 4cbd8a5be91..9293f3bb61c 100644 --- a/mozilla/layout/html/content/src/nsHTMLDListElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLDListElement.cpp @@ -110,7 +110,7 @@ nsHTMLDListElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLDListElementIID)) { nsIDOMHTMLDListElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLDelElement.cpp b/mozilla/layout/html/content/src/nsHTMLDelElement.cpp index 31e1a429f11..31f9a943632 100644 --- a/mozilla/layout/html/content/src/nsHTMLDelElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLDelElement.cpp @@ -111,7 +111,7 @@ nsHTMLDelElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLModElementIID)) { nsIDOMHTMLModElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLDirectoryElement.cpp b/mozilla/layout/html/content/src/nsHTMLDirectoryElement.cpp index 1a58196c452..60dc7bf818d 100644 --- a/mozilla/layout/html/content/src/nsHTMLDirectoryElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLDirectoryElement.cpp @@ -114,7 +114,7 @@ nsHTMLDirectoryElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLDirectoryElementIID)) { nsIDOMHTMLDirectoryElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLDivElement.cpp b/mozilla/layout/html/content/src/nsHTMLDivElement.cpp index a74a15264b5..eb79ac37f80 100644 --- a/mozilla/layout/html/content/src/nsHTMLDivElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLDivElement.cpp @@ -112,7 +112,7 @@ nsHTMLDivElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLDivElementIID)) { nsIDOMHTMLDivElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLEmbedElement.cpp b/mozilla/layout/html/content/src/nsHTMLEmbedElement.cpp index f47edf362d1..3f740b1ec66 100644 --- a/mozilla/layout/html/content/src/nsHTMLEmbedElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLEmbedElement.cpp @@ -110,7 +110,7 @@ nsHTMLEmbedElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLEmbedElementIID)) { nsIDOMHTMLEmbedElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } #endif diff --git a/mozilla/layout/html/content/src/nsHTMLFieldSetElement.cpp b/mozilla/layout/html/content/src/nsHTMLFieldSetElement.cpp index 56c3e691954..b536967def0 100644 --- a/mozilla/layout/html/content/src/nsHTMLFieldSetElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLFieldSetElement.cpp @@ -145,12 +145,12 @@ nsHTMLFieldSetElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLFieldSetElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLFieldSetElement*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFormControlIID)) { *aInstancePtr = (void*)(nsIFormControl*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLFontElement.cpp b/mozilla/layout/html/content/src/nsHTMLFontElement.cpp index 3f0d4f2b7be..1dde753a789 100644 --- a/mozilla/layout/html/content/src/nsHTMLFontElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLFontElement.cpp @@ -117,7 +117,7 @@ nsHTMLFontElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLFontElementIID)) { nsIDOMHTMLFontElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLFormElement.cpp b/mozilla/layout/html/content/src/nsHTMLFormElement.cpp index f5775bd56fe..f6600ca3018 100644 --- a/mozilla/layout/html/content/src/nsHTMLFormElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLFormElement.cpp @@ -243,7 +243,9 @@ NS_IMETHODIMP_(nsrefcnt) nsHTMLFormElement::AddRef(void) { //nsTraceRefcnt::AddRef((nsIForm*)this, mRefCnt+1, __FILE__, __LINE__); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsHTMLFormElement"); + return mRefCnt; } NS_IMETHODIMP_(nsrefcnt) @@ -251,6 +253,7 @@ nsHTMLFormElement::Release() { //nsTraceRefcnt::Release((nsIForm*)this, mRefCnt-1, __FILE__, __LINE__); --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsHTMLFormElement"); PRUint32 numChildren; GetElementCount(&numChildren); if (mRefCnt == nsrefcnt(numChildren)) { diff --git a/mozilla/layout/html/content/src/nsHTMLFrameElement.cpp b/mozilla/layout/html/content/src/nsHTMLFrameElement.cpp index f6902a0b2c5..0c011910ea0 100644 --- a/mozilla/layout/html/content/src/nsHTMLFrameElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLFrameElement.cpp @@ -123,7 +123,7 @@ nsHTMLFrameElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLFrameElementIID)) { nsIDOMHTMLFrameElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLFrameSetElement.cpp b/mozilla/layout/html/content/src/nsHTMLFrameSetElement.cpp index 36df2b80a42..d8e5a0666c8 100644 --- a/mozilla/layout/html/content/src/nsHTMLFrameSetElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLFrameSetElement.cpp @@ -111,7 +111,7 @@ nsHTMLFrameSetElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLFrameSetElementIID)) { nsIDOMHTMLFrameSetElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLHeadingElement.cpp b/mozilla/layout/html/content/src/nsHTMLHeadingElement.cpp index 87bd394537c..c474ad4267d 100644 --- a/mozilla/layout/html/content/src/nsHTMLHeadingElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLHeadingElement.cpp @@ -110,7 +110,7 @@ nsHTMLHeadingElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLHeadingElementIID)) { nsIDOMHTMLHeadingElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLHtmlElement.cpp b/mozilla/layout/html/content/src/nsHTMLHtmlElement.cpp index 06e3fe8230f..e8803370e2d 100644 --- a/mozilla/layout/html/content/src/nsHTMLHtmlElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLHtmlElement.cpp @@ -113,7 +113,7 @@ nsHTMLHtmlElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLHtmlElementIID)) { nsIDOMHTMLHtmlElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLIFrameElement.cpp b/mozilla/layout/html/content/src/nsHTMLIFrameElement.cpp index e27efd2dbc8..7e589dd2fa0 100644 --- a/mozilla/layout/html/content/src/nsHTMLIFrameElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLIFrameElement.cpp @@ -135,7 +135,7 @@ nsHTMLIFrameElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLIFrameElementIID)) { nsIDOMHTMLIFrameElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLImageElement.cpp b/mozilla/layout/html/content/src/nsHTMLImageElement.cpp index 155a2e83382..a112b664c58 100644 --- a/mozilla/layout/html/content/src/nsHTMLImageElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLImageElement.cpp @@ -183,7 +183,7 @@ nsHTMLImageElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLImageElementIID)) { nsIDOMHTMLImageElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } if (aIID.Equals(kIJSNativeInitializerIID)) { diff --git a/mozilla/layout/html/content/src/nsHTMLInputElement.cpp b/mozilla/layout/html/content/src/nsHTMLInputElement.cpp index e31ef6286a0..9175370e140 100644 --- a/mozilla/layout/html/content/src/nsHTMLInputElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLInputElement.cpp @@ -190,7 +190,9 @@ nsHTMLInputElement::~nsHTMLInputElement() NS_IMETHODIMP_(nsrefcnt) nsHTMLInputElement::AddRef(void) { - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsHTMLInputElement"); + return mRefCnt; } @@ -220,6 +222,7 @@ NS_IMETHODIMP_(nsrefcnt) nsHTMLInputElement::Release() { --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsHTMLInputElement"); if (mRefCnt <= 0) { delete this; return 0; diff --git a/mozilla/layout/html/content/src/nsHTMLInsElement.cpp b/mozilla/layout/html/content/src/nsHTMLInsElement.cpp index 1484d136336..0d4338fa410 100644 --- a/mozilla/layout/html/content/src/nsHTMLInsElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLInsElement.cpp @@ -111,7 +111,7 @@ nsHTMLInsElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLModElementIID)) { nsIDOMHTMLModElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLIsIndexElement.cpp b/mozilla/layout/html/content/src/nsHTMLIsIndexElement.cpp index 1cf37104010..b8f56bd7a50 100644 --- a/mozilla/layout/html/content/src/nsHTMLIsIndexElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLIsIndexElement.cpp @@ -110,7 +110,7 @@ nsHTMLIsIndexElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLIsIndexElementIID)) { nsIDOMHTMLIsIndexElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLLIElement.cpp b/mozilla/layout/html/content/src/nsHTMLLIElement.cpp index a3f724de0cd..ee22d628a38 100644 --- a/mozilla/layout/html/content/src/nsHTMLLIElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLLIElement.cpp @@ -112,7 +112,7 @@ nsHTMLLIElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLLIElementIID)) { nsIDOMHTMLLIElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLLayerElement.cpp b/mozilla/layout/html/content/src/nsHTMLLayerElement.cpp index 73af4c39937..101686b203a 100644 --- a/mozilla/layout/html/content/src/nsHTMLLayerElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLLayerElement.cpp @@ -125,7 +125,7 @@ nsHTMLLayerElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLLayerElementIID)) { nsIDOMHTMLLayerElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLLegendElement.cpp b/mozilla/layout/html/content/src/nsHTMLLegendElement.cpp index 8e1553aa185..a186e76029e 100644 --- a/mozilla/layout/html/content/src/nsHTMLLegendElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLLegendElement.cpp @@ -122,7 +122,7 @@ nsHTMLLegendElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLLegendElementIID)) { nsIDOMHTMLLegendElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLMapElement.cpp b/mozilla/layout/html/content/src/nsHTMLMapElement.cpp index 75b39aecc79..f29f1b3b0a0 100644 --- a/mozilla/layout/html/content/src/nsHTMLMapElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLMapElement.cpp @@ -229,7 +229,7 @@ nsHTMLMapElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLMapElementIID)) { nsIDOMHTMLMapElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLMenuElement.cpp b/mozilla/layout/html/content/src/nsHTMLMenuElement.cpp index e85c6756108..a4192c2e1e7 100644 --- a/mozilla/layout/html/content/src/nsHTMLMenuElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLMenuElement.cpp @@ -114,7 +114,7 @@ nsHTMLMenuElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLMenuElementIID)) { nsIDOMHTMLMenuElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLModElement.cpp b/mozilla/layout/html/content/src/nsHTMLModElement.cpp index 6f85c6b66fb..ca9ca40bee4 100644 --- a/mozilla/layout/html/content/src/nsHTMLModElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLModElement.cpp @@ -111,7 +111,7 @@ nsHTMLModElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLModElementIID)) { nsIDOMHTMLModElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLOListElement.cpp b/mozilla/layout/html/content/src/nsHTMLOListElement.cpp index 19361a0b65a..aea1a8eef23 100644 --- a/mozilla/layout/html/content/src/nsHTMLOListElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLOListElement.cpp @@ -114,7 +114,7 @@ nsHTMLOListElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLOListElementIID)) { nsIDOMHTMLOListElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLObjectElement.cpp b/mozilla/layout/html/content/src/nsHTMLObjectElement.cpp index b571490c1f3..8c91fc430b9 100644 --- a/mozilla/layout/html/content/src/nsHTMLObjectElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLObjectElement.cpp @@ -142,7 +142,7 @@ nsHTMLObjectElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLObjectElementIID)) { nsIDOMHTMLObjectElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLOptGroupElement.cpp b/mozilla/layout/html/content/src/nsHTMLOptGroupElement.cpp index d35b0d30272..cf6d132da15 100644 --- a/mozilla/layout/html/content/src/nsHTMLOptGroupElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLOptGroupElement.cpp @@ -111,7 +111,7 @@ nsHTMLOptGroupElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLOptGroupElementIID)) { nsIDOMHTMLOptGroupElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLOptionElement.cpp b/mozilla/layout/html/content/src/nsHTMLOptionElement.cpp index 8e4df3b698f..9dbd921f48c 100644 --- a/mozilla/layout/html/content/src/nsHTMLOptionElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLOptionElement.cpp @@ -160,7 +160,7 @@ nsHTMLOptionElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLOptionElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLOptionElement*) this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } if (aIID.Equals(kIJSNativeInitializerIID)) { diff --git a/mozilla/layout/html/content/src/nsHTMLParagraphElement.cpp b/mozilla/layout/html/content/src/nsHTMLParagraphElement.cpp index f344f8e0c2e..419acd7eeda 100644 --- a/mozilla/layout/html/content/src/nsHTMLParagraphElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLParagraphElement.cpp @@ -115,7 +115,7 @@ nsHTMLParagraphElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLParagraphElementIID)) { nsIDOMHTMLParagraphElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLPreElement.cpp b/mozilla/layout/html/content/src/nsHTMLPreElement.cpp index 399bb417666..44288f7b827 100644 --- a/mozilla/layout/html/content/src/nsHTMLPreElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLPreElement.cpp @@ -112,7 +112,7 @@ nsHTMLPreElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLPreElementIID)) { nsIDOMHTMLPreElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLQuoteElement.cpp b/mozilla/layout/html/content/src/nsHTMLQuoteElement.cpp index 494193519ef..ccc44224fd5 100644 --- a/mozilla/layout/html/content/src/nsHTMLQuoteElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLQuoteElement.cpp @@ -109,7 +109,7 @@ nsHTMLQuoteElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLQuoteElementIID)) { nsIDOMHTMLQuoteElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLSelectElement.cpp b/mozilla/layout/html/content/src/nsHTMLSelectElement.cpp index 1742e073adf..073d4b6c733 100644 --- a/mozilla/layout/html/content/src/nsHTMLSelectElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLSelectElement.cpp @@ -239,17 +239,17 @@ nsHTMLSelectElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLSelectElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLSelectElement*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIDOMNSHTMLSelectElementIID)) { *aInstancePtr = (void*)(nsIDOMNSHTMLSelectElement*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFormControlIID)) { *aInstancePtr = (void*)(nsIFormControl*)this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFocusableContentIID)) { diff --git a/mozilla/layout/html/content/src/nsHTMLSpacerElement.cpp b/mozilla/layout/html/content/src/nsHTMLSpacerElement.cpp index b8167b633c7..4e74c30710d 100644 --- a/mozilla/layout/html/content/src/nsHTMLSpacerElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLSpacerElement.cpp @@ -109,7 +109,7 @@ nsHTMLSpacerElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLSpacerElementIID)) { nsIDOMHTMLSpacerElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } #endif diff --git a/mozilla/layout/html/content/src/nsHTMLTableCaptionElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableCaptionElement.cpp index 4e6dbd8d836..5c22ce0e7c1 100644 --- a/mozilla/layout/html/content/src/nsHTMLTableCaptionElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTableCaptionElement.cpp @@ -110,7 +110,7 @@ nsHTMLTableCaptionElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableCaptionElementIID)) { nsIDOMHTMLTableCaptionElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp index 293740511bb..dacf8f27002 100644 --- a/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp @@ -157,13 +157,13 @@ nsHTMLTableCellElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableCellElementIID)) { nsIDOMHTMLTableCellElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIHTMLTableCellElementIID)) { nsIHTMLTableCellElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLTableColElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableColElement.cpp index b03576bb77b..df124d5d0ab 100644 --- a/mozilla/layout/html/content/src/nsHTMLTableColElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTableColElement.cpp @@ -126,13 +126,13 @@ nsHTMLTableColElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableColElementIID)) { nsIDOMHTMLTableColElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } if (aIID.Equals(kIHTMLTableColElementIID)) { nsIHTMLTableColElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLTableColGroupElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableColGroupElement.cpp index 33e79c513fe..fe95dbfc91a 100644 --- a/mozilla/layout/html/content/src/nsHTMLTableColGroupElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTableColGroupElement.cpp @@ -121,7 +121,7 @@ nsHTMLTableColGroupElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableColElementIID)) { nsIDOMHTMLTableColElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLTableElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableElement.cpp index 8be2b0596e3..382f3c8592e 100644 --- a/mozilla/layout/html/content/src/nsHTMLTableElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTableElement.cpp @@ -372,7 +372,7 @@ nsHTMLTableElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableElementIID)) { nsIDOMHTMLTableElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLTableRowElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableRowElement.cpp index 66136442d2f..22c6890b073 100644 --- a/mozilla/layout/html/content/src/nsHTMLTableRowElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTableRowElement.cpp @@ -269,7 +269,7 @@ nsHTMLTableRowElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableRowElementIID)) { nsIDOMHTMLTableRowElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLTableSectionElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableSectionElement.cpp index c08391cd6e3..6ed3be40531 100644 --- a/mozilla/layout/html/content/src/nsHTMLTableSectionElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTableSectionElement.cpp @@ -130,7 +130,7 @@ nsHTMLTableSectionElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTableSectionElementIID)) { nsIDOMHTMLTableSectionElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLTextAreaElement.cpp b/mozilla/layout/html/content/src/nsHTMLTextAreaElement.cpp index 4652ff46755..b9f08cb861d 100644 --- a/mozilla/layout/html/content/src/nsHTMLTextAreaElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTextAreaElement.cpp @@ -157,12 +157,12 @@ nsHTMLTextAreaElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_IMPL_HTML_CONTENT_QUERY_INTERFACE(aIID, aInstancePtr, this) if (aIID.Equals(kIDOMHTMLTextAreaElementIID)) { *aInstancePtr = (void*)(nsIDOMHTMLTextAreaElement*) this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFormControlIID)) { *aInstancePtr = (void*)(nsIFormControl*) this; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } else if (aIID.Equals(kIFocusableContentIID)) { diff --git a/mozilla/layout/html/content/src/nsHTMLTitleElement.cpp b/mozilla/layout/html/content/src/nsHTMLTitleElement.cpp index ffa9e942a0e..1f1cbd7be43 100644 --- a/mozilla/layout/html/content/src/nsHTMLTitleElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTitleElement.cpp @@ -115,7 +115,7 @@ nsHTMLTitleElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLTitleElementIID)) { nsIDOMHTMLTitleElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLUListElement.cpp b/mozilla/layout/html/content/src/nsHTMLUListElement.cpp index af1eb7af607..b628f1e96e2 100644 --- a/mozilla/layout/html/content/src/nsHTMLUListElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLUListElement.cpp @@ -115,7 +115,7 @@ nsHTMLUListElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLUListElementIID)) { nsIDOMHTMLUListElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } return NS_NOINTERFACE; diff --git a/mozilla/layout/html/content/src/nsHTMLWBRElement.cpp b/mozilla/layout/html/content/src/nsHTMLWBRElement.cpp index 61cff1dc44f..05dc92ba3a6 100644 --- a/mozilla/layout/html/content/src/nsHTMLWBRElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLWBRElement.cpp @@ -108,7 +108,7 @@ nsHTMLWBRElement::QueryInterface(REFNSIID aIID, void** aInstancePtr) if (aIID.Equals(kIDOMHTMLWBRElementIID)) { nsIDOMHTMLWBRElement* tmp = this; *aInstancePtr = (void*) tmp; - mRefCnt++; + NS_ADDREF_THIS(); return NS_OK; } #endif diff --git a/mozilla/layout/html/style/src/nsCSSRule.cpp b/mozilla/layout/html/style/src/nsCSSRule.cpp index 5a72116d29c..9918dea40c0 100644 --- a/mozilla/layout/html/style/src/nsCSSRule.cpp +++ b/mozilla/layout/html/style/src/nsCSSRule.cpp @@ -103,7 +103,9 @@ nsCSSRule::AddRef(void) if (mInstance == kInstrument) { fprintf(stdout, "%d AddRef CSSRule\n", mRefCnt + 1); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsCSSRule"); + return mRefCnt; } nsrefcnt @@ -112,7 +114,9 @@ nsCSSRule::Release(void) if (mInstance == kInstrument) { fprintf(stdout, "%d Release CSSRule\n", mRefCnt - 1); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsCSSRule"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } diff --git a/mozilla/layout/html/style/src/nsHTMLAttributes.cpp b/mozilla/layout/html/style/src/nsHTMLAttributes.cpp index 02195b8b441..7fad315cd91 100644 --- a/mozilla/layout/html/style/src/nsHTMLAttributes.cpp +++ b/mozilla/layout/html/style/src/nsHTMLAttributes.cpp @@ -952,7 +952,9 @@ nsrefcnt HTMLAttributesImpl::AddRef(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d AddRef HTMLAttributes %d\n", mRefCnt + 1, mInstance); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "HTMLAttributesImpl"); + return mRefCnt; } nsrefcnt HTMLAttributesImpl::Release(void) @@ -960,7 +962,9 @@ nsrefcnt HTMLAttributesImpl::Release(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d Release HTMLAttributes %d\n", mRefCnt - 1, mInstance); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "HTMLAttributesImpl"); + if (mRefCnt == 0) { delete this; return 0; } diff --git a/mozilla/layout/style/nsCSSRule.cpp b/mozilla/layout/style/nsCSSRule.cpp index 5a72116d29c..9918dea40c0 100644 --- a/mozilla/layout/style/nsCSSRule.cpp +++ b/mozilla/layout/style/nsCSSRule.cpp @@ -103,7 +103,9 @@ nsCSSRule::AddRef(void) if (mInstance == kInstrument) { fprintf(stdout, "%d AddRef CSSRule\n", mRefCnt + 1); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsCSSRule"); + return mRefCnt; } nsrefcnt @@ -112,7 +114,9 @@ nsCSSRule::Release(void) if (mInstance == kInstrument) { fprintf(stdout, "%d Release CSSRule\n", mRefCnt - 1); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsCSSRule"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } diff --git a/mozilla/layout/style/nsStyleContext.cpp b/mozilla/layout/style/nsStyleContext.cpp index 107095cbabf..449ff08acda 100644 --- a/mozilla/layout/style/nsStyleContext.cpp +++ b/mozilla/layout/style/nsStyleContext.cpp @@ -1470,14 +1470,18 @@ nsrefcnt StyleContextImpl::AddRef(void) { NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); __log_addref((void*) this, mRefCnt, mRefCnt + 1); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "StyleContextImpl"); + return mRefCnt; } nsrefcnt StyleContextImpl::Release(void) { NS_PRECONDITION(0 != mRefCnt, "dup release"); __log_release((void*) this, mRefCnt, mRefCnt - 1); - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "StyleContextImpl"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } @@ -1493,7 +1497,9 @@ nsrefcnt StyleContextImpl::AddRef(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d AddRef StyleContext %d\n", mRefCnt + 1, mInstance); } - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "StyleContextImpl"); + return mRefCnt; } nsrefcnt StyleContextImpl::Release(void) @@ -1501,7 +1507,9 @@ nsrefcnt StyleContextImpl::Release(void) if ((gInstrument == -1) || (mInstance == gInstrument)) { fprintf(stdout, "%d Release StyleContext %d\n", mRefCnt - 1, mInstance); } - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "StyleContextImpl"); + if (mRefCnt == 0) { delete this; return 0; } diff --git a/mozilla/modules/plugin/base/src/nsPluginFactory.cpp b/mozilla/modules/plugin/base/src/nsPluginFactory.cpp index 442cb501cdb..c9d6746b90c 100644 --- a/mozilla/modules/plugin/base/src/nsPluginFactory.cpp +++ b/mozilla/modules/plugin/base/src/nsPluginFactory.cpp @@ -95,19 +95,8 @@ nsresult nsPluginFactory :: QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsPluginFactory :: AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsPluginFactory :: Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsPluginFactory); +NS_IMPL_RELEASE(nsPluginFactory); nsresult nsPluginFactory :: CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/modules/plugin/nglsrc/nsPluginFactory.cpp b/mozilla/modules/plugin/nglsrc/nsPluginFactory.cpp index 442cb501cdb..c9d6746b90c 100644 --- a/mozilla/modules/plugin/nglsrc/nsPluginFactory.cpp +++ b/mozilla/modules/plugin/nglsrc/nsPluginFactory.cpp @@ -95,19 +95,8 @@ nsresult nsPluginFactory :: QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsPluginFactory :: AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsPluginFactory :: Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsPluginFactory); +NS_IMPL_RELEASE(nsPluginFactory); nsresult nsPluginFactory :: CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/network/module/nsNetFactory.cpp b/mozilla/network/module/nsNetFactory.cpp index ac35e06216e..5325a1eb629 100644 --- a/mozilla/network/module/nsNetFactory.cpp +++ b/mozilla/network/module/nsNetFactory.cpp @@ -100,19 +100,8 @@ nsresult nsNetFactory::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsNetFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsNetFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsNetFactory); +NS_IMPL_RELEASE(nsNetFactory); nsresult nsNetFactory::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/parser/htmlparser/src/nsParserFactory.cpp b/mozilla/parser/htmlparser/src/nsParserFactory.cpp index 64b87b2f1d6..12f59684548 100644 --- a/mozilla/parser/htmlparser/src/nsParserFactory.cpp +++ b/mozilla/parser/htmlparser/src/nsParserFactory.cpp @@ -102,19 +102,8 @@ nsresult nsParserFactory::QueryInterface(const nsIID &aIID, return NS_OK; } -nsrefcnt nsParserFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt nsParserFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsParserFactory); +NS_IMPL_RELEASE(nsParserFactory); nsresult nsParserFactory::CreateInstance(nsISupports *aOuter, const nsIID &aIID, diff --git a/mozilla/view/src/nsViewManager.cpp b/mozilla/view/src/nsViewManager.cpp index 0a06cd2fe47..66f3d657185 100644 --- a/mozilla/view/src/nsViewManager.cpp +++ b/mozilla/view/src/nsViewManager.cpp @@ -203,7 +203,9 @@ NS_IMPL_QUERY_INTERFACE(nsViewManager, knsViewManagerIID) nsrefcnt nsViewManager::AddRef(void) { - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsViewManager"); + return mRefCnt; } nsrefcnt nsViewManager::Release(void) @@ -226,6 +228,7 @@ nsrefcnt nsViewManager::Release(void) return 0; } mRefCnt--; + NS_LOG_RELEASE(this, mRefCnt, "nsViewManager"); return mRefCnt; } diff --git a/mozilla/webshell/src/nsThrobber.cpp b/mozilla/webshell/src/nsThrobber.cpp index 5910ee83603..4b50adc3438 100644 --- a/mozilla/webshell/src/nsThrobber.cpp +++ b/mozilla/webshell/src/nsThrobber.cpp @@ -110,12 +110,16 @@ public: //----------------------------------------------- nsrefcnt AddRefObject() { - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsThrobber"); + return mRefCnt; } nsrefcnt ReleaseObject() { NS_PRECONDITION(0 != mRefCnt, "dup release"); - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsThrobber"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } @@ -567,21 +571,8 @@ nsThrobberFactory::QueryInterface(const nsIID &aIID, void **aResult) return NS_OK; } -nsrefcnt -nsThrobberFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt -nsThrobberFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsThrobberFactory); +NS_IMPL_RELEASE(nsThrobberFactory); nsresult nsThrobberFactory::CreateInstance(nsISupports *aOuter, diff --git a/mozilla/webshell/src/nsWebShell.cpp b/mozilla/webshell/src/nsWebShell.cpp index f1673415dc3..66d0c11cab5 100644 --- a/mozilla/webshell/src/nsWebShell.cpp +++ b/mozilla/webshell/src/nsWebShell.cpp @@ -4239,21 +4239,8 @@ nsWebShellFactory::QueryInterface(const nsIID &aIID, void **aResult) return NS_OK; } -nsrefcnt -nsWebShellFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt -nsWebShellFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsWebShellFactory); +NS_IMPL_RELEASE(nsWebShellFactory); nsresult nsWebShellFactory::CreateInstance(nsISupports *aOuter, diff --git a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp index a9bde026732..8081e84fe00 100644 --- a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp +++ b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp @@ -3451,21 +3451,8 @@ nsBrowserWindowFactory::QueryInterface(const nsIID &aIID, void **aResult) return NS_OK; } -nsrefcnt -nsBrowserWindowFactory::AddRef() -{ - return ++mRefCnt; -} - -nsrefcnt -nsBrowserWindowFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsBrowserWindowFactory); +NS_IMPL_RELEASE(nsBrowserWindowFactory); nsresult nsBrowserWindowFactory::CreateInstance(nsISupports *aOuter, diff --git a/mozilla/webshell/tests/viewer/nsThrobber.cpp b/mozilla/webshell/tests/viewer/nsThrobber.cpp index c399ac927ea..6249a708c53 100644 --- a/mozilla/webshell/tests/viewer/nsThrobber.cpp +++ b/mozilla/webshell/tests/viewer/nsThrobber.cpp @@ -48,7 +48,7 @@ nsThrobber* nsThrobber::NewThrobber() { nsThrobber* t = new nsThrobber(); if (t) { - t->mRefCnt++; + NS_ADDREF(t); } return t; } @@ -223,14 +223,18 @@ nsrefcnt nsThrobber::AddRef(void) { NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); __log_addref((void*) this, mRefCnt, mRefCnt + 1); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsThrobber"); + return mRefCnt; } nsrefcnt nsThrobber::Release(void) { __log_release((void*) this, mRefCnt, mRefCnt - 1); NS_PRECONDITION(0 != mRefCnt, "dup release"); - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsThrobber"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } diff --git a/mozilla/webshell/tests/viewer/nsXPBaseWindow.cpp b/mozilla/webshell/tests/viewer/nsXPBaseWindow.cpp index d88e3cb464a..af0a32f38f3 100644 --- a/mozilla/webshell/tests/viewer/nsXPBaseWindow.cpp +++ b/mozilla/webshell/tests/viewer/nsXPBaseWindow.cpp @@ -810,23 +810,8 @@ nsXPBaseWindowFactory::QueryInterface(const nsIID &aIID, void **aResult) return NS_OK; } -//---------------------------------------------------------------------- -nsrefcnt -nsXPBaseWindowFactory::AddRef() -{ - return ++mRefCnt; -} - -//---------------------------------------------------------------------- -nsrefcnt -nsXPBaseWindowFactory::Release() -{ - if (--mRefCnt == 0) { - delete this; - return 0; // Don't access mRefCnt after deleting! - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsXPBaseWindowFactory); +NS_IMPL_RELEASE(nsXPBaseWindowFactory); //---------------------------------------------------------------------- nsresult diff --git a/mozilla/widget/src/gtk/nsAppShell.cpp b/mozilla/widget/src/gtk/nsAppShell.cpp index 0618ea69581..2801f4de855 100644 --- a/mozilla/widget/src/gtk/nsAppShell.cpp +++ b/mozilla/widget/src/gtk/nsAppShell.cpp @@ -156,14 +156,18 @@ nsrefcnt nsAppShell::AddRef(void) { NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); __log_addref((void*) this, mRefCnt, mRefCnt + 1); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsAppShell"); + return mRefCnt; } nsrefcnt nsAppShell::Release(void) { __log_release((void*) this, mRefCnt, mRefCnt - 1); NS_PRECONDITION(0 != mRefCnt, "dup release"); - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsAppShell"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } diff --git a/mozilla/widget/src/mac/nsToolkit.cpp b/mozilla/widget/src/mac/nsToolkit.cpp index 06d5f5021bc..e9845133300 100644 --- a/mozilla/widget/src/mac/nsToolkit.cpp +++ b/mozilla/widget/src/mac/nsToolkit.cpp @@ -74,6 +74,7 @@ void nsMacNSPREventQueueHandler::StartPumping() } ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsMacNSPREventQueueHandler"); StartRepeating(); } @@ -86,7 +87,9 @@ PRBool nsMacNSPREventQueueHandler::StopPumping() return PR_TRUE; if (mRefCnt > 0) { - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsMacNSPREventQueueHandler"); + if (mRefCnt == 0) { StopRepeating(); nsServiceManager::ReleaseService(kEventQueueServiceCID, mEventQService); mEventQService = nsnull; diff --git a/mozilla/widget/src/windows/IENUMFE.CPP b/mozilla/widget/src/windows/IENUMFE.CPP index 2a660508f18..ae8b99b7d75 100644 --- a/mozilla/widget/src/windows/IENUMFE.CPP +++ b/mozilla/widget/src/windows/IENUMFE.CPP @@ -18,7 +18,7 @@ #include "ienumfe.h" #include - +#include "nsISupports.h" /* * CEnumFormatEtc::CEnumFormatEtc @@ -125,6 +125,7 @@ STDMETHODIMP CEnumFormatEtc::QueryInterface(REFIID riid, LPVOID *ppv) STDMETHODIMP_(ULONG) CEnumFormatEtc::AddRef(void) { ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "CEnumFormatEtc"); //printf("CEnumFormatEtc::AddRef >>>>>>>>>>>>>>>>>> %d on %p\n", mRefCnt, this); return mRefCnt; } @@ -134,6 +135,7 @@ STDMETHODIMP_(ULONG) CEnumFormatEtc::Release(void) ULONG cRefT; cRefT = --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "CEnumFormatEtc"); if (0L == mRefCnt) delete this; diff --git a/mozilla/widget/src/xpwidgets/nsBaseWidget.cpp b/mozilla/widget/src/xpwidgets/nsBaseWidget.cpp index dbc5b95f328..45bcec01b94 100644 --- a/mozilla/widget/src/xpwidgets/nsBaseWidget.cpp +++ b/mozilla/widget/src/xpwidgets/nsBaseWidget.cpp @@ -45,14 +45,18 @@ nsrefcnt nsBaseWidget::AddRef(void) { NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); __log_addref((void*) this, mRefCnt, mRefCnt + 1); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsBaseWidget"); + return mRefCnt; } nsrefcnt nsBaseWidget::Release(void) { __log_release((void*) this, mRefCnt, mRefCnt - 1); NS_PRECONDITION(0 != mRefCnt, "dup release"); - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsBaseWidget"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } diff --git a/mozilla/xpcom/base/nsISupportsUtils.h b/mozilla/xpcom/base/nsISupportsUtils.h index e30b7166e8f..724c7992bdd 100644 --- a/mozilla/xpcom/base/nsISupportsUtils.h +++ b/mozilla/xpcom/base/nsISupportsUtils.h @@ -82,7 +82,7 @@ typedef PRUint32 nsrefcnt; * rebuild the world. (That seems easier than hacking makefiles to ensure * that environment variables get checked everywhere.) */ -#ifdef DEBUG_warrenx +#ifdef DEBUG_warren #define BLOATY 1 #endif diff --git a/mozilla/xpcom/components/nsXPComFactory.h b/mozilla/xpcom/components/nsXPComFactory.h index 6f2e4ab9c33..0354ae8b820 100644 --- a/mozilla/xpcom/components/nsXPComFactory.h +++ b/mozilla/xpcom/components/nsXPComFactory.h @@ -69,46 +69,10 @@ class ns##_name##Factory : public nsIFactory \ { \ public: \ + NS_DECL_ISUPPORTS \ + \ ns##_name##Factory() { NS_INIT_REFCNT(); } \ \ - NS_IMETHOD_(nsrefcnt) AddRef (void) \ - { \ - return ++mRefCnt; \ - } \ - \ - NS_IMETHOD_(nsrefcnt) Release(void) \ - { \ - NS_PRECONDITION(0 != mRefCnt, "dup release"); \ - if (--mRefCnt == 0) { \ - NS_DELETEXPCOM(this); \ - return 0; \ - } \ - return mRefCnt; \ - } \ - \ - NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) \ - { \ - if (NULL == aInstancePtr) { \ - return NS_ERROR_NULL_POINTER; \ - } \ - \ - *aInstancePtr = NULL; \ - \ - static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID); \ - static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); \ - if (aIID.Equals(kIFactoryIID)) { \ - *aInstancePtr = (void*) this; \ - NS_ADDREF_THIS(); \ - return NS_OK; \ - } \ - if (aIID.Equals(kISupportsIID)) { \ - *aInstancePtr = (void*) ((nsISupports*)this); \ - NS_ADDREF_THIS(); \ - return NS_OK; \ - } \ - return NS_NOINTERFACE; \ - } \ - \ NS_IMETHOD CreateInstance(nsISupports *aOuter, \ const nsIID &aIID, \ void **aResult) \ @@ -145,14 +109,12 @@ public: \ return NS_OK; \ } \ \ - \ protected: \ virtual ~ns##_name##Factory() \ { \ NS_ASSERTION(mRefCnt == 0, "non-zero refcnt at destruction"); \ } \ - \ - nsrefcnt mRefCnt; \ -}; +}; \ +NS_IMPL_ISUPPORTS1(ns##_name##Factory, nsIFactory); #endif /* nsXPComFactory_h__ */ diff --git a/mozilla/xpcom/ds/nsAtomTable.cpp b/mozilla/xpcom/ds/nsAtomTable.cpp index 17bbe031577..2e9c3ae6a12 100644 --- a/mozilla/xpcom/ds/nsAtomTable.cpp +++ b/mozilla/xpcom/ds/nsAtomTable.cpp @@ -97,14 +97,18 @@ nsrefcnt AtomImpl::AddRef(void) { NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); __log_addref((void*) this, mRefCnt, mRefCnt + 1); - return ++mRefCnt; + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "AtomImpl"); + return mRefCnt; } nsrefcnt AtomImpl::Release(void) { __log_release((void*) this, mRefCnt, mRefCnt - 1); NS_PRECONDITION(0 != mRefCnt, "dup release"); - if (--mRefCnt == 0) { + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "AtomImpl"); + if (mRefCnt == 0) { NS_DELETEXPCOM(this); return 0; } diff --git a/mozilla/xpcom/glue/nsISupportsUtils.h b/mozilla/xpcom/glue/nsISupportsUtils.h index e30b7166e8f..724c7992bdd 100644 --- a/mozilla/xpcom/glue/nsISupportsUtils.h +++ b/mozilla/xpcom/glue/nsISupportsUtils.h @@ -82,7 +82,7 @@ typedef PRUint32 nsrefcnt; * rebuild the world. (That seems easier than hacking makefiles to ensure * that environment variables get checked everywhere.) */ -#ifdef DEBUG_warrenx +#ifdef DEBUG_warren #define BLOATY 1 #endif diff --git a/mozilla/xpcom/proxy/src/nsProxyEventObject.cpp b/mozilla/xpcom/proxy/src/nsProxyEventObject.cpp index 26f7b8d360c..ae2db550083 100644 --- a/mozilla/xpcom/proxy/src/nsProxyEventObject.cpp +++ b/mozilla/xpcom/proxy/src/nsProxyEventObject.cpp @@ -211,7 +211,9 @@ nsProxyEventObject::AddRef(void) { NS_PRECONDITION(mRoot, "bad root"); - if(1 == ++mRefCnt && mRoot && mRoot != this) + ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsProxyEventObject"); + if(1 == mRefCnt && mRoot && mRoot != this) NS_ADDREF(mRoot); return mRefCnt; @@ -223,7 +225,9 @@ nsProxyEventObject::Release(void) NS_PRECONDITION(mRoot, "bad root"); NS_PRECONDITION(0 != mRefCnt, "dup release"); - if(0 == --mRefCnt) + --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsProxyEventObject"); + if (mRefCnt == 0) { if(mRoot == this) { diff --git a/mozilla/xpcom/tests/windows/TestCOM.cpp b/mozilla/xpcom/tests/windows/TestCOM.cpp index 14d28aeb171..616a7733fb9 100644 --- a/mozilla/xpcom/tests/windows/TestCOM.cpp +++ b/mozilla/xpcom/tests/windows/TestCOM.cpp @@ -62,6 +62,7 @@ NS_IMPL_QUERY_INTERFACE(nsTestCom, kITestComIID); nsrefcnt nsTestCom::AddRef() { nsrefcnt res = ++mRefCnt; + NS_LOG_ADDREF(this, mRefCnt, "nsTestCom"); cout << "nsTestCom: Adding ref = " << res << "\n"; return res; } @@ -69,6 +70,7 @@ nsrefcnt nsTestCom::AddRef() nsrefcnt nsTestCom::Release() { nsrefcnt res = --mRefCnt; + NS_LOG_RELEASE(this, mRefCnt, "nsTestCom"); cout << "nsTestCom: Releasing = " << res << "\n"; if (res == 0) { delete this; diff --git a/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp b/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp index 45291dc1dc9..3e156c77825 100644 --- a/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp +++ b/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp @@ -253,23 +253,8 @@ nsWebShellWindow::~nsWebShellWindow() } -NS_IMETHODIMP_(nsrefcnt) nsWebShellWindow::AddRef(void) -{ - NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); - ++mRefCnt; - return mRefCnt; -} - -NS_IMETHODIMP_(nsrefcnt) nsWebShellWindow::Release(void) -{ - NS_PRECONDITION(0 != mRefCnt, "dup release"); - --mRefCnt; - if (mRefCnt == 0) { - NS_DELETEXPCOM(this); - return 0; - } - return mRefCnt; -} +NS_IMPL_ADDREF(nsWebShellWindow); +NS_IMPL_RELEASE(nsWebShellWindow); nsresult nsWebShellWindow::QueryInterface(REFNSIID aIID, void** aInstancePtr)