summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-05-11 14:45:59 +0200
committerCaolán McNamara <caolanm@redhat.com>2012-05-30 16:03:42 +0100
commit6e7657eb87cf97df3aa40cb662963d6d85816ad5 (patch)
tree0db0ae172b6a6d91dc950b000bdd7a475ea25185
parentf12f1b2afa5bbea5e62cab960ffe61925e5d96fd (diff)
fdo#45190 import of RTF_LI should reset inherited RTF_FI
Change-Id: I17c287fa4daa399876b34182c02d9cf928fe1b6f Signed-off-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 125085566038..063d94b5a5cd 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2232,7 +2232,6 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
switch (nKeyword)
{
case RTF_FI: nSprm = NS_sprm::LN_PDxaLeft1; break;
- case RTF_LI: nSprm = NS_sprm::LN_PDxaLeft; break;
case RTF_LIN: nSprm = 0x845e; break;
case RTF_RI: nSprm = NS_sprm::LN_PDxaRight; break;
case RTF_RIN: nSprm = 0x845d; break;
@@ -2847,6 +2846,13 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().nInternalState = INTERNAL_BIN;
m_aStates.top().nBinaryToRead = nParam;
break;
+ case RTF_LI:
+ m_aStates.top().aParagraphSprms->push_back(make_pair(NS_sprm::LN_PDxaLeft, pIntValue));
+ // It turns out \li should reset the \fi inherited from the stylesheet.
+ // So set the direct formatting to zero, if we don't have such direct formatting yet.
+ if (!m_aStates.top().aParagraphSprms.find(NS_sprm::LN_PDxaLeft1).get())
+ m_aStates.top().aParagraphSprms->push_back(make_pair(NS_sprm::LN_PDxaLeft1, RTFValue::Pointer_t(new RTFValue(0))));
+ break;
default:
#if OSL_DEBUG_LEVEL > 1
OSL_TRACE("%s: TODO handle value '%s'", OSL_THIS_FUNC, lcl_RtfToString(nKeyword));