[Libreoffice-commits] core.git: sw/source
Michael Stahl
mstahl at redhat.com
Fri Jun 5 15:40:27 PDT 2015
sw/source/core/crsr/crsrsh.cxx | 4 ++++
1 file changed, 4 insertions(+)
New commits:
commit 587006cac508616f486aea45e265a170bcccdc87
Author: Michael Stahl <mstahl at redhat.com>
Date: Fri Jun 5 23:56:07 2015 +0200
tdf#91602: sw: prevent recursive layout crash
SwCrsrShell::UpdateCrsr() calls SwTextFrm::GetCharRect(), which does
layout. It happens that a SdrObject is moved around during layout,
which calls SwDrawContact::Changed(), which believes that there is
no layout active because there is no SwLayAction and
ViewShell::EndAction() has already been called, so we get recursive
layout-in-layout action.
Change-Id: Iad8df4910e3c661150bdf5ac7d777792e69a8f71
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 501a0e8..5464ce3 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -284,6 +284,10 @@ void SwCrsrShell::EndAction( const bool bIdleEnd, const bool DoSetPosX )
}
return;
}
+ else
+ {
+ eFlags |= SwCrsrShell::NOCALRECT; // tdf#91602 prevent recursive Action!
+ }
if ( !bIdleEnd )
eFlags |= SwCrsrShell::SCROLLWIN;
More information about the Libreoffice-commits
mailing list