diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-01-15 10:34:13 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-01-16 13:18:32 +0100 |
commit | a81010b96575292352316a0d5897ba93521b9254 (patch) | |
tree | 9e92b9b11a328406a27c51d8512c3b7bd1733c54 /sw | |
parent | 548ed2c3322bd4455d3def980d227c50dbbf1f58 (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.cxx | 3 |
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; |