summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-02-10 08:59:01 +0100
committerAndras Timar <andras.timar@collabora.com>2016-03-10 19:42:05 +0100
commitf2aa421f2609f8b54120926b0906693e44470f44 (patch)
tree14cbdc65d93367de2875d492718cc637841aeec2 /writerfilter
parent355925efcc284a254170640cd79bee4ae9fd1627 (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.cxx6
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx1
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.