summaryrefslogtreecommitdiff
path: root/gtk/gtktooltips.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-02-14 05:18:44 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-02-14 05:18:44 +0000
commitb4edb9da990a3293fd19a90c2f9597776ad4a188 (patch)
tree14ed76abc491d4da8e48dae8a4f46a895ee2467c /gtk/gtktooltips.c
parenta5915e56383a0308ed497dd3c833dd6de6bdaa65 (diff)
downloadgtk+-b4edb9da990a3293fd19a90c2f9597776ad4a188.tar.gz
Only pop the tooltip down on a select set of events, not on any unknown
Thu Feb 14 00:10:09 2002 Owen Taylor <otaylor@redhat.com> * 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.
Diffstat (limited to 'gtk/gtktooltips.c')
-rw-r--r--gtk/gtktooltips.c24
1 files changed, 16 insertions, 8 deletions
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