From 1bef764ac84d113a0bcb237a0634579ee8dccec0 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 5 Aug 2020 21:08:04 +0100 Subject: 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/+/100213 Tested-by: Jenkins Reviewed-by: Xisco Fauli --- sw/source/core/docnode/ndtbl.cxx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx index 4d5469e8fdac..5dcbdf86575f 100644 --- a/sw/source/core/docnode/ndtbl.cxx +++ b/sw/source/core/docnode/ndtbl.cxx @@ -2285,6 +2285,15 @@ TableMergeErr SwDoc::MergeTable( SwPaM& rPam ) while( &rPam != ( pTmp = pTmp->GetNext() )) for( int i = 0; i < 2; ++i ) pTmp->GetBound( static_cast(i) ) = *rPam.GetPoint(); + + if (SwTableCursor* pTableCursor = dynamic_cast(&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 -- cgit