Index: gtk/gtkradiobutton.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkradiobutton.c,v
retrieving revision 1.61
diff -u -p -r1.61 gtkradiobutton.c
--- gtk/gtkradiobutton.c	2 May 2006 23:56:42 -0000	1.61
+++ gtk/gtkradiobutton.c	5 May 2006 12:35:04 -0000
@@ -448,6 +448,12 @@ gtk_radio_button_focus (GtkWidget       
       GSList *focus_list, *tmp_list;
       GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
       GtkWidget *new_focus = NULL;
+      GtkSettings *settings = gtk_widget_get_settings (widget);
+      gboolean     touchscreen_mode;
+
+      g_object_get (settings,
+                    "gtk-touchscreen-mode", &touchscreen_mode,
+                    NULL);
 
       focus_list = g_slist_copy (radio_button->group);
       
@@ -491,6 +497,12 @@ gtk_radio_button_focus (GtkWidget       
 
       if (!new_focus)
 	{
+          if (touchscreen_mode)
+            {
+              g_slist_free (focus_list);
+              return FALSE;
+            }
+
 	  tmp_list = focus_list;
 
 	  while (tmp_list)
@@ -512,7 +524,9 @@ gtk_radio_button_focus (GtkWidget       
       if (new_focus)
 	{
 	  gtk_widget_grab_focus (new_focus);
-	  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_focus), TRUE);
+
+          if (!touchscreen_mode)
+            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_focus), TRUE);
 	}
 
       return TRUE;
