From b3af23568f9b9b444ae09f2a1ab4a61d212b422a Mon Sep 17 00:00:00 2001 From: Markus Mohrhard Date: Fri, 23 Nov 2018 01:21:29 +0100 Subject: tdf#114836, only set changed SfxItemSet properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 (cherry picked from commit 80cf278d365a2d357c70b8c28947c91fa97e7a99) Reviewed-on: https://gerrit.libreoffice.org/63857 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- svx/source/unodraw/unoshape.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'svx/source') diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx index f2bfa4f94bd8..1a187f773d64 100644 --- a/svx/source/unodraw/unoshape.cxx +++ b/svx/source/unodraw/unoshape.cxx @@ -1687,7 +1687,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(); } -- cgit