bnc#823655 RTF import: ignore styles without a type

Regression from 29dcdf6b56f8dbc1b7de0478afb04122f8dbf0f9.

Change-Id: I970c0e7b3652d7e6f093815b90e04e0c45904b28
This commit is contained in:
Miklos Vajna 2013-06-21 15:48:39 +02:00
parent 1b3692c6a4
commit c6a941b51b
3 changed files with 25 additions and 0 deletions

View File

@ -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 }
}

View File

@ -143,6 +143,7 @@ public:
void testFdo62044();
void testPoshPosv();
void testN825305();
void testParaBottomMargin();
CPPUNIT_TEST_SUITE(Test);
#if !defined(MACOSX) && !defined(WNT)
@ -273,6 +274,7 @@ void Test::run()
{"fdo62044.rtf", &Test::testFdo62044},
{"posh-posv.rtf", &Test::testPoshPosv},
{"n825305.rtf", &Test::testN825305},
{"para-bottom-margin.rtf", &Test::testParaBottomMargin},
};
header();
for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
@ -1298,6 +1300,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();

View File

@ -1028,6 +1028,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);
@ -1037,6 +1038,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: