summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2019-08-22 15:57:41 +0200
committerXisco Faulí <xiscofauli@libreoffice.org>2019-09-02 08:49:25 +0200
commit136ab631a3d2f7cfa22ca7b657e1c54c9d022b66 (patch)
tree55597564f5268161d3ec17d202afa15bfb4dbb64
parent8ec2af41a40b56155c50329417459749dbdf5af8 (diff)
tdf#127085: FILESAVE: Transparency is lost after RT
Reviewed-on: https://gerrit.libreoffice.org/77963 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit 505cbb9c3d2771a12c989515663cc1eb73dd0c2f) Change-Id: I22ba83b5cc00f84112a3755898ee2be58337afd6 Reviewed-on: https://gerrit.libreoffice.org/78263 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
-rw-r--r--oox/source/export/drawingml.cxx10
-rw-r--r--sw/qa/extras/ooxmlexport/data/tdf127085.docxbin0 -> 34263 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport13.cxx7
3 files changed, 14 insertions, 3 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 0f4f75c155cc..b8598b36030b 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -1194,14 +1194,18 @@ void DrawingML::WriteImageBrightnessContrastTransparence(uno::Reference<beans::X
{
sal_Int16 nBright = 0;
sal_Int32 nContrast = 0;
- sal_Int16 nTransparence = 0;
+ sal_Int32 nTransparence = 0;
if (GetProperty(rXPropSet, "AdjustLuminance"))
nBright = mAny.get<sal_Int16>();
if (GetProperty(rXPropSet, "AdjustContrast"))
nContrast = mAny.get<sal_Int32>();
- if (GetProperty(rXPropSet, "Transparency"))
- nTransparence = mAny.get<sal_Int16>();
+ // Used for shapes with picture fill
+ if (GetProperty(rXPropSet, "FillTransparence"))
+ nTransparence = mAny.get<sal_Int32>();
+ // Used for pictures
+ if (nTransparence == 0 && GetProperty(rXPropSet, "Transparency"))
+ nTransparence = static_cast<sal_Int32>(mAny.get<sal_Int16>());
if (nBright || nContrast)
diff --git a/sw/qa/extras/ooxmlexport/data/tdf127085.docx b/sw/qa/extras/ooxmlexport/data/tdf127085.docx
new file mode 100644
index 000000000000..65556fe38abd
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf127085.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx
index a3a7184b34e0..4942409a78d5 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx
@@ -124,6 +124,13 @@ DECLARE_OOXMLEXPORT_TEST(testTdf125324, "tdf125324.docx")
assertXPath(pXmlDoc, "/root/page/body/txt[2]/anchored/fly/tab/infos/bounds", "top", "4193");
}
+DECLARE_OOXMLEXPORT_TEST(tdf127085, "tdf127085.docx")
+{
+ // Fill transparency was lost during export
+ uno::Reference<beans::XPropertySet> xShape(getShape(1), uno::UNO_QUERY);
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(50), getProperty<sal_Int16>(xShape, "FillTransparence"));
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */