From b4edb9da990a3293fd19a90c2f9597776ad4a188 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Thu, 14 Feb 2002 05:18:44 +0000 Subject: Only pop the tooltip down on a select set of events, not on any unknown Thu Feb 14 00:10:09 2002 Owen Taylor * gtk/gtktooltips.c (gtk_tooltips_event_handler): Only pop the tooltip down on a select set of events, not on any unknown event. (#71157, Jody Goldberg) * gtk/gtktooltips.c (gtk_tooltips_event_handler): Fix some warnings. --- gtk/gtktooltips.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'gtk/gtktooltips.c') diff --git a/gtk/gtktooltips.c b/gtk/gtktooltips.c index 04a46d0664..359aae9df8 100644 --- a/gtk/gtktooltips.c +++ b/gtk/gtktooltips.c @@ -523,7 +523,7 @@ gtk_tooltips_event_handler (GtkWidget *widget, if ((event->type == GDK_LEAVE_NOTIFY || event->type == GDK_ENTER_NOTIFY) && event->crossing.detail == GDK_NOTIFY_INFERIOR) - return FALSE; + return; old_tips_data = gtk_tooltips_data_get (widget); tooltips = old_tips_data->tooltips; @@ -544,9 +544,12 @@ gtk_tooltips_event_handler (GtkWidget *widget, } else { - event_widget = gtk_get_event_widget (event); - if (event_widget != widget) - return FALSE; + if (event->type != GDK_KEY_PRESS && event->type != GDK_KEY_RELEASE) + { + event_widget = gtk_get_event_widget (event); + if (event_widget != widget) + return; + } switch (event->type) { @@ -585,14 +588,19 @@ gtk_tooltips_event_handler (GtkWidget *widget, tooltips->use_sticky_delay = use_sticky_delay; } break; - - default: + + case GDK_BUTTON_PRESS: + case GDK_BUTTON_RELEASE: + case GDK_KEY_PRESS: + case GDK_KEY_RELEASE: + case GDK_PROXIMITY_IN: + case GDK_SCROLL: gtk_tooltips_set_active_widget (tooltips, NULL); break; + default: + break; } } - - return FALSE; } static void -- cgit v1.2.1