Changing usage of nsCOMPtr on a non-interface pointer to raw addref-release. r=fur

This commit is contained in:
sfraser%netscape.com 1999-12-07 06:32:52 +00:00
Родитель 905815073c
Коммит 8a594ab951
4 изменённых файлов: 7 добавлений и 2 удалений

Просмотреть файл

@ -71,6 +71,8 @@ nsDiskCacheRecord::nsDiskCacheRecord(nsIDBAccessor* db, nsNetDiskCache* aCache)
{ {
NS_INIT_REFCNT(); NS_INIT_REFCNT();
NS_ASSERTION(mDiskCache, "Must have an nsNetDiskCache");
NS_ADDREF(mDiskCache);
} }
// mem alloced. so caller should do free() on key. // mem alloced. so caller should do free() on key.
@ -124,6 +126,7 @@ nsDiskCacheRecord::~nsDiskCacheRecord()
if(mMetaData) if(mMetaData)
nsAllocator::Free(mMetaData) ; nsAllocator::Free(mMetaData) ;
NS_IF_RELEASE(mDiskCache);
} }
// //

2
netwerk/cache/filecache/nsDiskCacheRecord.h поставляемый
Просмотреть файл

@ -60,7 +60,7 @@ class nsDiskCacheRecord : public nsINetDataCacheRecord
void* mInfo ; void* mInfo ;
PRUint32 mInfoSize ; PRUint32 mInfoSize ;
PRUint32 mNumChannels ; PRUint32 mNumChannels ;
nsCOMPtr<nsNetDiskCache> mDiskCache ; nsNetDiskCache* mDiskCache ;
friend class nsDiskCacheRecordChannel ; friend class nsDiskCacheRecordChannel ;
friend class nsDBEnumerator ; friend class nsDBEnumerator ;

Просмотреть файл

@ -104,12 +104,14 @@ nsDiskCacheRecordChannel::nsDiskCacheRecordChannel(nsDiskCacheRecord *aRecord,
mLoadGroup(aLoadGroup) mLoadGroup(aLoadGroup)
{ {
NS_INIT_REFCNT() ; NS_INIT_REFCNT() ;
NS_ADDREF(mRecord);
mRecord->mNumChannels++ ; mRecord->mNumChannels++ ;
} }
nsDiskCacheRecordChannel::~nsDiskCacheRecordChannel() nsDiskCacheRecordChannel::~nsDiskCacheRecordChannel()
{ {
mRecord->mNumChannels-- ; mRecord->mNumChannels-- ;
NS_RELEASE(mRecord);
} }
// FUR!! // FUR!!

Просмотреть файл

@ -53,7 +53,7 @@ class nsDiskCacheRecordChannel : public nsIChannel
nsresult NotifyStorageInUse(PRInt32 aBytesUsed) ; nsresult NotifyStorageInUse(PRInt32 aBytesUsed) ;
nsCOMPtr<nsDiskCacheRecord> mRecord ; nsDiskCacheRecord* mRecord ;
nsCOMPtr<nsILoadGroup> mLoadGroup ; nsCOMPtr<nsILoadGroup> mLoadGroup ;
nsCOMPtr<nsISupports> mOwner ; nsCOMPtr<nsISupports> mOwner ;
nsCOMPtr<nsIChannel> mFileTransport ; nsCOMPtr<nsIChannel> mFileTransport ;