summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/source/ui/drawfunc/fuconstr.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/sc/source/ui/drawfunc/fuconstr.cxx b/sc/source/ui/drawfunc/fuconstr.cxx
index c566dfb4dd4e..0eed42835d7c 100644
--- a/sc/source/ui/drawfunc/fuconstr.cxx
+++ b/sc/source/ui/drawfunc/fuconstr.cxx
@@ -83,6 +83,7 @@ Point FuConstruct::CurrentGridSyncOffsetAndPos( Point& rInOutPos )
// involved. Lets calculate where aPos would be at 100% zoom
// that's the actual correct position for the object ( when you
// restore the zoom.
+ sal_Bool bNegative = pDoc->IsNegativePage(pView->GetTab());
Rectangle aObjRect( rInOutPos, rInOutPos );
ScRange aRange = pDoc->GetRange( pView->GetTab(), aObjRect );
ScAddress aOldStt = aRange.aStart;
@@ -98,6 +99,12 @@ Point FuConstruct::CurrentGridSyncOffsetAndPos( Point& rInOutPos )
Point aOff = ( rInOutPos - aCurPosHmm );
rInOutPos = aOldPos + aOff;
aRetGridOff = aCurPosHmm - aOldPos;
+ // fdo#64011 fix the X position when the sheet are RTL
+ if ( bNegative )
+ {
+ aRetGridOff.setX( aCurPosHmm.getX() + aOldPos.getX() );
+ rInOutPos.setX( aOff.getX() - aOldPos.getX() );
+ }
}
return aRetGridOff;
}