diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2018-08-08 16:13:58 +0200 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2018-09-19 10:18:24 +0200 |
commit | ad067c367fbca9eb7a0f5c8adbe6be243950569e (patch) | |
tree | a380bcd92983c7a7017f994e6fa5011ac1db86c6 /sw/inc/ndtxt.hxx | |
parent | 6386e5951c72d1ac4072a333e867bcf87fdd9c81 (diff) |
sw_redlinehide_2: fix ordering of SplitNode usage of ContentIdxStore
The problem is that now the ctor of SwTextFrame will check the redline
positions, but the call to MakeFramesForAdjacentContentNode()
happens before the call to ContentIdxStore::Restore() that updates
the SwPositions of the redlines, hence they point to the wrong node.
Try to fix this by not calling Restore directly but pass in a closure
to SwTextNode::SplitContentNode() so that it can call
ContentIdxStore::Restore() before frames are created and redline positions
are checked.
Also remove the useless SwContentNode::SplitContentNode() - only the
SwTextNode override actually did anything.
Change-Id: I2088fd124d04cf354f4f0f691a50ff5217d778d7
Diffstat (limited to 'sw/inc/ndtxt.hxx')
-rw-r--r-- | sw/inc/ndtxt.hxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sw/inc/ndtxt.hxx b/sw/inc/ndtxt.hxx index c9e1f2b334ae..98f1af0de448 100644 --- a/sw/inc/ndtxt.hxx +++ b/sw/inc/ndtxt.hxx @@ -34,6 +34,7 @@ #include <memory> #include <vector> #include <set> +#include <functional> class SfxHint; class SwNumRule; @@ -347,7 +348,8 @@ public: /// Virtual methods from ContentNode. virtual SwContentFrame *MakeFrame( SwFrame* ) override; - virtual SwContentNode *SplitContentNode( const SwPosition & ) override; + SwTextNode * SplitContentNode(const SwPosition &, + std::function<void (SwTextNode *)> const* pContentIndexRestore); virtual SwContentNode *JoinNext() override; void JoinPrev(); |