diff options
Diffstat (limited to 'packages/gtk+/gtk+-2.6.10/gtk.keynav.gtkradiobutton.patch')
-rwxr-xr-x | packages/gtk+/gtk+-2.6.10/gtk.keynav.gtkradiobutton.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/gtk+/gtk+-2.6.10/gtk.keynav.gtkradiobutton.patch b/packages/gtk+/gtk+-2.6.10/gtk.keynav.gtkradiobutton.patch new file mode 100755 index 0000000000..4497261ec6 --- /dev/null +++ b/packages/gtk+/gtk+-2.6.10/gtk.keynav.gtkradiobutton.patch @@ -0,0 +1,32 @@ +--- /data/zzz/gtk-2.6/gtk+-2.6.10/gtk/gtkradiobutton.c 2005-08-18 22:10:58.000000000 +0800 ++++ gtk/gtkradiobutton.c 2006-05-26 17:12:35.000000000 +0800 +@@ -522,6 +522,12 @@ gtk_radio_button_focus (GtkWidget + + if (!new_focus) + { ++ if (!gtk_widget_keynav_failed (widget, direction)) ++ { ++ g_slist_free (focus_list); ++ return FALSE; ++ } ++ + tmp_list = focus_list; + + while (tmp_list) +@@ -542,8 +548,15 @@ gtk_radio_button_focus (GtkWidget + + if (new_focus) + { ++ GtkSettings *settings = gtk_widget_get_settings (widget); ++ gboolean cursor_only_focus; ++ ++ g_object_get (settings, ++ "gtk-cursor-only-focus", &cursor_only_focus, ++ NULL); + gtk_widget_grab_focus (new_focus); +- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_focus), TRUE); ++ if (!cursor_only_focus) ++ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_focus), TRUE); + } + + return TRUE; |