diff --speed-large-files --minimal -Nru gtk+-2.6.1.orig/gtk/gtkdialog.c gtk+-2.6.1/gtk/gtkdialog.c --- gtk+-2.6.1.orig/gtk/gtkdialog.c 2005-01-04 04:40:36.000000000 +1100 +++ gtk+-2.6.1/gtk/gtkdialog.c 2005-01-24 13:57:38.967558048 +1100 @@ -345,10 +345,16 @@ if (!window->focus_widget) { GList *children, *tmp_list; + GtkWidget *first_focus = NULL; do { g_signal_emit_by_name (window, "move_focus", GTK_DIR_TAB_FORWARD); + + if (first_focus == NULL) + first_focus = window->focus_widget; + else if (first_focus == window->focus_widget) + break; } while (GTK_IS_LABEL (window->focus_widget));