[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - sw/qa writerfilter/source

Miklos Vajna vmiklos at collabora.co.uk
Thu Oct 30 07:12:59 PDT 2014


 sw/qa/extras/rtfimport/data/fdo82859.rtf    |   25 +++++++++++++++++++++++++
 sw/qa/extras/rtfimport/rtfimport.cxx        |    6 ++++++
 writerfilter/source/rtftok/rtfsdrimport.cxx |    2 +-
 3 files changed, 32 insertions(+), 1 deletion(-)

New commits:
commit 9f89fbf3be626b13799b1b9c0fb8ca246148bcfb
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Sat Oct 25 10:36:10 2014 +0200

    fdo#82859 RTF import: fillColor is unsigned
    
    Otherwise ARGB 0xFFFFFFFF would turn into black.
    
    (cherry picked from commit 04ea7b24ec1b5a027efa0b850f2bc3ac7116c52e)
    
    Change-Id: I690f34d888ca9a013e8ce1af2c7ef8ed88ee28b0
    Reviewed-on: https://gerrit.libreoffice.org/12153
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/qa/extras/rtfimport/data/fdo82859.rtf b/sw/qa/extras/rtfimport/data/fdo82859.rtf
new file mode 100644
index 0000000..eac5e6f
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/fdo82859.rtf
@@ -0,0 +1,25 @@
+{\rtf1
+{\shp
+{\*\shpinst\shpbypara\shpbyignore\shptop4154\shpbottom11234\shpbxcolumn\shpbxignore\shpleft-90\shpright9270
+{\sp
+{\sn fillColor}
+{\sv 4294967295}
+}
+{\sp
+{\sn shapeType}
+{\sv 202}
+}
+{\sp
+{\sn posrelv}
+{\sv 2}
+}
+{\sp
+{\sn posrelh}
+{\sv 2}
+}
+{\shptxt
+}
+}
+}
+\par
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index d4cb897..520beee 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -1914,6 +1914,12 @@ DECLARE_RTFIMPORT_TEST(testFdo85179, "fdo85179.rtf")
     CPPUNIT_ASSERT_EQUAL(sal_uInt32(50800/360), getProperty<table::BorderLine2>(getShape(1), "TopBorder").LineWidth);
 }
 
+DECLARE_RTFIMPORT_TEST(testFdo82859, "fdo82859.rtf")
+{
+    // This was 0: "0xffffff" was converted to 0, i.e. the background was black instead of the default.
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(-1), getProperty<sal_Int32>(getShape(1), "BackColor"));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfsdrimport.cxx b/writerfilter/source/rtftok/rtfsdrimport.cxx
index 7afcfb0..acbe6a2 100644
--- a/writerfilter/source/rtftok/rtfsdrimport.cxx
+++ b/writerfilter/source/rtftok/rtfsdrimport.cxx
@@ -358,7 +358,7 @@ void RTFSdrImport::resolve(RTFShape& rShape, bool bClose, ShapeOrPict const shap
         }
         else if (i->first == "fillColor" && xPropertySet.is())
         {
-            aAny <<= msfilter::util::BGRToRGB(i->second.toInt32());
+            aAny <<= msfilter::util::BGRToRGB(i->second.toUInt32());
             if (m_bTextFrame)
                 xPropertySet->setPropertyValue("BackColor", aAny);
             else


More information about the Libreoffice-commits mailing list