diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2022-03-30 11:20:12 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2022-03-31 16:39:06 +0200 |
commit | ac151fafd06c92cf9482b5696380346206542f87 (patch) | |
tree | a03f13e92e196c51543bc6c9049bd17f2436410b /sw/source | |
parent | 066076255277261898278102b49cf91fdd3d2881 (diff) |
sw: fix crash in SwAttrSet::CopyToModify()
Regression from commit 938a4d6624a78f3e272b3c4c07f314cb0c6db723
(tdf#128375 sw: fix copying RES_PARATR_LIST_AUTOFMT to different SwDoc,
2019-11-01), the problem is that we may get an autofmt pool item which
is set, but its style handle is empty. Assume that this is the same case
as having no autofmt at all.
(cherry picked from commit ddfafd9b67e6e61c144b29ac73bbafb413ddf03b)
Conflicts:
sw/Module_sw.mk
sw/source/core/attr/swatrset.cxx
[ Help backporting by also picking a single hunk from commit
1ad26c9fc237e00247f18fcc8ccc778fba88d1fd (loplugin:referencecasting add
check for new rtl::Reference operator, 2021-02-11) as well. ]
Change-Id: I87494fd04687d31201b4ec712cb0fb1ec7362b46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132313
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/core/attr/swatrset.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sw/source/core/attr/swatrset.cxx b/sw/source/core/attr/swatrset.cxx index 0fe141ef5834..4b9f8eddded8 100644 --- a/sw/source/core/attr/swatrset.cxx +++ b/sw/source/core/attr/swatrset.cxx @@ -399,7 +399,8 @@ void SwAttrSet::CopyToModify( sw::BroadcastingModify& rMod ) const } if (pSrcDoc != pDstDoc && - SfxItemState::SET == GetItemState(RES_PARATR_LIST_AUTOFMT, false, &pItem)) + SfxItemState::SET == GetItemState(RES_PARATR_LIST_AUTOFMT, false, &pItem) && + static_cast<SwFormatAutoFormat const&>(*pItem).GetStyleHandle()) { SfxItemSet const& rAutoStyle(*static_cast<SwFormatAutoFormat const&>(*pItem).GetStyleHandle()); std::shared_ptr<SfxItemSet> const pNewSet( |