Apache OpenOffice (AOO) Bugzilla – Issue 111727
[sw] SwDoc::DeleteRange does not adjust cursors
Last modified: 2013-08-07 14:44:07 UTC
the method SwDoc::DeleteRange does not adjust cursors so they may point at deleted nodes. this can be triggered by creating a delete redline whose first node is a section node, positioning the view cursor in the delete redline, and then disabling Edit->Changes->Show. the text node where the cursor is registered is deleted, but the cursor still points there. there will be many assertions like this: (dbx) where [1] AssertFail(pError = 0xf4f026d5 ""Attempt to compare indices into different arrays."", pFileName = 0xf4f02709 "/export/home/ms216673/hg/swuno/sw/source/core/bastyp/index.cxx", nLine = 523U), line 70 in "errhdl.cxx" [2] SwIndex::operator<=(this = 0xf12930e0, rIndex = CLASS), line 523 in "index.cxx" [3] SwPosition::operator<=(this = 0xf12930d0, rPos = STRUCT), line 134 in "pam.cxx" [4] SwPaM::Start(this = 0xf12930c4), line 220 in "pam.hxx" [5] SwRootFrm::CalcFrmRects(this = 0x88eb118, rCrsr = CLASS, bIsTblMode = '\0'), line 2015 in "trvlfrm.cxx" [6] SwShellCrsr::FillRects(this = 0xf1293098), line 752 in "viscrs.cxx" [7] SwSelPaintRects::Show(this = 0xf129309c), line 564 in "viscrs.cxx" [8] SwShellCrsr::Show(this = 0xf1293000), line 760 in "viscrs.cxx" [9] SwCrsrShell::ShowCrsrs(this = 0x88ebed8, bCrsrVis = '\001'), line 2067 in "crsrsh.cxx"
fixed in cws sw33bf04 http://hg.services.openoffice.org/hg/cws/sw33bf04/rev/0642325ae92f
verified by review with ama
.