summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorAndrzej Hunt <andrzej@ahunt.org>2015-11-10 19:45:13 +0100
committerJan Holesovsky <kendy@collabora.com>2015-11-11 09:46:41 +0100
commit6b71b2a7bc0634811675f20bda02a59239d3b85b (patch)
tree825b40259467d07f580e6c7b3c81af4d816a5400 /sd
parent8055e0934f14ae7419e668fdeee65add09d64bda (diff)
sd lok: ccu#1295 force async image swap
This helps ensure that images are swapped in when we actually render tiles. Previously we'd sometimes have placeholders instead of the image, which results in either an invalidate (+rerender of that tile) once the image is swapped in (for normal tiles) or a permanently missing image in the preview tiles. Change-Id: I1a16a913faf9fad20e40a5d1aad3de187038c7a2 Reviewed-on: https://gerrit.libreoffice.org/19890 Reviewed-by: Andrzej Hunt <andrzej@ahunt.org> Tested-by: Andrzej Hunt <andrzej@ahunt.org>
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/unoidl/unomodel.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx
index d2c6b5e37603..9475ff56c505 100644
--- a/sd/source/ui/unoidl/unomodel.cxx
+++ b/sd/source/ui/unoidl/unomodel.cxx
@@ -2380,14 +2380,21 @@ void SdXImpressDocument::initializeForTiledRendering()
mpDoc->setTiledRendering(true);
- // Disable map mode, so that it's possible to send mouse event coordinates
- // in logic units.
if (DrawViewShell* pViewShell = GetViewShell())
{
+ // Disable map mode, so that it's possible to send mouse event coordinates
+ // in logic units.
if (sd::Window* pWindow = pViewShell->GetActiveWindow())
{
pWindow->EnableMapMode(false);
}
+
+ // Forces all images to be swapped in synchronously, this
+ // ensures that images are available when paintTile is called
+ // (whereas with async loading images start being loaded after
+ // we have painted the tile, resulting in an invalidate, followed
+ // by the tile being rerendered - which is wasteful and ugly).
+ pViewShell->GetDrawView()->SetSwapAsynchron(false);
}
// tdf#93154: in tiled rendering LO doesn't always detect changes
SvtMiscOptions aMiscOpt;