diff options
author | Tushar Bende <tushar.bende@synerzip.com> | 2014-05-16 15:06:41 +0530 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-05-21 11:19:10 +0200 |
commit | 1fc9923b194da3ba346f0f0583c130b4284642ba (patch) | |
tree | f099cb7765e8e378232b7bbdf304bf8af4e29b18 /sw/source/filter/ww8/docxsdrexport.hxx | |
parent | c07b8dedf7b1d0ddb2c97368e1634432974632db (diff) |
fdo#78469 FileCorrupt:During export LO was adding wrong tags inside <w:sdtPr>
Description :
Docx file corrupt after roundtrip.
Root cause: For some documents During export LO was not checking for the content of sdt and Even if sdt contains Drawing object
LO was writing text data related tags <w:text/> & <w:dataBinding> in <w:sdtPr>,This was the reason for corruption.
To Fix this checking is there is any Drawing Object in run if yes skip writing <w:dataBinding> tag in <w:sdtPr>
And if sdt content is Text and Drawing both do not write <Text> or <Picture> as these tags will again result in corruption.
Presently, while writing the sdtContent tag LO does not check for the content type due to which LO ends up adding the dataBinding along with the
Drawing/AlternateContent which is incorrect according ecma ECMA-376, Second Edition, Part 1 : 17.5.2.6. This cause in file corruption.
Added a check to restrict the aforementioned.
Reviewed on:
https://gerrit.libreoffice.org/9371
Change-Id: Id31437db0309b0a2159389a4a9a1f5e13c1ac3a5
Diffstat (limited to 'sw/source/filter/ww8/docxsdrexport.hxx')
-rw-r--r-- | sw/source/filter/ww8/docxsdrexport.hxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/docxsdrexport.hxx b/sw/source/filter/ww8/docxsdrexport.hxx index f8ba56d9a636..ebc3c97ef094 100644 --- a/sw/source/filter/ww8/docxsdrexport.hxx +++ b/sw/source/filter/ww8/docxsdrexport.hxx @@ -65,6 +65,9 @@ public: bool getFrameBtLr(); bool IsDrawingOpen(); + void setDrawingOpen(bool bDrawingOpen); + bool IsParagraphHasDrawing(); + void setParagraphHasDrawing(bool bParagraphHasDrawing); sax_fastparser::FastAttributeList*& getFlyFillAttrList(); sax_fastparser::FastAttributeList* getFlyWrapAttrList(); void setFlyWrapAttrList(sax_fastparser::FastAttributeList* pAttrList); |