[Libreoffice-commits] core.git: filter/source include/filter sc/source
Justin Luth (via logerrit)
logerrit at kemper.freedesktop.org
Fri Apr 2 15:29:35 UTC 2021
filter/source/msfilter/eschesdo.cxx | 20 ++++++++++----------
filter/source/msfilter/eschesdo.hxx | 4 ++--
include/filter/msfilter/escherex.hxx | 4 ++--
sc/source/filter/excel/xeescher.cxx | 4 ++--
4 files changed, 16 insertions(+), 16 deletions(-)
New commits:
commit a3c5c0f7ce73001adab7475fde1f8ffec4eef48b
Author: Justin Luth <justin_luth at sil.org>
AuthorDate: Wed Mar 31 09:21:45 2021 +0200
Commit: Justin Luth <justin_luth at sil.org>
CommitDate: Fri Apr 2 17:28:54 2021 +0200
tdf#139786 partial revert tdf#106181 XLSX export: output form controls
Not every export is going to be to OOXML format,
so don't just set ooxmlexport to true
and remove the "if" clause (especially when
leaving the comment that this is for DOCX only).
This is a partial revert to 7.1 (and backported to 6.4.5)
commit 577dd32b1c4eb0a4cff574fbabca987cb52b831b.
Change-Id: If7ea32a236715ec779cac302773c4c9da19865a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113399
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth at sil.org>
diff --git a/filter/source/msfilter/eschesdo.cxx b/filter/source/msfilter/eschesdo.cxx
index 7df0a58f7aa4..d5d49f1d2f30 100644
--- a/filter/source/msfilter/eschesdo.cxx
+++ b/filter/source/msfilter/eschesdo.cxx
@@ -421,8 +421,8 @@ sal_uInt32 ImplEESdrWriter::ImplWriteShape( ImplEESdrObject& rObj,
{
const Reference< XPropertySet > xPropSet = rObj.mXPropSet;
const Reference<XPropertySetInfo> xPropInfo = xPropSet.is() ? xPropSet->getPropertySetInfo() : Reference<XPropertySetInfo>();
- // This code is expected to be called only for DOCX format.
- if (xPropInfo.is())
+ // This code is expected to be called only for DOCX/XLSX formats.
+ if (xPropInfo.is() && bOOxmlExport)
{
bool bInline = false;
if (xPropInfo->hasPropertyByName("AnchorType"))
@@ -834,7 +834,7 @@ void ImplEESdrWriter::ImplInitPageValues()
}
void ImplEESdrWriter::ImplWritePage(
- EscherSolverContainer& rSolverContainer )
+ EscherSolverContainer& rSolverContainer, bool ooxmlExport )
{
ImplInitPageValues();
@@ -845,7 +845,7 @@ void ImplEESdrWriter::ImplWritePage(
mXShapes->getByIndex( n )) );
if( aObj.IsValid() )
{
- ImplWriteShape( aObj, rSolverContainer, true );
+ ImplWriteShape( aObj, rSolverContainer, ooxmlExport );
}
}
}
@@ -924,10 +924,10 @@ void ImplEESdrWriter::ImplFlushSolverContainer()
}
}
-void ImplEESdrWriter::ImplWriteCurrentPage()
+void ImplEESdrWriter::ImplWriteCurrentPage(bool ooxmlExport)
{
assert(mpSolverContainer && "ImplEESdrWriter::ImplWriteCurrentPage: no SolverContainer");
- ImplWritePage( *mpSolverContainer );
+ ImplWritePage( *mpSolverContainer, ooxmlExport );
ImplExitPage();
}
@@ -937,16 +937,16 @@ sal_uInt32 ImplEESdrWriter::ImplWriteTheShape( ImplEESdrObject& rObj , bool ooxm
return ImplWriteShape( rObj, *mpSolverContainer, ooxmlExport );
}
-void EscherEx::AddSdrPage( const SdrPage& rPage )
+void EscherEx::AddSdrPage( const SdrPage& rPage, bool ooxmlExport )
{
if ( mpImplEESdrWriter->ImplInitPage( rPage ) )
- mpImplEESdrWriter->ImplWriteCurrentPage();
+ mpImplEESdrWriter->ImplWriteCurrentPage(ooxmlExport);
}
-void EscherEx::AddUnoShapes( const Reference< XShapes >& rxShapes )
+void EscherEx::AddUnoShapes( const Reference< XShapes >& rxShapes, bool ooxmlExport )
{
if ( mpImplEESdrWriter->ImplInitUnoShapes( rxShapes ) )
- mpImplEESdrWriter->ImplWriteCurrentPage();
+ mpImplEESdrWriter->ImplWriteCurrentPage(ooxmlExport);
}
sal_uInt32 EscherEx::AddSdrObject( const SdrObject& rObj, bool ooxmlExport )
diff --git a/filter/source/msfilter/eschesdo.hxx b/filter/source/msfilter/eschesdo.hxx
index 2ca7ab467b6f..114efca4092f 100644
--- a/filter/source/msfilter/eschesdo.hxx
+++ b/filter/source/msfilter/eschesdo.hxx
@@ -112,7 +112,7 @@ class ImplEESdrWriter
std::unique_ptr<EscherSolverContainer> mpSolverContainer;
void ImplInitPageValues();
- void ImplWritePage( EscherSolverContainer& rSolver );
+ void ImplWritePage( EscherSolverContainer& rSolver, bool ooxmlExport );
sal_uInt32 ImplWriteShape( ImplEESdrObject& rObj,
EscherSolverContainer& rSolver,
const bool bOOxmlExport = false ); // returns ShapeID
@@ -132,7 +132,7 @@ public:
EscherExHostAppData* ImplGetHostData() { return mpHostAppData; }
bool ImplInitPage( const SdrPage& rPage );
bool ImplInitUnoShapes( const css::uno::Reference< css::drawing::XShapes >& rxShapes );
- void ImplWriteCurrentPage();
+ void ImplWriteCurrentPage( bool ooxmlExport );
sal_uInt32 ImplWriteTheShape( ImplEESdrObject& rObj, bool ooxmlExport );
void ImplExitPage();
};
diff --git a/include/filter/msfilter/escherex.hxx b/include/filter/msfilter/escherex.hxx
index f55074ecf856..9ab3d891da2a 100644
--- a/include/filter/msfilter/escherex.hxx
+++ b/include/filter/msfilter/escherex.hxx
@@ -1158,8 +1158,8 @@ public:
// ...Sdr... implemented in eschesdo.cxx
- void AddSdrPage( const SdrPage& rPage );
- void AddUnoShapes( const css::uno::Reference< css::drawing::XShapes >& rxShapes );
+ void AddSdrPage( const SdrPage& rPage, bool ooxmlExport = false );
+ void AddUnoShapes( const css::uno::Reference< css::drawing::XShapes >& rxShapes, bool ooxmlExport = false );
/// returns the ShapeID
sal_uInt32 AddSdrObject( const SdrObject& rObj, bool ooxmlExport = false );
diff --git a/sc/source/filter/excel/xeescher.cxx b/sc/source/filter/excel/xeescher.cxx
index 7ba8e4268727..1bc1a753acad 100644
--- a/sc/source/filter/excel/xeescher.cxx
+++ b/sc/source/filter/excel/xeescher.cxx
@@ -1796,7 +1796,7 @@ void XclExpObjectManager::StartSheet()
rtl::Reference< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( const SdrPage* pSdrPage )
{
if( pSdrPage )
- mxEscherEx->AddSdrPage( *pSdrPage );
+ mxEscherEx->AddSdrPage( *pSdrPage, GetOutput() != EXC_OUTPUT_BINARY );
// the first dummy object may still be open
OSL_ENSURE( mxEscherEx->GetGroupLevel() <= 1, "XclExpObjectManager::ProcessDrawing - still groups open?" );
while( mxEscherEx->GetGroupLevel() )
@@ -1808,7 +1808,7 @@ rtl::Reference< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( const Sd
rtl::Reference< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( const Reference< XShapes >& rxShapes )
{
if( rxShapes.is() )
- mxEscherEx->AddUnoShapes( rxShapes );
+ mxEscherEx->AddUnoShapes( rxShapes, GetOutput() != EXC_OUTPUT_BINARY );
// the first dummy object may still be open
OSL_ENSURE( mxEscherEx->GetGroupLevel() <= 1, "XclExpObjectManager::ProcessDrawing - still groups open?" );
while( mxEscherEx->GetGroupLevel() )
More information about the Libreoffice-commits
mailing list