Don't loop forever here, even if the only focusable widgets are labels.

2005-01-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdialog.c (gtk_dialog_map): Don't loop forever
	here, even if the only focusable widgets are labels.
This commit is contained in:
Matthias Clasen 2005-01-20 19:53:58 +00:00 committed by Matthias Clasen
parent 9726395dd6
commit 357c4aa3bf
4 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2005-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdialog.c (gtk_dialog_map): Don't loop forever
here, even if the only focusable widgets are labels.
2005-01-20 Matthias Clasen <mclasen@redhat.com> 2005-01-20 Matthias Clasen <mclasen@redhat.com>
Support tinting in GtkCellRendererPixbuf (#162903, Jorn Baayen): Support tinting in GtkCellRendererPixbuf (#162903, Jorn Baayen):

View File

@ -1,3 +1,8 @@
2005-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdialog.c (gtk_dialog_map): Don't loop forever
here, even if the only focusable widgets are labels.
2005-01-20 Matthias Clasen <mclasen@redhat.com> 2005-01-20 Matthias Clasen <mclasen@redhat.com>
Support tinting in GtkCellRendererPixbuf (#162903, Jorn Baayen): Support tinting in GtkCellRendererPixbuf (#162903, Jorn Baayen):

View File

@ -1,3 +1,8 @@
2005-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdialog.c (gtk_dialog_map): Don't loop forever
here, even if the only focusable widgets are labels.
2005-01-20 Matthias Clasen <mclasen@redhat.com> 2005-01-20 Matthias Clasen <mclasen@redhat.com>
Support tinting in GtkCellRendererPixbuf (#162903, Jorn Baayen): Support tinting in GtkCellRendererPixbuf (#162903, Jorn Baayen):

View File

@ -345,10 +345,16 @@ gtk_dialog_map (GtkWidget *widget)
if (!window->focus_widget) if (!window->focus_widget)
{ {
GList *children, *tmp_list; GList *children, *tmp_list;
GtkWidget *first_focus = NULL;
do do
{ {
g_signal_emit_by_name (window, "move_focus", GTK_DIR_TAB_FORWARD); 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)); while (GTK_IS_LABEL (window->focus_widget));