summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2018-12-13 17:10:29 +0100
committerXisco Faulí <xiscofauli@libreoffice.org>2018-12-14 12:44:30 +0100
commitc5d0d424bd7e78455cb6f9578cf2425ac0787004 (patch)
tree06baffa7420b150452fcb05dec952a07c9b087d1 /svl
parent47cbc0f705dc965e11282d9557bfe7e8e78fea0b (diff)
tdf#120750: Revert "tdf#96248 delete SfxPoolItems with Which Id >= 4000"
This reverts commit c9493b344a9bd104d0a882f5e9407880c0c63c20. According to https://bugs.documentfoundation.org/show_bug.cgi?id=96248#c15 the asert was gone even before the patch... Anyway, better to have an assert than a crash Change-Id: I84389bf2e8e604f6967923c0eedaae3aec3455e6 Reviewed-on: https://gerrit.libreoffice.org/65115 Tested-by: Jenkins Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de> Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
Diffstat (limited to 'svl')
-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 f40c1bca5578..f0945aaf3b2e 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);