tdf#131004 fix unstable paint of writer consecutive section frames
Change-Id: I565129dcd077ddbfccedb37dfbf1b9e1acf4eb95
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91532
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 2f7f4e4..ec99cac 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -853,8 +853,8 @@
void SwLineRects::LockLines( bool bLock )
{
for (iterator it = aLineRects.begin(); it != aLineRects.end(); ++it)
(*it).Lock( bLock );
for (SwLineRect& rLRect : aLineRects)
rLRect.Lock( bLock );
}
static void lcl_DrawDashedRect( OutputDevice * pOut, SwLineRect const & rLRect )
@@ -1033,7 +1033,7 @@
((nLi < rLk.Left() && nLi+21 > rLk.Left()) ||
(nLk < rLi.Left() && nLk+21 > rLi.Left())))
{
aLineRects.erase(aLineRects.begin() + k);
aLineRects.erase(aLineRects.begin() + i);
// don't continue with inner loop any more:
// the array may shrink!
--i;
@@ -1048,7 +1048,7 @@
((nLi < rLk.Top() && nLi+21 > rLk.Top()) ||
(nLk < rLi.Top() && nLk+21 > rLi.Top())))
{
aLineRects.erase(aLineRects.begin() + k);
aLineRects.erase(aLineRects.begin() + i);
// don't continue with inner loop any more:
// the array may shrink!
--i;