vcl/unx/gtk3/gtkinst.cxx |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

New commits:
commit 94b264cd0484860e58decef27a15ad865c26ef0d
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Fri Mar 7 21:37:27 2025 +0000
Commit:     Adolfo Jayme Barrientos <fit...@ubuntu.com>
CommitDate: Mon Mar 10 01:49:41 2025 +0100

    Resolves: tdf#165455 fix hover in RTL custom widgets under GTK
    
    Change-Id: If8f4e219766a7a17a85fea60e4d7855684e57d92
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182653
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 3d7567384fd2..98b1c64d62b9 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -18926,7 +18926,12 @@ public:
 #if !GTK_CHECK_VERSION(4, 0, 0)
         tools::Rectangle aRect(Point(x, y), Size(width, height));
         aRect = m_xDevice->LogicToPixel(aRect);
-        gtk_widget_queue_draw_area(GTK_WIDGET(m_pDrawingArea), aRect.Left(), 
aRect.Top(), aRect.GetWidth(), aRect.GetHeight());
+
+        x = aRect.Left();
+        if (SwapForRTL())
+            x = gtk_widget_get_allocated_width(m_pWidget) - aRect.GetWidth() - 
1 - x;
+
+        gtk_widget_queue_draw_area(GTK_WIDGET(m_pDrawingArea), x, aRect.Top(), 
aRect.GetWidth(), aRect.GetHeight());
 #else
         (void)x; (void)y; (void)width; (void)height;
         queue_draw();

Reply via email to