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 724785 - Tooltips get shown even if the widget is hidden by a GtkPopover
Tooltips get shown even if the widget is hidden by a GtkPopover
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
3.11.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2014-02-20 09:48 UTC by Timm Bäder
Modified: 2014-03-05 13:01 UTC
See Also:
GNOME target: 3.12
GNOME version: ---


Attachments
Test case to illustrate the problem (1.06 KB, text/x-csrc)
2014-02-20 09:48 UTC, Timm Bäder
  Details
popover: Set pointer motion mask on the popover window (1.10 KB, patch)
2014-03-05 13:01 UTC, Carlos Garnacho
committed Details | Review

Description Timm Bäder 2014-02-20 09:48:25 UTC
Created attachment 269780 [details]
Test case to illustrate the problem

In the attached test case...
 1) Click on the upper button
 2) Move your mouse over the popover

Now the tooltip from the lower button appears even though the the mouse is not directly over it.
Note that, if the widget inside the popover also has a tooltip text set, the one will appear and not the one from the widget underneath.
Comment 1 Carlos Garnacho 2014-03-05 13:01:16 UTC
Thanks for the report and the testcase! The fix turned out to be simpler than
I expected, although this also made me realize DnD is broken on popovers... But
this one is fixed now.

The following fix has been pushed:
5b1eeac popover: Set pointer motion mask on the popover window
Comment 2 Carlos Garnacho 2014-03-05 13:01:20 UTC
Created attachment 270984 [details] [review]
popover: Set pointer motion mask on the popover window

This is not necessary for the popover itself, but helps tooltips
code confine the widget lookup within the popover if the pointer
is inside it, otherwise the widget lookup may turn out wrong for
motion events, starting the tooltip widget lookup from the toplevel
window, mistakenly triggering tooltips on the natural window
descendants (ie. the widget below the popover)