tdf#135098 update SwTableCursor m_SelectedBoxes before merge
so it does not contain the soon to-be-deleted SwTableBox so if the rPam is
queried via a11y it doesn't claim the deleted cell still exists.
tdf#122844 may be the same issue
Change-Id: I1ac3752676162ba5a29c0916039b2b467e2ac41a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100214
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index 00e249b..15a4972 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -2280,6 +2280,15 @@ TableMergeErr SwDoc::MergeTable( SwPaM& rPam )
while( &rPam != ( pTmp = pTmp->GetNext() ))
for( int i = 0; i < 2; ++i )
pTmp->GetBound( static_cast<bool>(i) ) = *rPam.GetPoint();
if (SwTableCursor* pTableCursor = dynamic_cast<SwTableCursor*>(&rPam))
{
// tdf#135098 update selection so rPam's m_SelectedBoxes is updated
// to not contain the soon to-be-deleted SwTableBox so if the rPam
// is queried via a11y it doesn't claim the deleted cell still
// exists
pTableCursor->NewTableSelection();
}
}
// Merge them