summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svl/source/items/itempool.cxx11
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);