From 2ad38ca0641a3b511c01fa0e13ebbfeeedfc681e Mon Sep 17 00:00:00 2001 From: "gagan%netscape.com" Date: Tue, 25 Jan 2000 03:11:16 +0000 Subject: [PATCH] We had a nsCOMPtr on a class instead on a interface (along with the problem that its default constructor was protected) This was preventing the cache from being built on AIX. Should work now. r=self(& scc) See bug 24876 git-svn-id: svn://10.0.0.236/trunk@58535 18797224-902f-48f8-a5cc-f745e15eee43 --- .../netwerk/cache/mgr/nsCacheEntryChannel.cpp | 1 - mozilla/netwerk/cache/mgr/nsCachedNetData.cpp | 21 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/mozilla/netwerk/cache/mgr/nsCacheEntryChannel.cpp b/mozilla/netwerk/cache/mgr/nsCacheEntryChannel.cpp index 468fb4a1485..6a7c9ffb7df 100644 --- a/mozilla/netwerk/cache/mgr/nsCacheEntryChannel.cpp +++ b/mozilla/netwerk/cache/mgr/nsCacheEntryChannel.cpp @@ -129,7 +129,6 @@ class CacheManagerStreamListener: public nsIStreamListener { nsresult Init(nsIStreamListener *aListener, nsILoadGroup *aLoadGroup, nsIChannel *aChannel, nsISupports *aContext) { - nsresult rv = NS_OK; mListener = aListener; mLoadGroup = aLoadGroup; mChannel = aChannel; diff --git a/mozilla/netwerk/cache/mgr/nsCachedNetData.cpp b/mozilla/netwerk/cache/mgr/nsCachedNetData.cpp index a9de25e1f55..3ec3a72bbc8 100644 --- a/mozilla/netwerk/cache/mgr/nsCachedNetData.cpp +++ b/mozilla/netwerk/cache/mgr/nsCachedNetData.cpp @@ -96,8 +96,12 @@ public: // extra vtable pointer in nsCachedNetData class StreamAsFile : public nsIStreamAsFile { public: - StreamAsFile(nsCachedNetData* cacheEntry): mCacheEntry(cacheEntry) {} - virtual ~StreamAsFile() {}; + StreamAsFile(nsCachedNetData* cacheEntry): mCacheEntry(cacheEntry) { + NS_IF_ADDREF(mCacheEntry); + } + virtual ~StreamAsFile() { + NS_IF_RELEASE(mCacheEntry); + }; NS_DECL_ISUPPORTS @@ -114,7 +118,7 @@ public: } protected: - nsCOMPtr mCacheEntry; + nsCachedNetData* mCacheEntry; }; NS_IMPL_ADDREF(StreamAsFile) @@ -1063,11 +1067,16 @@ public: InterceptStreamListener(nsCachedNetData *aCacheEntry, nsIStreamListener *aOriginalListener): - mCacheEntry(aCacheEntry), mOriginalListener(aOriginalListener) { - NS_INIT_REFCNT(); } + mCacheEntry(aCacheEntry), + mOriginalListener(aOriginalListener) + { + NS_INIT_REFCNT(); + NS_IF_ADDREF(mCacheEntry); + } virtual ~InterceptStreamListener() { mCacheEntry->ClearFlag(nsCachedNetData::UPDATE_IN_PROGRESS); + NS_IF_RELEASE(mCacheEntry); }; nsresult Init(PRUint32 aStartingOffset) { @@ -1141,7 +1150,7 @@ private: } private: - nsCOMPtr mCacheEntry; + nsCachedNetData* mCacheEntry; nsCOMPtr mOriginalListener; nsCOMPtr mCacheStream;