Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3083

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/83/3083/1

minor update in rtfdocumentimpl.cxx

Change-Id: Ie32166edbc3efb603ccb5e98d8c2cac66ecc2f47
---
M writerfilter/source/rtftok/rtfdocumentimpl.cxx
1 file changed, 27 insertions(+), 12 deletions(-)



diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx 
b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index d2fb17f..c7fa7f1 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -839,6 +839,7 @@
     }
     writerfilter::Reference<Properties>::Pointer_t const pProperties(new 
RTFReferenceProperties(aAttributes, aSprms));
     checkFirstRun();
+
     if (!m_aStates.top().pCurrentBuffer)
     {
         Mapper().props(pProperties);
@@ -850,6 +851,7 @@
         RTFValue::Pointer_t pValue(new RTFValue(aAttributes, aSprms));
         m_aStates.top().pCurrentBuffer->push_back(make_pair(BUFFER_PROPS, 
pValue));
     }
+
     return 0;
 }
 
@@ -948,7 +950,9 @@
 void RTFDocumentImpl::singleChar(sal_uInt8 nValue, bool bRunProps)
 {
     sal_uInt8 sValue[] = { nValue };
-    if (!m_aStates.top().pCurrentBuffer)
+    RTFBuffer_t* pCurrentBuffer = m_aStates.top().pCurrentBuffer;
+
+    if (!pCurrentBuffer)
     {
         Mapper().startCharacterGroup();
         // Should we send run properties?
@@ -959,10 +963,10 @@
     }
     else
     {
-        m_aStates.top().pCurrentBuffer->push_back(make_pair(BUFFER_STARTRUN, 
RTFValue::Pointer_t()));
+        pCurrentBuffer->push_back(make_pair(BUFFER_STARTRUN, 
RTFValue::Pointer_t()));
         RTFValue::Pointer_t pValue(new RTFValue(*sValue));
-        m_aStates.top().pCurrentBuffer->push_back(make_pair(BUFFER_TEXT, 
pValue));
-        m_aStates.top().pCurrentBuffer->push_back(make_pair(BUFFER_ENDRUN, 
RTFValue::Pointer_t()));
+        pCurrentBuffer->push_back(make_pair(BUFFER_TEXT, pValue));
+        pCurrentBuffer->push_back(make_pair(BUFFER_ENDRUN, 
RTFValue::Pointer_t()));
     }
 }
 
@@ -1109,31 +1113,37 @@
         return;
     }
 
-    if (!m_aStates.top().pCurrentBuffer && m_aStates.top().nDestinationState 
!= DESTINATION_FOOTNOTE)
+    RTFBuffer_t* pCurrentBuffer = m_aStates.top().pCurrentBuffer;
+
+    if (!pCurrentBuffer && m_aStates.top().nDestinationState != 
DESTINATION_FOOTNOTE)
         Mapper().startCharacterGroup();
-    else if (m_aStates.top().pCurrentBuffer)
+    else if (pCurrentBuffer)
     {
         RTFValue::Pointer_t pValue;
-        m_aStates.top().pCurrentBuffer->push_back(make_pair(BUFFER_STARTRUN, 
pValue));
+        pCurrentBuffer->push_back(make_pair(BUFFER_STARTRUN, pValue));
     }
+
     if (m_aStates.top().nDestinationState == DESTINATION_NORMAL
             || m_aStates.top().nDestinationState == DESTINATION_FIELDRESULT
             || m_aStates.top().nDestinationState == DESTINATION_SHAPETEXT)
         runProps();
-    if (!m_aStates.top().pCurrentBuffer)
+
+    if (!pCurrentBuffer)
         Mapper().utext(reinterpret_cast<sal_uInt8 const*>(rString.getStr()), 
rString.getLength());
     else
     {
         RTFValue::Pointer_t pValue(new RTFValue(rString));
-        m_aStates.top().pCurrentBuffer->push_back(make_pair(BUFFER_UTEXT, 
pValue));
+        pCurrentBuffer->push_back(make_pair(BUFFER_UTEXT, pValue));
     }
+
     m_bNeedCr = true;
-    if (!m_aStates.top().pCurrentBuffer && m_aStates.top().nDestinationState 
!= DESTINATION_FOOTNOTE)
+
+    if (!pCurrentBuffer && m_aStates.top().nDestinationState != 
DESTINATION_FOOTNOTE)
         Mapper().endCharacterGroup();
-    else if(m_aStates.top().pCurrentBuffer)
+    else if(pCurrentBuffer)
     {
         RTFValue::Pointer_t pValue;
-        m_aStates.top().pCurrentBuffer->push_back(make_pair(BUFFER_ENDRUN, 
pValue));
+        pCurrentBuffer->push_back(make_pair(BUFFER_ENDRUN, pValue));
     }
 }
 
@@ -2371,6 +2381,7 @@
             {
                 if (!m_aStates.top().pCurrentBuffer)
                     m_aStates.top().pCurrentBuffer = &m_aSuperBuffer;
+
                 RTFValue::Pointer_t pValue(new RTFValue("superscript"));
                 
m_aStates.top().aCharacterSprms.set(NS_ooxml::LN_EG_RPrBase_vertAlign, pValue);
             }
@@ -2707,12 +2718,14 @@
         case RTF_POSY: nId = NS_ooxml::LN_CT_FramePr_y; 
m_aStates.top().aFrame.setSprm(NS_ooxml::LN_CT_FramePr_yAlign, 0); break;
         default: break;
     }
+
     if (nId > 0)
     {
         m_bNeedPap = true;
         // Don't try to support text frames inside tables for now.
         if (m_aStates.top().pCurrentBuffer != &m_aTableBuffer)
             m_aStates.top().aFrame.setSprm(nId, nParam);
+
         return 0;
     }
 
@@ -4276,6 +4289,7 @@
         else if (m_xDocumentProperties.is())
             
m_xDocumentProperties->setTitle(aState.aDestinationText.makeStringAndClear());
     }
+
     if (aState.pCurrentBuffer == &m_aSuperBuffer)
     {
         OSL_ASSERT(m_aStates.top().pCurrentBuffer == 0);
@@ -4285,6 +4299,7 @@
 
         m_bHasFootnote = false;
     }
+
     if (m_aStates.size())
     {
         m_aStates.top().nCells = aState.nCells;

-- 
To view, visit https://gerrit.libreoffice.org/3083
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie32166edbc3efb603ccb5e98d8c2cac66ecc2f47
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Maxime de Roucy <mdero...@linagora.com>

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to