diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2020-09-18 11:47:56 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@cib.de> | 2020-09-21 11:02:20 +0200 |
commit | fdc8590032b292dcb8152b328401e591fea642a4 (patch) | |
tree | c3951fc48c92f69c4c38e3dc2291904d9d4ff94d /include/oox | |
parent | 54bd2266d6e0c8926ecaf0fbb2dbb5ee9d1a802d (diff) |
tdf#136620 tdf#136708 filter,oox,sw: fix export of 2 different wraps
This reverts commit 2cb90a5c87fe46737c8d840967d8836284f92ffd.
Revert the change to EscherPropertyContainer, which was completely
bogus, based on pre-existing bogus code in VMLExport::Commit().
The problem is that ESCHER_Wrap values are for wrapping text *inside* a
text box, which is "mso-wrap-style" in VML, whereas VML's w10:wrap
element defines how text wraps *around* a shape, doesn't exist as an
ESCHER property and is specific to Word formats.
Instead, export the w10:wrap element in VMLExport::EndShape().
This has 2 callers, WriteActiveXControl() and writeVMLDrawing().
Furthermore the value "none" wasn't written for WrapTextMode_THROUGH,
which caused the wrap element to be omitted in that case.
Change-Id: Id4a01fcb2ea73fa9bef4ee8769b5e0680e059f15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103009
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Diffstat (limited to 'include/oox')
-rw-r--r-- | include/oox/export/vmlexport.hxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/oox/export/vmlexport.hxx b/include/oox/export/vmlexport.hxx index 94aeb8601f1a..67c5fc88f113 100644 --- a/include/oox/export/vmlexport.hxx +++ b/include/oox/export/vmlexport.hxx @@ -77,8 +77,9 @@ class OOX_DLLPUBLIC VMLExport : public EscherEx /// Parent exporter, used for text callback. VMLTextExport* m_pTextExport; - /// Anchoring. + /// Anchoring - Writer specific properties sal_Int16 m_eHOri, m_eVOri, m_eHRel, m_eVRel; + std::unique_ptr<sax_fastparser::FastAttributeList> m_pWrapAttrList; bool m_bInline; // css::text::TextContentAnchorType_AS_CHARACTER /// The object we're exporting. @@ -136,7 +137,9 @@ public: /// Call this when you need to export the object as VML. OString const & AddSdrObject( const SdrObject& rObj, sal_Int16 eHOri = -1, sal_Int16 eVOri = -1, sal_Int16 eHRel = -1, - sal_Int16 eVRel = -1, const bool bOOxmlExport = false ); + sal_Int16 eVRel = -1, + std::unique_ptr<sax_fastparser::FastAttributeList> m_pWrapAttrList = nullptr, + const bool bOOxmlExport = false ); OString const & AddInlineSdrObject( const SdrObject& rObj, const bool bOOxmlExport ); virtual void AddSdrObjectVMLObject( const SdrObject& rObj) override; static bool IsWaterMarkShape(const OUString& rStr); |