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));
             }
 

Reply via email to