diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-09-26 17:06:38 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-09-26 17:06:38 -0400 |
commit | 2a53154892a25d7d93208df18eee27e7ef9b0aaf (patch) | |
tree | 0932c5e86253cd06324caee391fdfd5bf3dfe4fd /libs | |
parent | df5a188825c9f043c0e5f3ab36b86f2598d51923 (diff) |
end tooltip timeout and display for relevant leave notify events
Diffstat (limited to 'libs')
-rw-r--r-- | libs/canvas/canvas.cc | 11 |
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; |