[gtk/fix-menu-flicker] Fix crossing event generation



commit fcd36e59b12c9c476e3882bea6b0f51eafacd864
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Apr 2 00:39:46 2020 -0400

    Fix crossing event generation
    
    We were not properly setting the new_descendent field
    in Crossing structs for GTK_CROSSING_OUT events. This
    was causing extraneous ::leave signals to be emitted,
    and make model buttons in popover menus flicker when
    hovered.
    
    Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2536

 gtk/gtkmain.c | 1 +
 1 file changed, 1 insertion(+)
---
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 0b99a0030f..d100e578dd 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -1317,6 +1317,7 @@ gtk_synthesize_crossing_events (GtkRoot         *toplevel,
       gtk_widget_handle_crossing (widget, &crossing, x, y);
       if (crossing_type == GTK_CROSSING_POINTER)
         gtk_widget_unset_state_flags (widget, GTK_STATE_FLAG_PRELIGHT);
+      prev = widget;
       widget = gtk_widget_get_parent (widget);
     }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]