summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2018-11-23 01:21:29 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-11-23 10:35:33 +0100
commitd4190685ac208677bc77f66976287dda0360c42d (patch)
treea7531d0f9a2b1dd7163acc7059291848809164c7 /svx
parent19805f580fcbcf890790f8c6ab736aab80c08de7 (diff)
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@googlemail.com> (cherry picked from commit 80cf278d365a2d357c70b8c28947c91fa97e7a99) Reviewed-on: https://gerrit.libreoffice.org/63856 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/unodraw/unoshape.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index 5314fffc2050..b89188720c65 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -1623,7 +1623,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();
}