Index: gtktooltip.c
===================================================================
--- gtktooltip.c	(revision 17628)
+++ gtktooltip.c	(working copy)
@@ -463,6 +463,35 @@ find_widget_under_pointer (GdkWindow *wi
   child_loc.y = *y;
 
   gdk_window_get_user_data (window, (void **)&event_widget);
+
+  /* Some no window widgets do have an event window,
+   * correct the coorindates for that here.
+   */
+  if (GTK_WIDGET_NO_WINDOW (event_widget)
+      && window != event_widget->window
+      && gdk_window_get_parent (window) == event_widget->window)
+    {
+      gint px, py;
+
+      gdk_window_get_position (window, &px, &py);
+      child_loc.x += px + event_widget->allocation.x;
+      child_loc.y += py + event_widget->allocation.y;
+    }
+  else
+    {
+      /* Translate the coordinates to be relative to widget->window */
+      while (window && event_widget->window != window)
+        {
+	  gint px, py;
+
+	  gdk_window_get_position (window, &px, &py);
+	  child_loc.x += px;
+	  child_loc.y += py;
+
+	  window = gdk_window_get_parent (window);
+	}
+    }
+
   if (GTK_IS_CONTAINER (event_widget))
     {
       window_to_alloc (event_widget,
