svx/source/svdraw/svdpntv.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
New commits: commit ff6c8114e3f0ddde8985be836e1e92c9b8e516d9 Author: Miklos Vajna <[email protected]> Date: Wed Apr 1 14:33:16 2015 +0200 SdrPaintView tiled rendering: ignore visual area With this, a number of so far missing images properly show up in Draw and Impress. Images are loaded asynchronously, and the AsynchGraphicLoadingEvent is registered in the SdrPageWindow. This means that in case the event is registered in the temporary page window that's created by SdrPageView::CompleteRedraw(), invoked by paintTile() call, then chances are high that the page window will be destructed earlier than the scheduler would execute the async event. This leads to missing images. Fix the problem by not ignororing Invalidate() calls depending on what core thinks is a visible area: then the view that is an sd::Window will also try to do the async image loading, and that will be actually executed properly. Change-Id: Icf5fd772b66c31d3876bf3673ba5e283c7e08083 diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx index 5c7de98..c50ba58 100644 --- a/svx/source/svdraw/svdpntv.cxx +++ b/svx/source/svdraw/svdpntv.cxx @@ -957,7 +957,8 @@ void SdrPaintView::InvalidateAllWin(const Rectangle& rRect, bool bPlus1Pix) aOrg.X()=-aOrg.X(); aOrg.Y()=-aOrg.Y(); Rectangle aOutRect(aOrg, rOutDev.GetOutputSize()); - if (aRect.IsOver(aOutRect)) + // In case of tiled rendering we want to get all invalidations, so visual area is not interesting. + if (aRect.IsOver(aOutRect) || GetModel()->isTiledRendering()) { InvalidateOneWin(static_cast<vcl::Window&>(rOutDev), aRect); } _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
