[Libreoffice-commits] core.git: Branch 'libreoffice-6-2' - oox/source sw/qa

Tamás Zolnai (via logerrit) logerrit at kemper.freedesktop.org
Mon Sep 2 06:50:04 UTC 2019


 oox/source/export/drawingml.cxx              |   10 +++++++---
 sw/qa/extras/ooxmlexport/data/tdf127085.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport13.cxx   |    7 +++++++
 3 files changed, 14 insertions(+), 3 deletions(-)

New commits:
commit 136ab631a3d2f7cfa22ca7b657e1c54c9d022b66
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Thu Aug 22 15:57:41 2019 +0200
Commit:     Xisco Faulí <xiscofauli at libreoffice.org>
CommitDate: Mon Sep 2 08:49:25 2019 +0200

    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 at 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 at libreoffice.org>

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
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf127085.docx 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: */


More information about the Libreoffice-commits mailing list