Hi, I found out that bugs https://bugs.freedesktop.org/show_bug.cgi?id=34611 https://bugs.freedesktop.org/show_bug.cgi?id=45376 are caused by a missing call to ClrContourCache( pObj ); in /sw/source/core/layout/pagechg.cxx: void lcl_MoveAllLowerObjs( SwFrm* pFrm, const Point& rOffset ) in the else if ( pAnchoredObj->ISA(SwAnchoredDrawObject) ) case (in the if case, pFlyFrm->NotifyDrawObj() calls ClrContourCache).
The attached patch fixes that problem.
>From d1521229e6b06954e05dfa21bb713a0ebbdd43bc Mon Sep 17 00:00:00 2001 From: Andreas Schierl <openoff...@schierla.de> Date: Mon, 30 Jan 2012 23:34:56 +0100 Subject: [PATCH] ClrContourCache for SwAnchoredDrawObjects --- sw/source/core/layout/pagechg.cxx | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index 79d7d1b..4bac372 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -2035,6 +2035,9 @@ void lcl_MoveAllLowerObjs( SwFrm* pFrm, const Point& rOffset ) const Point aNewAnchorPos( ( aCurrAnchorPos + rOffset ) ); pAnchoredDrawObj->DrawObj()->SetAnchorPos( aNewAnchorPos ); pAnchoredDrawObj->SetLastObjRect( pAnchoredDrawObj->GetObjRect().SVRect() ); + + // clear contour cache + ClrContourCache( pAnchoredDrawObj->GetDrawObj() ); } // #i92511# // cache for object rectangle inclusive spaces has to be invalidated. -- 1.7.4.1
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice