Skip to content
  • Carlos Garnacho's avatar
    entry: Handle touch events on entry icons · 9629fd07
    Carlos Garnacho authored
    Those used to work indirectly due to GtkEntry not setting GDK_TOUCH_MASK,
    so pointer emulation would happen on those, but the event handlers on icons
    and its icon-pressed/released signals have never been explicitly touch
    aware, and this broke since the GDK_TOUCH_MASK can be set indirectly by
    GtkGestures.
    
    So make the icon event handler handle touch events, each icon can get hold
    of one GdkEventSequence, reacting exclusively to it. This is still not
    ported to GtkGesture due to GdkEvent exposure in these icon signals, as
    users might expect GDK_2/3BUTTON_PRESS while GtkGesture ignores those.
    
    Also, unset all icon pressed/sequence state on grab-notify, this used to
    happen ad-hoc when initiating icon DnD, but that doesn't cut it for
    user-defined reasons to initiate a grab (eg. popovers).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=736004
    9629fd07