diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2018-11-23 01:21:29 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2018-11-23 08:00:40 +0100 |
commit | 80cf278d365a2d357c70b8c28947c91fa97e7a99 (patch) | |
tree | dbc7dfb829c5af36f7d84af150d4ba03f74c6a09 /svx | |
parent | df8ef9b05069bd9ac4c93351a1bb1040d6f94331 (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>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/unodraw/unoshape.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
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(); } |