summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-09-10 11:47:16 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-09-12 09:59:34 +0000
commit4ed7ca7bfd5aab9846a02d3397771c0724344993 (patch)
tree65a44d045fc878d4027039689f0eec45b078179c
parent4112594d60961d2d1a6b0f90422ce1b0924bf07d (diff)
fftester: use of deleted RTFParserState
but we only use the RTFParserState to use its m_pDocumentImpl and the m_pDocumentImpl is never changed for the RTFParserState lifetime, so take the m_pDocumentImpl at ctor time instead and use that directly later Reviewed-on: https://gerrit.libreoffice.org/28802 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 44d4d9d4e998de9b4dc939af4fa40e51e6300951) Change-Id: I15152e3f6d9008553b4a384a5e5da21373904cc9 Reviewed-on: https://gerrit.libreoffice.org/28804 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtfbin0 -> 1546 bytes
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx8
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx3
3 files changed, 6 insertions, 5 deletions
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf
new file mode 100644
index 000000000000..3fe4b287640c
--- /dev/null
+++ b/writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf
Binary files differ
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 48a3707a0493..a48577fc6c27 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -6515,7 +6515,7 @@ RTFDrawingObject::RTFDrawingObject()
}
RTFFrame::RTFFrame(RTFParserState* pParserState)
- : m_pParserState(pParserState),
+ : m_pDocumentImpl(pParserState->m_pDocumentImpl),
nX(0),
nY(0),
nW(0),
@@ -6533,10 +6533,10 @@ RTFFrame::RTFFrame(RTFParserState* pParserState)
void RTFFrame::setSprm(Id nId, Id nValue)
{
- if (m_pParserState->m_pDocumentImpl->getFirstRun() && !m_pParserState->m_pDocumentImpl->isStyleSheetImport())
+ if (m_pDocumentImpl->getFirstRun() && !m_pDocumentImpl->isStyleSheetImport())
{
- m_pParserState->m_pDocumentImpl->checkFirstRun();
- m_pParserState->m_pDocumentImpl->setNeedPar(false);
+ m_pDocumentImpl->checkFirstRun();
+ m_pDocumentImpl->setNeedPar(false);
}
switch (nId)
{
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index 500b7bb20683..2ec7f05146be 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -182,12 +182,13 @@ public:
};
class RTFParserState;
+class RTFDocumentImpl;
/// Stores the properties of a frame
class RTFFrame
{
private:
- RTFParserState* m_pParserState;
+ RTFDocumentImpl* m_pDocumentImpl;
sal_Int32 nX, nY, nW, nH;
sal_Int32 nHoriPadding, nVertPadding;
sal_Int32 nHoriAlign, nHoriAnchor, nVertAlign, nVertAnchor;