[Libreoffice-commits] .: writerfilter/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Dec 27 04:34:05 PST 2012


 writerfilter/source/rtftok/rtfdocumentimpl.cxx |   14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

New commits:
commit 6cac123a8de8357cf11d9b5f818233889d729939
Author: Miklos Vajna <vmiklos at suse.cz>
Date:   Thu Dec 27 13:32:14 2012 +0100

    fdo#45183 import RTF_SHPFBLWTXT

diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index e5f9c29..b4e262e 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -793,11 +793,15 @@ int RTFDocumentImpl::resolvePict(bool bInline)
     {
         // wrap sprm
         RTFSprms aAnchorWrapAttributes;
+        RTFSprms aAnchorAttributes;
         for (RTFSprms::Iterator_t i = m_aStates.top().aCharacterAttributes.begin(); i != m_aStates.top().aCharacterAttributes.end(); ++i)
+        {
             if (i->first == NS_ooxml::LN_CT_WrapSquare_wrapText)
                 aAnchorWrapAttributes.set(i->first, i->second);
+            else if (i->first == NS_rtf::LN_WR)
+                aAnchorAttributes.set(i->first, i->second);
+        }
         RTFValue::Pointer_t pAnchorWrapValue(new RTFValue(aAnchorWrapAttributes));
-        RTFSprms aAnchorAttributes;
         RTFSprms aAnchorSprms;
         aAnchorSprms.set(NS_ooxml::LN_CT_Anchor_extent, pExtentValue);
         if (aAnchorWrapAttributes.size())
@@ -3316,6 +3320,14 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
                 }
             }
             break;
+        case RTF_SHPFBLWTXT:
+            if (nParam == 1)
+            {
+                // Shape is below text -> send it to the background.
+                m_aStates.top().aCharacterAttributes.erase(NS_ooxml::LN_CT_WrapSquare_wrapText);
+                m_aStates.top().aCharacterAttributes.set(NS_rtf::LN_WR, RTFValue::Pointer_t(new RTFValue(3)));
+            }
+            break;
         default:
             SAL_INFO("writerfilter", OSL_THIS_FUNC << ": TODO handle value '" << lcl_RtfToString(nKeyword) << "'");
             aSkip.setParsed(false);


More information about the Libreoffice-commits mailing list