diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-03-11 17:03:17 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-03-12 10:07:36 +0100 |
commit | ef6caa5de612c3c3f0a4fd9b7a30dfcb618cab29 (patch) | |
tree | 4b2e42df257d854428045358d64846c9b3495f4e /sw | |
parent | 837f6e6f341758bacc70f40c0f7deecca5de0087 (diff) |
Revert "merge sw::hack::Position and SwFltPosition"
This reverts commit 4f35958c64d5e63c30e67434936c3a0352f57698.
(which was an attempt at groundwork at fixing ofz#31538)
because ooo46246-1.doc fails to load in crashtesting
Change-Id: I334fc4ff1d1a934d92fe69eae63206c0a480e55e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112359
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/inc/fltshell.hxx | 8 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8par.cxx | 15 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8par.hxx | 20 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8par5.cxx | 10 |
4 files changed, 40 insertions, 13 deletions
diff --git a/sw/source/filter/inc/fltshell.hxx b/sw/source/filter/inc/fltshell.hxx index 4019c2c0ff9c..4fb13a48e06c 100644 --- a/sw/source/filter/inc/fltshell.hxx +++ b/sw/source/filter/inc/fltshell.hxx @@ -74,14 +74,6 @@ public: m_nNode = rPos.nNode.GetIndex()-1; m_nContent = rPos.nContent.GetIndex(); } - - SwPosition ToSwPosition() const - { - SwNodeIndex m_nCorrectNode(m_nNode, +1); - SwPosition aRet(m_nCorrectNode); - aRet.nContent.Assign(m_nCorrectNode.GetNode().GetContentNode(), m_nContent); - return aRet; - } }; // Stack entry for the attributes. It is always pointers to new attributes that are passed. diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index b95e5e2795af..66203d696493 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -6651,6 +6651,21 @@ bool SwWW8ImplReader::InEqualApo(int nLvl) const return m_aApos[nLvl]; } +namespace sw::hack +{ + Position::Position(const SwPosition &rPos) + : maPtNode(rPos.nNode), mnPtContent(rPos.nContent.GetIndex()) + { + } + + Position::operator SwPosition() const + { + SwPosition aRet(maPtNode); + aRet.nContent.Assign(maPtNode.GetNode().GetContentNode(), mnPtContent); + return aRet; + } +} + SwMacroInfo::SwMacroInfo() : SdrObjUserData( SdrInventor::ScOrSwDraw, SW_UD_IMAPDATA ) , mnShapeId(-1) diff --git a/sw/source/filter/ww8/ww8par.hxx b/sw/source/filter/ww8/ww8par.hxx index bb05228159fd..fcfac3503ad1 100644 --- a/sw/source/filter/ww8/ww8par.hxx +++ b/sw/source/filter/ww8/ww8par.hxx @@ -543,6 +543,21 @@ struct HyperLinksTable namespace sw { + namespace hack + { + class Position + { + private: + SwNodeIndex maPtNode; + sal_Int32 mnPtContent; + public: + explicit Position(const SwPosition &rPos); + operator SwPosition() const; + const SwNodeIndex& GetPtNode() const { return maPtNode; }; + sal_Int32 GetPtContent() const { return mnPtContent; }; + }; + } + auto FilterControlChars(OUString const& rString) -> OUString; } @@ -555,7 +570,7 @@ class WW8FieldEntry ::sw::mark::IFieldmark::parameter_map_t maParams; public: - SwFltPosition maStartPos; + sw::hack::Position maStartPos; sal_uInt16 mnFieldId; sal_uLong mnObjLocFc; WW8FieldEntry(SwPosition const &rPos, sal_uInt16 nFieldId) throw(); @@ -563,6 +578,9 @@ class WW8FieldEntry WW8FieldEntry &operator=(const WW8FieldEntry &rOther) throw(); void Swap(WW8FieldEntry &rOther) throw(); + SwNodeIndex GetPtNode() const { return maStartPos.GetPtNode(); }; + sal_Int32 GetPtContent() const { return maStartPos.GetPtContent(); }; + const OUString& GetBookmarkName() const { return msBookmarkName;} const OUString& GetBookmarkCode() const { return msMarkCode;} void SetBookmarkName(const OUString& bookmarkName); diff --git a/sw/source/filter/ww8/ww8par5.cxx b/sw/source/filter/ww8/ww8par5.cxx index 202f9a2d629f..88b952099e6a 100644 --- a/sw/source/filter/ww8/ww8par5.cxx +++ b/sw/source/filter/ww8/ww8par5.cxx @@ -220,7 +220,7 @@ tools::Long SwWW8ImplReader::Read_Book(WW8PLCFManResult*) if (!m_aFieldStack.empty()) { const WW8FieldEntry &rTest = m_aFieldStack.back(); - aStart = rTest.maStartPos.ToSwPosition(); + aStart = rTest.maStartPos; } const OUString sOrigName = BookmarkToWriter(*pName); @@ -522,7 +522,7 @@ sal_uInt16 SwWW8ImplReader::End_Field() case ww::eFORMTEXT: if (bUseEnhFields && m_pPaM!=nullptr && m_pPaM->GetPoint()!=nullptr) { SwPosition aEndPos = *m_pPaM->GetPoint(); - SwPaM aFieldPam(m_aFieldStack.back().maStartPos.ToSwPosition(), aEndPos); + SwPaM aFieldPam( m_aFieldStack.back().GetPtNode(), m_aFieldStack.back().GetPtContent(), aEndPos.nNode, aEndPos.nContent.GetIndex()); IDocumentMarkAccess* pMarksAccess = m_rDoc.getIDocumentMarkAccess( ); IFieldmark *pFieldmark = pMarksAccess->makeFieldBookmark( aFieldPam, m_aFieldStack.back().GetBookmarkName(), ODF_FORMTEXT, @@ -584,7 +584,7 @@ sal_uInt16 SwWW8ImplReader::End_Field() case ww::eMERGEINC: case ww::eINCLUDETEXT: //Move outside the section associated with this type of field - *m_pPaM->GetPoint() = m_aFieldStack.back().maStartPos.ToSwPosition(); + *m_pPaM->GetPoint() = m_aFieldStack.back().maStartPos; break; case ww::eIF: // IF-field { @@ -616,7 +616,9 @@ sal_uInt16 SwWW8ImplReader::End_Field() { // Unhandled field with stored code SwPosition aEndPos = *m_pPaM->GetPoint(); - SwPaM aFieldPam(m_aFieldStack.back().maStartPos.ToSwPosition(), aEndPos); + SwPaM aFieldPam( + m_aFieldStack.back().GetPtNode(), m_aFieldStack.back().GetPtContent(), + aEndPos.nNode, aEndPos.nContent.GetIndex()); IDocumentMarkAccess* pMarksAccess = m_rDoc.getIDocumentMarkAccess( ); |