summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-01-15 10:34:13 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-01-16 13:18:32 +0100
commita81010b96575292352316a0d5897ba93521b9254 (patch)
tree9e92b9b11a328406a27c51d8512c3b7bd1733c54 /sw
parent548ed2c3322bd4455d3def980d227c50dbbf1f58 (diff)
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
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/view/viewsh.cxx3
1 files changed, 3 insertions, 0 deletions
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;