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;