diff options
authorNoel Grandin <>2018-05-18 10:53:26 +0200
committerNoel Grandin <>2018-05-18 20:01:56 +0200
commit9e60d29be40dfcc66604cb642e699d4febf032dc (patch)
parent0ca1659353cc9847f436280873e1047d2524395e (diff)
tdf#117539 Crash after cut and paste operation of a chart stick
regression from commit 3d44b720f58366398e7f59c00dba6339712a670f loplugin:useuniqueptr in SfxItemPool_Impl where I accidentally removed some fallback code. Note that this does not fix the underlying bug where some pool is not correctly set up. Also, this only fixes the bug that I introduced in the above commit, another bug in the same area has subsequently been introduced, causing a crash in a different area when performing this operation. Change-Id: Iaae3b0dc82c740b498e3735273820647ef28fd01 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
1 files changed, 6 insertions, 0 deletions
diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index e967089e17ee..0be3d7105525 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -94,6 +94,12 @@ SfxItemSet::SfxItemSet(SfxItemPool& rPool)
m_pWhichRanges = const_cast<sal_uInt16*>(m_pPool->GetFrozenIdRanges());
assert( m_pWhichRanges && "don't create ItemSets with full range before FreezeIdRanges()" );
+ if (!m_pWhichRanges)
+ {
+ std::unique_ptr<sal_uInt16[]> tmp;
+ m_pPool->FillItemIdRanges_Impl(tmp);
+ m_pWhichRanges = tmp.release();
+ }
const sal_uInt16 nSize = TotalCount();
m_pItems.reset(new const SfxPoolItem*[nSize]{});