diff options
author | Vinaya Mandke <vinaya.mandke@synerzip.com> | 2014-07-25 15:05:50 +0530 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-08-01 10:00:00 +0000 |
commit | 9a733398516b7ee08ad5b3887c75f11f0f6bbc27 (patch) | |
tree | 8ef034afc19600ab0b6dd3a480e73ebb2ecbf505 /sw | |
parent | bac3cdb1b8afd2fa8fdfea99d1d01dc2770d1ef1 (diff) |
fdo#81491 FILEOPEN DOCX Assert Fails while Deleting Para (FramePr)
SwXText::convertToTextFrame is called for a Para with FramePr.
convertToTextFrame in turn calls DelFullPara which throws an assert
as a few Bookmarks are still registered to the paragraph.
In MarkManager::correctMarksAbsolute, pMark->GetMarkPos().nNode.GetNode()
is checked if it is pOldNode, and then the Mark Position is shifted to aNewPos.
In the following condition pMark->GetOtherMarkPos().nNode.GetNode()
if it is the pOldNode, and still the Mark Position is changed.
However the Other Mark Position must be changed as now the Othe Mark is in pOldNode.
Change-Id: I4507f6b2906d33bc65c922fffe12db2110de651b
Reviewed-on: https://gerrit.libreoffice.org/10536
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/core/data/ooxml/pass/fdo81491.docx | bin | 0 -> 13756 bytes | |||
-rw-r--r-- | sw/source/core/doc/docbm.cxx | 3 |
2 files changed, 2 insertions, 1 deletions
diff --git a/sw/qa/core/data/ooxml/pass/fdo81491.docx b/sw/qa/core/data/ooxml/pass/fdo81491.docx Binary files differnew file mode 100644 index 000000000000..0da621514dff --- /dev/null +++ b/sw/qa/core/data/ooxml/pass/fdo81491.docx diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx index db2358c76c6f..233637c34d88 100644 --- a/sw/source/core/doc/docbm.cxx +++ b/sw/source/core/doc/docbm.cxx @@ -584,7 +584,8 @@ namespace sw { namespace mark if (pMark->IsExpanded() && &pMark->GetOtherMarkPos().nNode.GetNode() == pOldNode) { - pMark->SetMarkPos(aNewPos); + // shift the OtherMark to aNewPos + pMark->SetOtherMarkPos(aNewPos); bChangedOPos= true; } // illegal selection? collapse the mark and restore sorting later |