sc/source/ui/view/tabview3.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
New commits: commit 6db8c9c40bbeb8c4c4601d0a05151754727a2dc6 Author: Dennis Francis <dennis.fran...@collabora.com> AuthorDate: Thu Nov 18 12:32:26 2021 +0530 Commit: Dennis Francis <dennis.fran...@collabora.com> CommitDate: Thu Jan 27 11:25:39 2022 +0100 lokCalcRTL: incorrect invalidation rectangle for... cell properties change. LOK client expects invalidation rectangle in document coordinates so ensure we don't mirror the x coordinate. Change-Id: I27bdd29a0d56c7a7b838b7669e3edde805dd1504 (cherry picked from commit d819e543c13f85bd9c18fbe61c7983efab9d21c5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128895 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.fran...@collabora.com> diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index d1543b22cfe6..123c34d93ed7 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -2375,10 +2375,11 @@ void ScTabView::PaintArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCRO continue; bool bLayoutRTL = aViewData.GetDocument().IsLayoutRTL( aViewData.GetTabNo() ); - tools::Long nLayoutSign = bLayoutRTL ? -1 : 1; + tools::Long nLayoutSign = (!bIsTiledRendering && bLayoutRTL) ? -1 : 1; Point aStart = aViewData.GetScrPos( nCol1, nRow1, static_cast<ScSplitPos>(i) ); Point aEnd = aViewData.GetScrPos( nCol2+1, nRow2+1, static_cast<ScSplitPos>(i) ); + if ( eMode == ScUpdateMode::All ) { if (bIsTiledRendering) @@ -2390,11 +2391,11 @@ void ScTabView::PaintArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCRO // Remember that wsd expects int and that aEnd.X() is // in pixels and will be converted in twips, before performing // the lok callback, so we need to avoid that an overflow occurs. - aEnd.setX( bLayoutRTL ? 0 : std::numeric_limits<int>::max() / 1000 ); + aEnd.setX( (!bIsTiledRendering && bLayoutRTL) ? 0 : std::numeric_limits<int>::max() / 1000 ); } else { - aEnd.setX( bLayoutRTL ? 0 : pGridWin[i]->GetOutputSizePixel().Width() ); + aEnd.setX( (!bIsTiledRendering && bLayoutRTL) ? 0 : pGridWin[i]->GetOutputSizePixel().Width() ); } } aEnd.AdjustX( -nLayoutSign );