diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-02-10 08:59:01 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2016-03-10 19:42:05 +0100 |
commit | f2aa421f2609f8b54120926b0906693e44470f44 (patch) | |
tree | 14cbdc65d93367de2875d492718cc637841aeec2 /writerfilter | |
parent | 355925efcc284a254170640cd79bee4ae9fd1627 (diff) |
tdf#87034 RTF import: fix multiple superscripts after footnote ...
... in the same paragraph. The intention was to avoid replaying the
supertext buffer and using its contents as a custom footnote mark at the
same time. However, it's enough to check if the buffer is empty to do
so, and that avoids the mis-import of the bugdoc as well.
(cherry picked from commit 93faf178195ca974747849879266783884ae27c5)
Conflicts:
sw/qa/extras/rtfimport/rtfimport.cxx
Change-Id: I1e3b0c7f0c6d8eb8250d8b1d0d7d196039c40e79
Reviewed-on: https://gerrit.libreoffice.org/23084
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 05ab13e44ab45953c4d4d18d8c9070698c041969)
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 6 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.hxx | 1 |
2 files changed, 1 insertions, 6 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index be5a966d3ec6..c6f3d323a170 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -241,7 +241,6 @@ RTFDocumentImpl::RTFDocumentImpl(uno::Reference<uno::XComponentContext> const& x m_nBackupTopLevelCurrentCellX(0), m_aTableBufferStack(1), // create top-level buffer already m_aSuperBuffer(), - m_bHasFootnote(false), m_pSuperstream(nullptr), m_nStreamType(0), m_nHeaderFooterPositions(), @@ -1695,7 +1694,6 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword) if (aKeyword.equals("\\ftnalt")) nId = NS_ooxml::LN_endnote; - m_bHasFootnote = true; if (m_aStates.top().pCurrentBuffer == &m_aSuperBuffer) m_aStates.top().pCurrentBuffer = nullptr; bool bCustomMark = false; @@ -6055,10 +6053,8 @@ RTFError RTFDocumentImpl::popState() { OSL_ASSERT(!m_aStates.empty() && m_aStates.top().pCurrentBuffer == nullptr); - if (!m_bHasFootnote) + if (!m_aSuperBuffer.empty()) replayBuffer(m_aSuperBuffer, nullptr, nullptr); - - m_bHasFootnote = false; } return RTFError::OK; diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx index ae320adf5425..863b95215ed7 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx @@ -522,7 +522,6 @@ private: /// Buffered superscript, till footnote is reached (or not). RTFBuffer_t m_aSuperBuffer; - bool m_bHasFootnote; /// Superstream of this substream. RTFDocumentImpl* m_pSuperstream; /// Type of the stream: header, footer, footnote, etc. |