[Libreoffice-commits] core.git: sw/source
Michael Stahl
mstahl at redhat.com
Fri Aug 18 15:45:56 UTC 2017
sw/source/core/doc/DocumentContentOperationsManager.cxx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit 6a018363791945b6fd7f04f2aa311e4f4753f6aa
Author: Michael Stahl <mstahl at redhat.com>
Date: Fri Aug 18 17:25:17 2017 +0200
tdf#99692 sw: fix the fix: don't set bNullContent if node was split
When showing the redlines in rhbz908615-13.odt, the following assertion
happens:
Assertion `IDocumentMarkAccess::IsLegalPaMForCrossRefHeadingBookmark(rPaM) && "<CrossRefBookmark::CrossRefBookmark(..)>" "- creation of cross-reference bookmark with an illegal PaM that does not expand over exactly one whole paragraph."' failed.
This is because in DocumentContentOperationsManager::MoveRange() the
flag bNullContent is set after the node has been split; in this case the
nContent is of course always 0.
Later the function then restores aSavePam to the index 0 of the next
node, when it actually shouldn't do anything because the JoinNext()
already positioned it correctly at the merge-index of the re-joined node.
(regression from 850795942b3e168cab8ce88b4f2b421945ff29ca)
Change-Id: I64d50e70b19e2fd81537a9771fa8706898b17642
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index f61c19c2fb29..42572905e79c 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -2034,7 +2034,8 @@ bool DocumentContentOperationsManager::MoveRange( SwPaM& rPaM, SwPosition& rPos,
// the manipulated range.
// tdf#99692 don't Move() back if that would end up in another node
// because moving backward is not necessarily the inverse of forward then.
- const bool bNullContent = aSavePam.GetPoint()->nContent == 0;
+ // (but do Move() back if we have split the node)
+ const bool bNullContent = !bSplit && aSavePam.GetPoint()->nContent == 0;
if( bNullContent )
{
aSavePam.GetPoint()->nNode--;
More information about the Libreoffice-commits
mailing list