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

New commits:
commit 74c80afa8544be52bce20b93aec982a3c64d233f
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 24 09:45:39 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>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128834
    Tested-by: Szymon Kłos <szymon.k...@collabora.com>
    Reviewed-by: Szymon Kłos <szymon.k...@collabora.com>

diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 9c49f52894c5..e04eb9e7842b 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -281,6 +281,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->GetOutDev()->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