diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2021-04-06 18:54:51 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2021-04-07 10:03:15 +0200 |
commit | 79ef3c7ae3b2f7be5ba6fe38997e846fd9c7e0ee (patch) | |
tree | c36b3f4838cffbcabf628d88f572cc6fa001b0c2 /sw/source/filter/xml/xmlexp.cxx | |
parent | 795a3ad8efa8b418f3c6477379c13560c3b4b890 (diff) |
tdf#141467 xmloff,sc,sw: ODF export: reorder flys' ZOrder/z-index harder
Also keep the control layer distinct from the foreground, as a follow-up
to tdf#133487.
Try to improve the detection of already sorted indexes a bit to avoid
unnecessary sorting.
Hilariously the test docs require adding 3 additional items to the
extension schema.
Change-Id: I629d5b09294f679717677b9d89537d905ac4c404
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113696
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'sw/source/filter/xml/xmlexp.cxx')
-rw-r--r-- | sw/source/filter/xml/xmlexp.cxx | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sw/source/filter/xml/xmlexp.cxx b/sw/source/filter/xml/xmlexp.cxx index 1e112f5a0367..387546eceda3 100644 --- a/sw/source/filter/xml/xmlexp.cxx +++ b/sw/source/filter/xml/xmlexp.cxx @@ -50,6 +50,7 @@ #include "xmltexte.hxx" #include "xmlexp.hxx" #include "xmlexpit.hxx" +#include "zorder.hxx" #include <comphelper/processfactory.hxx> #include <docary.hxx> #include <frameformats.hxx> @@ -272,11 +273,7 @@ ErrCode SwXMLExport::exportDoc( enum XMLTokenEnum eClass ) // tdf#133487 call this once in flat-ODF case uno::Reference<drawing::XDrawPageSupplier> const xDPS(GetModel(), uno::UNO_QUERY); assert(xDPS.is()); - xmloff::FixZOrder(xDPS->getDrawPage(), - [](uno::Reference<beans::XPropertySet> const& xShape) - { - return !*o3tl::doAccess<bool>(xShape->getPropertyValue("Opaque")); - }); + xmloff::FixZOrder(xDPS->getDrawPage(), sw::GetZOrderLayer(m_pDoc->getIDocumentDrawModelAccess())); // now save and switch redline mode nRedlineFlags = pDoc->getIDocumentRedlineAccess().GetRedlineFlags(); |