From a81010b96575292352316a0d5897ba93521b9254 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Thu, 15 Jan 2015 10:34:13 +0100 Subject: SwViewShell: make sure no callback is fired during PaintTile() When the invalidation callback is invoked, we call PaintTile() for each tile that is affected by the invalidated rectangle. Make sure PaintTile() doesn't result in new invalidations generated by itself, to avoid infinite loops. Change-Id: I593726bd7e72028f26103829831949f000665e95 --- sw/source/core/view/viewsh.cxx | 3 +++ 1 file changed, 3 insertions(+) (limited to 'sw') diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index ba2402c5fd3b..b452db5a6180 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -1778,6 +1778,8 @@ void SwViewShell::PaintTile(VirtualDevice &rDevice, int contextWidth, int contex OutputDevice *pSaveOut = mpOut; bool bTiledRendering = mbTiledRendering; mbTiledRendering = true; + LibreOfficeKitCallback pCallback = mpLibreOfficeKitCallback; + mpLibreOfficeKitCallback = 0; mpOut = &rDevice; // resizes the virtual device so to contain the entrie context @@ -1825,6 +1827,7 @@ void SwViewShell::PaintTile(VirtualDevice &rDevice, int contextWidth, int contex // SwViewShell's output device tear down mpOut = pSaveOut; + mpLibreOfficeKitCallback = pCallback; mbTiledRendering = bTiledRendering; static bool bDebug = getenv("SW_DEBUG_TILEDRENDERING") != 0; -- cgit