[Libreoffice-commits] core.git: vcl/unx

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Fri Apr 17 09:47:29 UTC 2020


 vcl/unx/gtk3/gtk3gtkinst.cxx |   20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

New commits:
commit 8e5a43223ce421643213e6542c6a971b6164f6aa
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Apr 17 09:21:52 2020 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Apr 17 11:46:46 2020 +0200

    turn off hover selection until mouse is moved
    
    which solves in a simpler and better way the problem under wayland where I see
    that the cursor pos in super long treeview menus ends up in the wrong place
    
    Change-Id: If9c7e26c3858ef00bc1fbf26319d859ff529db44
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92403
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 0ab70cdb8500..eeed79fc7883 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -12800,6 +12800,14 @@ private:
     {
         if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_pToggleButton)))
         {
+            if (m_bHoverSelection)
+            {
+                // turn hover selection back off until mouse is moved again
+                // *after* menu is shown again
+                gtk_tree_view_set_hover_selection(m_pTreeView, false);
+                m_bHoverSelection = false;
+            }
+
             do_ungrab(GTK_WIDGET(m_pMenuWindow));
 
             gtk_widget_hide(GTK_WIDGET(m_pMenuWindow));
@@ -12833,18 +12841,6 @@ private:
 
             m_bActivateCalled = false;
             show_menu(pComboBox, m_pMenuWindow);
-
-            // under wayland I see that the cursor pos in super
-            // long treeview menus ends up in the wrong place
-            // but letting all pending events get processed
-            // before enabling hover selection solve it
-            Scheduler::ProcessEventsToIdle();
-
-            if (!m_bHoverSelection)
-            {
-                gtk_tree_view_set_hover_selection(m_pTreeView, true);
-                m_bHoverSelection = true;
-            }
         }
     }
 


More information about the Libreoffice-commits mailing list