After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 726209 - GtkTreeView: stop ignoring crossing events from grabs
GtkTreeView: stop ignoring crossing events from grabs
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
unspecified
Other All
: Normal normal
: ---
Assigned To: gtktreeview-bugs
gtktreeview-bugs
Depends on:
Blocks:
 
 
Reported: 2014-03-12 23:42 UTC by Owen Taylor
Modified: 2014-03-13 03:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
GtkTreeView: stop ignoring crossing events from grabs (2.20 KB, patch)
2014-03-12 23:42 UTC, Owen Taylor
committed Details | Review

Description Owen Taylor 2014-03-12 23:42:38 UTC
Stop ignoring various crossing events from grabs:

Enter events with type GRAB/GTK_GRAB/GTK_UNGRAB/STATE_CHANGED:
  Ignoring these events was added as a workaround for synthesized
  events not having the right coordinates (see bug 555109) but
  now they do have the right coordinates. (see bug 704456)

Leave events with types types GTK_GRAB/GTK_UNGRAB:
  Ignoring these events was added because since we were ignoring
  the enter events as above, ignoring the leave events meant we
  could lose the prelighted row in a grab-triggered leave/enter
  pair. (See bug 653676. It's also now impossible to
  reproduce the leave events that were reported in that bug as causing
  problems.)

Leave events of type GRAB.
  Ignoring these events was added without a ChangeLog entry in 2001,
  possibly to keep the prelight from flashing when activating menus.
  But ignoring these events could lead to stuck prelighting, and we don't
  do it for any other widgets.
Comment 1 Owen Taylor 2014-03-12 23:42:40 UTC
Created attachment 271667 [details] [review]
GtkTreeView: stop ignoring crossing events from grabs
Comment 2 Owen Taylor 2014-03-12 23:43:51 UTC
The bug this patch is fixing is that currently if you have a GtkPopover in
clicking off the popover to dismiss it on a GtkTreeView (which triggers
a synthetic enter event on the GtkTreeView) will leave the GtkTreeView
in a confused state until the user moves the mouse again.

(This could also happen with a modal dialog or menu ,but the problem
described here is *likely* to be encountered if you are triggering a
popover when clicking on GtkTreeView cells.)
Comment 3 Matthias Clasen 2014-03-13 02:56:50 UTC
Review of attachment 271667 [details] [review]:

Thanks for the detailed commit message, thats appreciated. I've added the bug description from the last comment.
Comment 4 Matthias Clasen 2014-03-13 03:00:00 UTC
Attachment 271667 [details] pushed as 827e5cb - GtkTreeView: stop ignoring crossing events from grabs