[Libreoffice-commits] core.git: sw/qa sw/source

Miklos Vajna vmiklos at collabora.co.uk
Tue Dec 15 00:10:53 PST 2015


 sw/qa/extras/odfimport/data/tdf96113.odt |binary
 sw/qa/extras/odfimport/odfimport.cxx     |    6 ++++++
 sw/source/core/unocore/unoframe.cxx      |    2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)

New commits:
commit 3a0c0af7309e1f5ba3811bbe8a73e506cf5cd069
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Tue Dec 15 09:08:50 2015 +0100

    tdf#96113 sw: don't overwrite fo:background-color on ODT frame import
    
    The situation is similar to commit
    79fb61efb847405fa47235002b52ee8efad5e339 (tdf#92379: svx: don't
    overwrite fo:background-color on ODF import, 2015-08-21), except that
    here text frames had the problem of loosing colors when transparency is
    set.
    
    Fix the problem by informing getSvxBrushItemFromSourceSet() about if
    we're in XML import or not.
    
    Change-Id: Id1adf60b14a3762f0a2a43c49caeed9f6ea039be

diff --git a/sw/qa/extras/odfimport/data/tdf96113.odt b/sw/qa/extras/odfimport/data/tdf96113.odt
new file mode 100644
index 0000000..ede7b07
Binary files /dev/null and b/sw/qa/extras/odfimport/data/tdf96113.odt differ
diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx
index 7aa34f3..c944d44 100644
--- a/sw/qa/extras/odfimport/odfimport.cxx
+++ b/sw/qa/extras/odfimport/odfimport.cxx
@@ -631,5 +631,11 @@ DECLARE_ODFIMPORT_TEST(testBnc800714, "bnc800714.fodt")
     CPPUNIT_ASSERT(getProperty<bool>(getParagraph(2), "ParaKeepTogether"));
 }
 
+DECLARE_ODFIMPORT_TEST(testTdf96113, "tdf96113.odt")
+{
+    // Background of the formula frame was white (0xffffff), not green.
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(0x00ff00), getProperty<sal_Int32>(getShape(1), "BackColor"));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index 15ad17d..b7b6cc0 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -1803,7 +1803,7 @@ void SwXFrame::setPropertyValue(const OUString& rPropertyName, const ::uno::Any&
             if(RES_BACKGROUND == pEntry->nWID)
             {
                 const SwAttrSet& rSet = pFormat->GetAttrSet();
-                const SvxBrushItem aOriginalBrushItem(getSvxBrushItemFromSourceSet(rSet, RES_BACKGROUND));
+                const SvxBrushItem aOriginalBrushItem(getSvxBrushItemFromSourceSet(rSet, RES_BACKGROUND, true, pDoc->IsInXMLImport()));
                 SvxBrushItem aChangedBrushItem(aOriginalBrushItem);
 
                 aChangedBrushItem.PutValue(aValue, nMemberId);


More information about the Libreoffice-commits mailing list