From 19937a9686a204e826fe29a422970c5256a14edf Mon Sep 17 00:00:00 2001 From: Julien Nabet Date: Tue, 5 May 2020 20:11:15 +0200 Subject: tdf#132730: fix assertion on group See bt here: https://bugs.documentfoundation.org/attachment.cgi?id=160397 Implement GroupProperties::ClearObjectItem Change-Id: I967f8bda6e4a4edaccdb4a0bd2150bb2af2c1316 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93512 Tested-by: Jenkins Reviewed-by: Julien Nabet (cherry picked from commit c7709eb11cddc37883d1a2391a1dd83f03f5cfa3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94271 Reviewed-by: Michael Stahl --- svx/source/sdr/properties/groupproperties.cxx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'svx') diff --git a/svx/source/sdr/properties/groupproperties.cxx b/svx/source/sdr/properties/groupproperties.cxx index b5be536ede5b..ebedda8955f2 100644 --- a/svx/source/sdr/properties/groupproperties.cxx +++ b/svx/source/sdr/properties/groupproperties.cxx @@ -145,9 +145,22 @@ namespace sdr assert(!"GroupProperties::SetObjectItemDirect() should never be called"); } - void GroupProperties::ClearObjectItem(const sal_uInt16 /*nWhich*/) + void GroupProperties::ClearObjectItem(const sal_uInt16 nWhich) { - assert(!"GroupProperties::ClearObjectItem() should never be called"); + // iterate over contained SdrObjects + const SdrObjList* pSub(static_cast(GetSdrObject()).GetSubList()); + OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); + const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); + + for(size_t a = 0; a < nCount; ++a) + { + SdrObject* pObj = pSub->GetObj(a); + + if(pObj) + { + pObj->GetProperties().ClearObjectItem(nWhich); + } + } } void GroupProperties::ClearObjectItemDirect(const sal_uInt16 /*nWhich*/) -- cgit