diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2013-06-21 15:48:39 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-06-24 16:42:03 +0200 |
commit | 59d70e958005cd0ca93eb5def4fae7174bc9fb65 (patch) | |
tree | e964619de4569c78c014322301527054abd9503e | |
parent | 8e33e95500c2f5edc91e853024a5c0fff285fcce (diff) |
bnc#823655 RTF import: ignore styles without a type
Regression from 29dcdf6b56f8dbc1b7de0478afb04122f8dbf0f9.
Change-Id: I970c0e7b3652d7e6f093815b90e04e0c45904b28
(cherry picked from commit c6a941b51b68eb097d4d43323b39ff1aba4c753e)
-rw-r--r-- | sw/qa/extras/rtfimport/data/para-bottom-margin.rtf | 14 | ||||
-rw-r--r-- | sw/qa/extras/rtfimport/rtfimport.cxx | 8 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 3 |
3 files changed, 25 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfimport/data/para-bottom-margin.rtf b/sw/qa/extras/rtfimport/data/para-bottom-margin.rtf new file mode 100644 index 000000000000..7bc505139514 --- /dev/null +++ b/sw/qa/extras/rtfimport/data/para-bottom-margin.rtf @@ -0,0 +1,14 @@ +{\rtf1 +{\stylesheet +{\ql \li0\ri0\sa200\sl276\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang4105\langfe4105\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp4105\langfenp4105 \snext0 \sqformat \spriority0 Normal;} +{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;} +{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang4105\langfe4105\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp4105\langfenp4105 \snext11 \ssemihidden \sunhideused +Normal Table;} +} +\pard \ltrpar\ql \li720\ri0\sb1\sl-179\slmult0\nowidctlpar\tx9924\wrapdefault\faauto\rin0\lin720\itap0 +{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \f0\fs16\expnd-1\expndtw-5\cf1\insrsid10962741 \hich\af0\dbch\af31505\loch\f0 hello +\par } +} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index c87ba3e90f11..d3362da67239 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -150,6 +150,7 @@ public: void testN818997(); void testFdo64671(); void testN825305(); + void testParaBottomMargin(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) @@ -270,6 +271,7 @@ void Test::run() {"n818997.rtf", &Test::testN818997}, {"fdo64671.rtf", &Test::testFdo64671}, {"n825305.rtf", &Test::testN825305}, + {"para-bottom-margin.rtf", &Test::testParaBottomMargin}, }; for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i) { @@ -1244,6 +1246,12 @@ void Test::testN825305() CPPUNIT_ASSERT_EQUAL(beans::PropertyState_DIRECT_VALUE, ePropertyState); } +void Test::testParaBottomMargin() +{ + // This was 353, i.e. bottom margin of the paragraph was 0.35cm instead of 0. + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), getProperty<sal_Int32>(getParagraph(1), "ParaBottomMargin")); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 951adc4bc014..876ab9f3560a 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -1025,6 +1025,7 @@ void RTFDocumentImpl::text(OUString& rString) break; case DESTINATION_STYLESHEET: case DESTINATION_STYLEENTRY: + if (m_aStates.top().aTableAttributes.find(NS_rtf::LN_SGC)) { RTFValue::Pointer_t pValue(new RTFValue(m_aStates.top().aDestinationText.makeStringAndClear())); m_aStates.top().aTableAttributes.set(NS_rtf::LN_XSTZNAME1, pValue); @@ -1034,6 +1035,8 @@ void RTFDocumentImpl::text(OUString& rString) ); m_aStyleTableEntries.insert(make_pair(m_nCurrentStyleIndex, pProp)); } + else + SAL_INFO("writerfilter", "no RTF style type defined, ignoring"); break; case DESTINATION_REVISIONTABLE: case DESTINATION_REVISIONENTRY: |