From 8a594ab9514b3cfd2a8569da2f6d8b05601e8514 Mon Sep 17 00:00:00 2001 From: "sfraser%netscape.com" Date: Tue, 7 Dec 1999 06:32:52 +0000 Subject: [PATCH] Changing usage of nsCOMPtr on a non-interface pointer to raw addref-release. r=fur --- netwerk/cache/filecache/nsDiskCacheRecord.cpp | 3 +++ netwerk/cache/filecache/nsDiskCacheRecord.h | 2 +- netwerk/cache/filecache/nsDiskCacheRecordChannel.cpp | 2 ++ netwerk/cache/filecache/nsDiskCacheRecordChannel.h | 2 +- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/netwerk/cache/filecache/nsDiskCacheRecord.cpp b/netwerk/cache/filecache/nsDiskCacheRecord.cpp index e58ad375dd8..d91ad69c281 100644 --- a/netwerk/cache/filecache/nsDiskCacheRecord.cpp +++ b/netwerk/cache/filecache/nsDiskCacheRecord.cpp @@ -71,6 +71,8 @@ nsDiskCacheRecord::nsDiskCacheRecord(nsIDBAccessor* db, nsNetDiskCache* aCache) { NS_INIT_REFCNT(); + NS_ASSERTION(mDiskCache, "Must have an nsNetDiskCache"); + NS_ADDREF(mDiskCache); } // mem alloced. so caller should do free() on key. @@ -124,6 +126,7 @@ nsDiskCacheRecord::~nsDiskCacheRecord() if(mMetaData) nsAllocator::Free(mMetaData) ; + NS_IF_RELEASE(mDiskCache); } // diff --git a/netwerk/cache/filecache/nsDiskCacheRecord.h b/netwerk/cache/filecache/nsDiskCacheRecord.h index 085fb02dfa7..d5dc7fe2a50 100644 --- a/netwerk/cache/filecache/nsDiskCacheRecord.h +++ b/netwerk/cache/filecache/nsDiskCacheRecord.h @@ -60,7 +60,7 @@ class nsDiskCacheRecord : public nsINetDataCacheRecord void* mInfo ; PRUint32 mInfoSize ; PRUint32 mNumChannels ; - nsCOMPtr mDiskCache ; + nsNetDiskCache* mDiskCache ; friend class nsDiskCacheRecordChannel ; friend class nsDBEnumerator ; diff --git a/netwerk/cache/filecache/nsDiskCacheRecordChannel.cpp b/netwerk/cache/filecache/nsDiskCacheRecordChannel.cpp index fb4db31237b..c4ce00700a6 100644 --- a/netwerk/cache/filecache/nsDiskCacheRecordChannel.cpp +++ b/netwerk/cache/filecache/nsDiskCacheRecordChannel.cpp @@ -104,12 +104,14 @@ nsDiskCacheRecordChannel::nsDiskCacheRecordChannel(nsDiskCacheRecord *aRecord, mLoadGroup(aLoadGroup) { NS_INIT_REFCNT() ; + NS_ADDREF(mRecord); mRecord->mNumChannels++ ; } nsDiskCacheRecordChannel::~nsDiskCacheRecordChannel() { mRecord->mNumChannels-- ; + NS_RELEASE(mRecord); } // FUR!! diff --git a/netwerk/cache/filecache/nsDiskCacheRecordChannel.h b/netwerk/cache/filecache/nsDiskCacheRecordChannel.h index 879eae286e6..e68f7025dd8 100644 --- a/netwerk/cache/filecache/nsDiskCacheRecordChannel.h +++ b/netwerk/cache/filecache/nsDiskCacheRecordChannel.h @@ -53,7 +53,7 @@ class nsDiskCacheRecordChannel : public nsIChannel nsresult NotifyStorageInUse(PRInt32 aBytesUsed) ; - nsCOMPtr mRecord ; + nsDiskCacheRecord* mRecord ; nsCOMPtr mLoadGroup ; nsCOMPtr mOwner ; nsCOMPtr mFileTransport ;