summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-06-08 23:28:11 +0200
committerMichael Stahl <mstahl@redhat.com>2015-06-08 23:48:13 +0200
commit73b303fc3693e7cdf457e617c252c10ef4620bd9 (patch)
tree232959f2a2d1e6464f7a9d4b9ee4a1e45291a1b8
parent5db9892115826c3c88a66f3b8a482a74d63faf24 (diff)
tdf#91917 tdf#91602: avoid layout recursion differently
(regression from 587006cac508616f486aea45e265a170bcccdc87) Change-Id: I38e00a7469243088e25aa1a91e3581240b3bbdea (cherry picked from commit 238e07ddca879e0951bef6391fdc5c3fc26bded5)
-rw-r--r--sw/source/core/crsr/crsrsh.cxx6
1 files changed, 2 insertions, 4 deletions
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 2742a2caf35e..ee223b5ae974 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -285,10 +285,6 @@ void SwCrsrShell::EndAction( const bool bIdleEnd, const bool DoSetPosX )
}
return;
}
- else
- {
- eFlags |= SwCrsrShell::NOCALRECT; // tdf#91602 prevent recursive Action!
- }
if ( !bIdleEnd )
eFlags |= SwCrsrShell::SCROLLWIN;
@@ -1745,12 +1741,14 @@ void SwCrsrShell::UpdateCrsr( sal_uInt16 eFlags, bool bIdleEnd )
aTmpState.pSpecialPos = &aSpecialPos;
}
+ ++mnStartAction; // tdf#91602 prevent recursive Action!
if( !pFrm->GetCharRect( m_aCharRect, *pShellCrsr->GetPoint(), &aTmpState ) )
{
Point& rPt = pShellCrsr->GetPtPos();
rPt = m_aCharRect.Center();
pFrm->GetCrsrOfst( pShellCrsr->GetPoint(), rPt, &aTmpState );
}
+ --mnStartAction;
if( !pShellCrsr->HasMark() )
m_aCrsrHeight = aTmpState.aRealHeight;