DOCX import: declare wps as a supported feature
This means in case we hit an mc:AlternateContent element, we will read
the mc:Choice branch of it, in case wps is the required feature, not the
mc:Fallback one, which contains the information in VML format (after a
lossy conversion).
Change-Id: I476156bd1a39927dda903d14540155d1e62a211e
diff --git a/sw/qa/extras/ooxmlexport/data/mce.docx b/sw/qa/extras/ooxmlexport/data/mce.docx
new file mode 100644
index 0000000..d4790de
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/mce.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index 0bb2359..084968c 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -2034,6 +2034,12 @@ DECLARE_OOXMLEXPORT_TEST(testOoxmlTriangle, "ooxml-triangle.docx")
getShape(1);
}
DECLARE_OOXMLEXPORT_TEST(testMce, "mce.docx")
{
// The shape is red in Word2007, green in Word2010. Check that our import follows the later.
CPPUNIT_ASSERT_EQUAL(sal_Int32(0x9bbb59), getProperty<sal_Int32>(getShape(1), "FillColor"));
}
#endif
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
index 35a6326..5cdcef4 100644
--- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
+++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
@@ -186,7 +186,6 @@ bool OOXMLFastContextHandler::prepareMceContext(Token_t nElement, const uno::Ref
break;
case OOXML_Choice:
{
#if 0 // Disabled for now: enabling "wps" would introduce regressions, and SAL_N_ELEMENTS() needs at least one element.
OUString aRequires = rAttribs->getOptionalValue(OOXML_Requires);
static const char* aFeatures[] = {
"wps",
@@ -199,9 +198,6 @@ bool OOXMLFastContextHandler::prepareMceContext(Token_t nElement, const uno::Ref
return false;
}
}
#else
(void) rAttribs;
#endif
return true;
}
break;