sw/source/core/doc/DocumentContentOperationsManager.cxx | 6 ++++++ 1 file changed, 6 insertions(+)
New commits: commit 2be207ed8969a96da8bdc0ffd7f2a2215233ee4a Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed Aug 25 11:40:54 2021 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Aug 26 11:13:24 2021 +0200 crashtesting: crash on re-export of tdf137357-1.docx to docx #0 SfxPoolItem::Which() const (this=0xffffffffffffffff) at include/svl/poolitem.hxx:148 #1 0x00007fff9d0454a5 in sw::util::GetPoolItems(SfxItemSet const&, std::__debug::map<unsigned short, SfxPoolItem const*, sw::util::ItemSort, std::allocator<std::pair<unsigned short const, SfxPoolItem const*> > >&, bool) (rSet=SfxItemSet of pool 0x5368720 with parent 0x0 and Which ranges: [(1, 55), (153, 153)] = {...}, rItems=std::__debug::map with 0 elements, bExportParentItemSet=false) at sw/source/filter/ww8/writerhelper.cxx:411 #2 0x00007fff9d1ceae4 in MSWordExportBase::OutputItemSet(SfxItemSet const&, bool, bool, unsigned short, bool) (this=0x7fffffff5348, rSet=SfxItemSet of pool 0x5368720 with parent 0x0 and Which ranges: [(1, 55), (153, 153)] = {...}, bPapFormat=false, bChpFormat=true, nScript=1, bExportParentItemSet=false) at sw/source/filter/ww8/ww8atr.cxx:351 #3 0x00007fff9ce92a66 in DocxAttributeOutput::Redline(SwRedlineData const*) (this=0x59e44e0, pRedlineData=0x68110d0) at sw/source/filter/ww8/docxattributeoutput.cxx:3199 starting happening at: commit 5e891c2ee82f2d7566ddb4e15b9c03cecb9fc1f8 Date: Thu Aug 19 11:47:53 2021 +0200 tdf#143939 sw: track format changes of the actual word Change-Id: Idb2b07368233152db519e70627b43847c7392128 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121031 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx index 6fcca55fbbe0..35044a92a3bd 100644 --- a/sw/source/core/doc/DocumentContentOperationsManager.cxx +++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx @@ -1269,6 +1269,12 @@ namespace //local functions originally from docfmt.cxx aSet.ClearItem( RES_TXTATR_INETFMT ); aSet.ClearItem( RES_TXTATR_META ); aSet.ClearItem( RES_TXTATR_METAFIELD ); + + // After GetParaAttr aSet can contain INVALID_POOL_ITEM items, e.g. RES_TXTATR_CHARFMT + // and (a copy of) this SfxItemSet can be passed to MSWordExportBase::OutputItemSet + // which doesn't handle INVALID_POOL_ITEM items so clear InvalidItems here + aSet.ClearInvalidItems(); + xExtra.reset(new SwRedlineExtraData_FormatColl("", USHRT_MAX, &aSet)); }