From 21a4337dc2f969dc3ec81e6ba3170119bcb67016 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Tue, 22 Jul 2014 16:39:01 +0000 Subject: Deferred erase now works on cache entries. You can erase a cache entry while it still has active references, and it will be safely cleaned up when the last reference is released. --- src/unstable/cacheobject.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/unstable/cacheobject.h') diff --git a/src/unstable/cacheobject.h b/src/unstable/cacheobject.h index 6eb507b..47e09de 100644 --- a/src/unstable/cacheobject.h +++ b/src/unstable/cacheobject.h @@ -86,7 +86,8 @@ namespace Bu protected: void changed( bool bChanged=true ) { - if( this->bChanged == false && bChanged == true && pCache ) + if( this->bChanged == false && bChanged == true && pCache && + pEntry && !pEntry->isDeleted() ) pCache->objectChanged( getKey() ); this->bChanged = bChanged; -- cgit v1.2.3