--- gtktooltips.c~	2006-01-07 11:58:21.000000000 -0800
+++ gtktooltips.c	2006-01-07 12:57:16.000000000 -0800
@@ -65,6 +65,8 @@
 static gint gtk_tooltips_paint_window      (GtkTooltips *tooltips);
 static void gtk_tooltips_draw_tips         (GtkTooltips *tooltips);
 static void gtk_tooltips_unset_tip_window  (GtkTooltips *tooltips);
+static void gtk_tooltips_start_delay       (GtkTooltips *tooltips,
+				            GtkWidget   *widget);
 
 static gboolean get_keyboard_mode          (GtkWidget   *widget);
 
@@ -315,7 +317,7 @@
 		      const gchar *tip_private)
 {
   GtkTooltipsData *tooltipsdata;
-
+  gint x, y;
   g_return_if_fail (GTK_IS_TOOLTIPS (tooltips));
   g_return_if_fail (widget != NULL);
 
@@ -376,8 +378,10 @@
                         G_CALLBACK (gtk_tooltips_widget_remove),
 			tooltipsdata);
     }
-  if GTK_WIDGET_HAS_GRAB(widget)
-    gtk_tooltips_start_delay (tooltips, widget);
+  gtk_widget_get_pointer(widget, &x, &y);
+  if (x >= 0 && x < widget->allocation.width &&
+      y >= 0 && y < widget->allocation.height)
+     gtk_tooltips_start_delay (tooltips, widget);
 }
 
 static gint
