kbrown / rpms / libreoffice

Forked from rpms/libreoffice 2 years ago
Clone

Blame SOURCES/0213-editeng-tiled-rendering-avoid-selections-callbacks-i.patch

f325b2
From bbafd80e0bbcaf3e61962d062070f6ec8c1c8b88 Mon Sep 17 00:00:00 2001
f325b2
From: Miklos Vajna <vmiklos@collabora.co.uk>
f325b2
Date: Fri, 16 Oct 2015 09:45:52 +0200
f325b2
Subject: [PATCH 213/398] editeng tiled rendering: avoid selections callbacks
f325b2
 in Paint()
f325b2
f325b2
Given that we emit selection callbacks on each logical operations (set
f325b2
selection, deselect all, etc) already, it's not necessary to emit
f325b2
callbacks in DrawSelection() when it's called from Paint().
f325b2
f325b2
Change-Id: I6781c71ee2f292de2a1c7d129fc49b514aca2be1
f325b2
(cherry picked from commit 11754fd7923c727e921bb6cbaf88d2765082667c)
f325b2
---
f325b2
 editeng/source/editeng/impedit3.cxx | 5 ++++-
f325b2
 1 file changed, 4 insertions(+), 1 deletion(-)
f325b2
f325b2
diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx
f325b2
index 5df7e5e0ad32..3e4bceee6da9 100644
f325b2
--- a/editeng/source/editeng/impedit3.cxx
f325b2
+++ b/editeng/source/editeng/impedit3.cxx
f325b2
@@ -3848,7 +3848,10 @@ void ImpEditEngine::Paint( ImpEditView* pView, const Rectangle& rRect, OutputDev
f325b2
         else
f325b2
             pTarget->SetClipRegion();
f325b2
 
f325b2
-        pView->DrawSelection(pView->GetEditSelection(), 0, pTarget);
f325b2
+        // In case of tiled rendering pass a region to DrawSelection(), so that
f325b2
+        // selection callbacks are not emitted during every repaint.
f325b2
+        vcl::Region aRegion;
f325b2
+        pView->DrawSelection(pView->GetEditSelection(), pView->isTiledRendering() ? &aRegion : 0, pTarget);
f325b2
     }
f325b2
 }
f325b2
 
f325b2
-- 
f325b2
2.12.0
f325b2