svx/source/sdr/properties/groupproperties.cxx |   17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

New commits:
commit 3817449c7a59e9dedbf882d401bc3aa85b3b0aab
Author:     Julien Nabet <[email protected]>
AuthorDate: Tue May 5 20:11:15 2020 +0200
Commit:     Michael Stahl <[email protected]>
CommitDate: Tue May 19 10:04:14 2020 +0200

    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 <[email protected]>
    (cherry picked from commit c7709eb11cddc37883d1a2391a1dd83f03f5cfa3)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94271
    Reviewed-by: Michael Stahl <[email protected]>

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<const 
SdrObjGroup&>(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*/)
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to