diff options
-rw-r--r-- | svl/source/items/itempool.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/svl/source/items/itempool.cxx b/svl/source/items/itempool.cxx index 76e9d90b485f..2ac29e44ada6 100644 --- a/svl/source/items/itempool.cxx +++ b/svl/source/items/itempool.cxx @@ -765,9 +765,16 @@ void SfxItemPool::Remove( const SfxPoolItem& rItem ) SfxPoolItem*& p = (*pItemArr)[nIdx]; assert(p == &rItem); - assert(p->GetRefCount() && "removing Item without ref"); + if ( p->GetRefCount() ) //! + ReleaseRef( *p ); + else + { + assert(false && "removing Item without ref"); + } - if (0 == ReleaseRef(*p)) + // FIXME: Hack, for as long as we have problems with the Outliner + // See other MI-REF + if ( 0 == p->GetRefCount() && nWhich < 4000 ) { DELETEZ(p); |