summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-09-26 17:06:38 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2014-09-26 17:06:38 -0400
commit2a53154892a25d7d93208df18eee27e7ef9b0aaf (patch)
tree0932c5e86253cd06324caee391fdfd5bf3dfe4fd /libs
parentdf5a188825c9f043c0e5f3ab36b86f2598d51923 (diff)
end tooltip timeout and display for relevant leave notify events
Diffstat (limited to 'libs')
-rw-r--r--libs/canvas/canvas.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc
index 9151c6d906..baced0761c 100644
--- a/libs/canvas/canvas.cc
+++ b/libs/canvas/canvas.cc
@@ -890,6 +890,17 @@ GtkCanvas::on_enter_notify_event (GdkEventCrossing* ev)
bool
GtkCanvas::on_leave_notify_event (GdkEventCrossing* ev)
{
+ switch (ev->detail) {
+ case GDK_NOTIFY_ANCESTOR:
+ case GDK_NOTIFY_UNKNOWN:
+ case GDK_NOTIFY_VIRTUAL:
+ case GDK_NOTIFY_NONLINEAR:
+ case GDK_NOTIFY_NONLINEAR_VIRTUAL:
+ /* leaving window, cancel any tooltips */
+ stop_tooltip_timeout ();
+ hide_tooltip ();
+ break;
+ }
_new_current_item = 0;
deliver_enter_leave (Duple (ev->x, ev->y), ev->state);
return true;