[Libreoffice-commits] core.git: svx/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Nov 23 07:01:06 UTC 2018


 svx/source/unodraw/unoshape.cxx |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 80cf278d365a2d357c70b8c28947c91fa97e7a99
Author:     Markus Mohrhard <markus.mohrhard at googlemail.com>
AuthorDate: Fri Nov 23 01:21:29 2018 +0100
Commit:     Markus Mohrhard <markus.mohrhard at googlemail.com>
CommitDate: Fri Nov 23 08:00:40 2018 +0100

    tdf#114836, only set changed SfxItemSet properties
    
    By always setting all existing properties again the calls started
    to differ between XMultiPropertySet::setPropertyValues and
    XPropertySet::setPropertyValue. This patch reduces the changes in
    the called methods. We can not avoid slight differences but at least
    the risk is minimized that something is unexpectedly changed.
    
    Change-Id: I5866db7be2829e6aba930f620f45db655df4e3f7
    Reviewed-on: https://gerrit.libreoffice.org/63854
    Tested-by: Jenkins
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index 21938249c7f5..09ec87f7ab54 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -1617,7 +1617,11 @@ void SvxShape::_setPropertyValue( const OUString& rPropertyName, const uno::Any&
     {
         if( mpImpl->mpItemSet == nullptr )
         {
-            mpImpl->mpItemSet = GetSdrObject()->GetMergedItemSet().Clone();
+            mpImpl->mpItemSet.reset(new SfxItemSet( GetSdrObject()->getSdrModelFromSdrObject().GetItemPool(),  {{pMap->nWID, pMap->nWID}}));
+        }
+        else
+        {
+            mpImpl->mpItemSet->MergeRange(pMap->nWID, pMap->nWID);
         }
         pSet = mpImpl->mpItemSet.get();
     }


More information about the Libreoffice-commits mailing list