From 21e07d473d1ce995ca0f1d0ac0edb03e75a7dfc1 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Mon, 23 Sep 2013 10:05:53 +0200 Subject: [PATCH] fdo#66743 fix import of some RTF_CLSHDNG values This should be in sync with model.xml, got broken when the somewhat random values got fixed to be the same as the ones which are in the ww8 spec. (Regression from 26d40686128e70916a636e20f5ccc5763bbb6cc8.) Change-Id: Id62047e0b2d5d8402a7c8bce95de487afe627e32 --- sw/qa/extras/rtfexport/data/fdo66743.rtf | 5 +++++ sw/qa/extras/rtfexport/rtfexport.cxx | 10 ++++++++++ writerfilter/source/rtftok/rtfdocumentimpl.cxx | 4 ++-- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 sw/qa/extras/rtfexport/data/fdo66743.rtf diff --git a/sw/qa/extras/rtfexport/data/fdo66743.rtf b/sw/qa/extras/rtfexport/data/fdo66743.rtf new file mode 100644 index 000000000000..81ffc7749cfd --- /dev/null +++ b/sw/qa/extras/rtfexport/data/fdo66743.rtf @@ -0,0 +1,5 @@ +{\rtf1 +\trowd \clshdng1500\cellx4000 +\pard\plain A1\cell\row +\pard\par +} diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx index 64eb1beb3122..1951ddbc3809 100644 --- a/sw/qa/extras/rtfexport/rtfexport.cxx +++ b/sw/qa/extras/rtfexport/rtfexport.cxx @@ -69,6 +69,7 @@ public: void testFdo66682(); void testParaShadow(); void testCharacterBorder(); + void testFdo66743(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) @@ -127,6 +128,7 @@ void Test::run() {"fdo66682.rtf", &Test::testFdo66682}, {"para-shadow.rtf", &Test::testParaShadow}, {"charborder.odt", &Test::testCharacterBorder}, + {"fdo66743.rtf", &Test::testFdo66743}, }; // Don't test the first import of these, for some reason those tests fail const char* aBlacklist[] = { @@ -673,6 +675,14 @@ void Test::testCharacterBorder() } } +void Test::testFdo66743() +{ + uno::Reference xTable(getParagraphOrTable(1), uno::UNO_QUERY); + uno::Reference xCell = xTable->getCellByName("A1"); + // This was too dark, 0x7f7f7f. + CPPUNIT_ASSERT_EQUAL(sal_Int32(0xd8d8d8), getProperty(xCell, "BackColor")); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index d73c5bd600fe..d3614b92cb05 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -3564,8 +3564,8 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam) { case 500: nValue = 2; break; case 1000: nValue = 3; break; - case 1200: nValue = 27; break; - case 1500: nValue = 28; break; + case 1200: nValue = 37; break; + case 1500: nValue = 38; break; case 2000: nValue = 4; break; case 2500: nValue = 5; break; case 3000: nValue = 6; break;