Index: gail/gailwindow.c
===================================================================
--- gail/gailwindow.c	(revision 1288)
+++ gail/gailwindow.c	(working copy)
@@ -273,7 +273,8 @@
       const gchar *name;
 
       name = gtk_widget_get_name (widget);
-      if (name && !strcmp (name, "gtk-tooltips"))
+      if (name && (!strcmp (name, "gtk-tooltip") ||
+                   !strcmp (name, "gtk-tooltips")))
         obj->role = ATK_ROLE_TOOL_TIP;
       else if (GTK_IS_PLUG (widget))
         obj->role = ATK_ROLE_PANEL;
@@ -335,12 +336,32 @@
               GtkWidget *child;
 
               child = gtk_bin_get_child (GTK_BIN (window));
-	      /* could be some kind of egg notification bubble thingy? */
+
+	   /* could be some kind of egg notification bubble thingy? */
+
+              /* Handle new GTK+ GNOME 2.20 tooltips */
+              if (GTK_IS_ALIGNMENT(child))
+                {
+                  child = gtk_bin_get_child (GTK_BIN (child));
+                  if (GTK_IS_BOX(child)) 
+                    {
+                      GList *children;
+                      guint count;
+                      children = gtk_container_get_children (child);
+                      count = g_list_length (children);
+                      if (count == 2) 
+                        {
+                          child = (GtkWidget *) g_list_nth_data (children, 1);
+                        }
+                      g_list_free (children);                
+                    }
+                }
+
               if (!GTK_IS_LABEL (child)) 
-	      { 
-		  g_message ("ATK_ROLE_TOOLTIP object found, but doesn't look like a tooltip.");
-		  return NULL;
-	      }
+              { 
+                  g_message ("ATK_ROLE_TOOLTIP object found, but doesn't look like a tooltip.");
+                  return NULL;
+              }
               name = gtk_label_get_text (GTK_LABEL (child));
             }
         }
