Blame SOURCES/0321-sc-lok-during-tiled-rendering-the-cell-cursor-is-alw.patch

135360
From 9cb5bab53bf2211762f3470cba824ce1ecdc9391 Mon Sep 17 00:00:00 2001
135360
From: Andrzej Hunt <andrzej@ahunt.org>
135360
Date: Fri, 13 Nov 2015 11:17:43 +0100
135360
Subject: [PATCH 321/398] sc lok: during tiled rendering the cell-cursor is
135360
 always visible
135360
135360
Change-Id: Ia802c19f5bfd2fe2e9909e3c611047c529a64200
135360
(cherry picked from commit e77668eb1e7abe522493235dadfca08ca451ad99)
135360
---
135360
 sc/source/ui/view/gridwin.cxx | 12 +++++-------
135360
 1 file changed, 5 insertions(+), 7 deletions(-)
135360
135360
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
135360
index c2d391d038ef..96f10568b797 100644
135360
--- a/sc/source/ui/view/gridwin.cxx
135360
+++ b/sc/source/ui/view/gridwin.cxx
135360
@@ -6019,7 +6019,9 @@ void ScGridWindow::UpdateCursorOverlay()
135360
 
135360
     const ScPatternAttr* pPattern = pDoc->GetPattern(nX,nY,nTab);
135360
 
135360
-    if (!maVisibleRange.isInside(nX, nY))
135360
+    ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer();
135360
+
135360
+    if (!pDrawLayer->isTiledRendering() && !maVisibleRange.isInside(nX, nY))
135360
     {
135360
         if (maVisibleRange.mnCol2 < nX || maVisibleRange.mnRow2 < nY)
135360
             return;     // no further check needed, nothing visible
135360
@@ -6038,13 +6040,11 @@ void ScGridWindow::UpdateCursorOverlay()
135360
     }
135360
 
135360
     //  don't show the cursor in overlapped cells
135360
-
135360
     const ScMergeFlagAttr& rMergeFlag = static_cast<const ScMergeFlagAttr&>( pPattern->GetItem(ATTR_MERGE_FLAG) );
135360
     bool bOverlapped = rMergeFlag.IsOverlapped();
135360
 
135360
     //  left or above of the screen?
135360
-
135360
-    bool bVis = ( nX>=pViewData->GetPosX(eHWhich) && nY>=pViewData->GetPosY(eVWhich) );
135360
+    bool bVis = pDrawLayer->isTiledRendering() || ( nX>=pViewData->GetPosX(eHWhich) && nY>=pViewData->GetPosY(eVWhich) );
135360
     if (!bVis)
135360
     {
135360
         SCCOL nEndX = nX;
135360
@@ -6074,7 +6074,7 @@ void ScGridWindow::UpdateCursorOverlay()
135360
         }
135360
 
135360
         // in the tiled rendering case, don't limit to the screen size
135360
-        if (bMaybeVisible)
135360
+        if (bMaybeVisible || pDrawLayer->isTiledRendering())
135360
         {
135360
             long nSizeXPix;
135360
             long nSizeYPix;
135360
@@ -6117,8 +6117,6 @@ void ScGridWindow::UpdateCursorOverlay()
135360
         }
135360
     }
135360
 
135360
-    ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer();
135360
-
135360
     if ( !aPixelRects.empty() )
135360
     {
135360
         if (pDrawLayer->isTiledRendering()) {
135360
-- 
135360
2.12.0
135360