summaryrefslogtreecommitdiff
path: root/sw/source/filter/xml/xmlexp.cxx
diff options
context:
space:
mode:
authorMichael Stahl <michael.stahl@allotropia.de>2021-04-06 18:54:51 +0200
committerMichael Stahl <michael.stahl@allotropia.de>2021-04-07 10:03:15 +0200
commit79ef3c7ae3b2f7be5ba6fe38997e846fd9c7e0ee (patch)
treec36b3f4838cffbcabf628d88f572cc6fa001b0c2 /sw/source/filter/xml/xmlexp.cxx
parent795a3ad8efa8b418f3c6477379c13560c3b4b890 (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.cxx7
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();