vcl/source/window/winproc.cxx |    8 ++++++++
 1 file changed, 8 insertions(+)

New commits:
commit 89a44f1a340e6d3fe63dbcc229f61f2aed157d65
Author:     Szymon Kłos <szymon.k...@collabora.com>
AuthorDate: Wed Jan 12 17:19:41 2022 +0100
Commit:     Szymon Kłos <szymon.k...@collabora.com>
CommitDate: Mon Jan 17 10:04:56 2022 +0100

    RTL: lok: handle mirrored mouse coordinates
    
    Change-Id: Ib881b92f691e250f150db1d02c48dd465c622fb4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128370
    Reviewed-by: Henry Castro <hcas...@collabora.com>
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>

diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 0341b7e469d5..5bc917e09f7f 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -275,6 +275,14 @@ bool ImplHandleMouseEvent( const VclPtr<vcl::Window>& 
xWindow, MouseNotifyEvent
     ImplFrameData* pWinFrameData = xWindow->ImplGetFrameData();
     sal_uInt16      nOldCode = pWinFrameData->mnMouseCode;
 
+    if (comphelper::LibreOfficeKit::isActive() && AllSettings::GetLayoutRTL()
+        && xWindow->GetOutDev() && !xWindow->ImplIsAntiparallel())
+    {
+        xWindow->GetOutDev()->ReMirror(aMousePos);
+        nX = aMousePos.X();
+        nY = aMousePos.Y();
+    }
+
     // we need a mousemove event, before we get a mousebuttondown or a
     // mousebuttonup event
     if ( (nSVEvent == MouseNotifyEvent::MOUSEBUTTONDOWN) || (nSVEvent == 
MouseNotifyEvent::MOUSEBUTTONUP) )

Reply via email to