summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2020-06-18 14:13:03 +0200
committerMichael Stahl <michael.stahl@cib.de>2020-06-18 17:02:52 +0200
commitc4a4c766483aa18119f051a3885943781a5e68ea (patch)
tree8c61158291ff4558fe2eeb9d211267d70d03b011
parentf9ac4ab61fa2ebcafa8ea8957db01104a927bff2 (diff)
sw: try not to layout in SwShellTableCursor::FillRects()
This crashes after Undo in tdf#134021 bugdoc, because there's no Action there so a SwTabFrame::RemoveFollowFlowLine() deletes a row and a11y events are sent synchronously, then the a11y code calls back into sw and accesses semi-connected cell frames. Change-Id: I98e8acf4756a44b8776e01d6b831d4b1494792f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96603 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
-rw-r--r--sw/source/core/crsr/viscrs.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx
index c9d7661cc10f..6f3a1e3b633d 100644
--- a/sw/source/core/crsr/viscrs.cxx
+++ b/sw/source/core/crsr/viscrs.cxx
@@ -866,7 +866,7 @@ void SwShellTableCursor::FillRects()
if( !pCNd )
continue;
- std::pair<Point, bool> const tmp(GetSttPos(), true);
+ std::pair<Point, bool> const tmp(GetSttPos(), false);
SwFrame* pFrame = pCNd->getLayoutFrame(GetShell()->GetLayout(), nullptr, &tmp);
while( pFrame && !pFrame->IsCellFrame() )
pFrame = pFrame->GetUpper();