summaryrefslogtreecommitdiff
path: root/sc/source/ui/view/tabview3.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/view/tabview3.cxx')
-rw-r--r--sc/source/ui/view/tabview3.cxx44
1 files changed, 29 insertions, 15 deletions
diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
index 41a0679408d7..d73c9bd84593 100644
--- a/sc/source/ui/view/tabview3.cxx
+++ b/sc/source/ui/view/tabview3.cxx
@@ -2220,24 +2220,38 @@ void ScTabView::PaintArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCRO
nCol2 = nEndCol;
nRow2 = nEndRow;
- SCCOL nScrX = aViewData.GetPosX( eHWhich );
- SCROW nScrY = aViewData.GetPosY( eVWhich );
- if (nCol1 < nScrX)
- nCol1 = nScrX;
- if (nCol2 < nScrX)
+ SCCOL nLastX = 0;
+ SCROW nLastY = 0;
+
+ if (comphelper::LibreOfficeKit::isActive())
{
- if ( eMode == SC_UPDATE_ALL ) // for UPDATE_ALL, paint anyway
- nCol2 = nScrX; // (because of extending strings to the right)
- else
- bOut = true; // completely outside the window
+ nLastX = aViewData.GetMaxTiledCol();
+ nLastY = aViewData.GetMaxTiledRow();
+ }
+ else
+ {
+
+ SCCOL nScrX = aViewData.GetPosX( eHWhich );
+ SCROW nScrY = aViewData.GetPosY( eVWhich );
+
+ if (nCol1 < nScrX)
+ nCol1 = nScrX;
+ if (nCol2 < nScrX)
+ {
+ if ( eMode == SC_UPDATE_ALL ) // for UPDATE_ALL, paint anyway
+ nCol2 = nScrX; // (because of extending strings to the right)
+ else
+ bOut = true; // completely outside the window
+ }
+ if (nRow1 < nScrY)
+ nRow1 = nScrY;
+ if (nRow2 < nScrY)
+ bOut = true;
+
+ nLastX = nScrX + aViewData.VisibleCellsX( eHWhich ) + 1;
+ nLastY = nScrY + aViewData.VisibleCellsY( eVWhich ) + 1;
}
- if (nRow1 < nScrY)
- nRow1 = nScrY;
- if (nRow2 < nScrY)
- bOut = true;
- SCCOL nLastX = nScrX + aViewData.VisibleCellsX( eHWhich ) + 1;
- SCROW nLastY = nScrY + aViewData.VisibleCellsY( eVWhich ) + 1;
if (nCol1 > nLastX)
bOut = true;
if (nCol2 > nLastX)