From 36a419cd5a2a59577c08eb08f17e4df31ae6d969 Mon Sep 17 00:00:00 2001 From: "bzbarsky%mit.edu" Date: Thu, 24 Oct 2002 01:03:00 +0000 Subject: [PATCH] need to NS_INIT_ISUPPORTS to prevent thresafety assertions. bug 175437, r=timeless, sr=alecf, a=dbaron git-svn-id: svn://10.0.0.236/trunk@132422 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/xpcom/ds/nsArrayEnumerator.cpp | 8 +++++--- mozilla/xpcom/ds/nsArrayEnumerator.h | 4 +++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/mozilla/xpcom/ds/nsArrayEnumerator.cpp b/mozilla/xpcom/ds/nsArrayEnumerator.cpp index aa5549b3228..875a207908d 100644 --- a/mozilla/xpcom/ds/nsArrayEnumerator.cpp +++ b/mozilla/xpcom/ds/nsArrayEnumerator.cpp @@ -55,7 +55,7 @@ nsSimpleArrayEnumerator::HasMoreElements(PRBool* aResult) PRUint32 cnt; nsresult rv = mValueArray->GetLength(&cnt); if (NS_FAILED(rv)) return rv; - *aResult = (mIndex < (PRInt32) cnt); + *aResult = (mIndex < cnt); return NS_OK; } @@ -74,7 +74,7 @@ nsSimpleArrayEnumerator::GetNext(nsISupports** aResult) PRUint32 cnt; nsresult rv = mValueArray->GetLength(&cnt); if (NS_FAILED(rv)) return rv; - if (mIndex >= (PRInt32) cnt) + if (mIndex >= cnt) return NS_ERROR_UNEXPECTED; return mValueArray->QueryElementAt(mIndex++, NS_GET_IID(nsISupports), (void**)aResult); @@ -108,7 +108,9 @@ public: NS_DECL_NSISIMPLEENUMERATOR // nsSimpleArrayEnumerator methods - nsCOMArrayEnumerator() : mIndex(0) {} + nsCOMArrayEnumerator() : mIndex(0) { + NS_INIT_ISUPPORTS(); + } virtual ~nsCOMArrayEnumerator(void); // specialized operator to make sure we make room for mValues diff --git a/mozilla/xpcom/ds/nsArrayEnumerator.h b/mozilla/xpcom/ds/nsArrayEnumerator.h index 36515038bde..7df685a6e3f 100644 --- a/mozilla/xpcom/ds/nsArrayEnumerator.h +++ b/mozilla/xpcom/ds/nsArrayEnumerator.h @@ -57,7 +57,9 @@ public: // nsSimpleArrayEnumerator methods nsSimpleArrayEnumerator(nsIArray* aValueArray) : - mValueArray(aValueArray), mIndex(0) {} + mValueArray(aValueArray), mIndex(0) { + NS_INIT_ISUPPORTS(); + } virtual ~nsSimpleArrayEnumerator(void) {} protected: