From 6e7657eb87cf97df3aa40cb662963d6d85816ad5 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 11 May 2012 14:45:59 +0200 Subject: fdo#45190 import of RTF_LI should reset inherited RTF_FI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I17c287fa4daa399876b34182c02d9cf928fe1b6f Signed-off-by: Caolán McNamara --- writerfilter/source/rtftok/rtfdocumentimpl.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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)); -- cgit v1.2.3