Index: gtk/gtkmenubar.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkmenubar.c,v
retrieving revision 1.44.2.2
diff -u -p -r1.44.2.2 gtkmenubar.c
--- gtk/gtkmenubar.c	6 Jul 2002 00:24:28 -0000	1.44.2.2
+++ gtk/gtkmenubar.c	25 Jul 2002 16:55:21 -0000
@@ -532,13 +532,13 @@ _gtk_menu_bar_cycle_focus (GtkMenuBar   
 			   GtkDirectionType  dir)
 {
   GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (menubar));
+  GtkMenuItem *to_activate = NULL;
 
   if (GTK_WIDGET_TOPLEVEL (toplevel))
     {
       GList *tmp_menubars = get_viewable_menu_bars (GTK_WINDOW (toplevel));
       GList *menubars;
       GList *current;
-      GtkMenuBar *new;
 
       menubars = _gtk_container_focus_sort (GTK_CONTAINER (toplevel), tmp_menubars,
 					    dir, GTK_WIDGET (menubar));
@@ -547,26 +547,22 @@ _gtk_menu_bar_cycle_focus (GtkMenuBar   
       if (menubars)
 	{
 	  current = g_list_find (menubars, menubar);
+
 	  if (current && current->next)
-	    new = current->next->data;
-	  else
-	    new = menubars->data;
-	  
-	  if (new != menubar)
 	    {
-	      GtkMenuShell *new_menushell = GTK_MENU_SHELL (new);
-
+	      GtkMenuShell *new_menushell = GTK_MENU_SHELL (current->next->data);
 	      if (new_menushell->children)
-		{
-		  g_signal_emit_by_name (menubar, "cancel", 0);
-		  gtk_signal_emit_by_name (GTK_OBJECT (new_menushell->children->data),
-					   "activate_item");
-		}
+		to_activate = new_menushell->children->data;
 	    }
 	}
 	  
       g_list_free (menubars);
     }
+
+  g_signal_emit_by_name (menubar, "cancel", 0);
+
+  if (to_activate)
+    g_signal_emit_by_name (to_activate, "activate_item");
 }
 
 static GtkShadowType
Index: gtk/gtkmenushell.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkmenushell.c,v
retrieving revision 1.59.2.2
diff -u -p -r1.59.2.2 gtkmenushell.c
--- gtk/gtkmenushell.c	6 Jul 2002 00:24:28 -0000	1.59.2.2
+++ gtk/gtkmenushell.c	25 Jul 2002 16:55:21 -0000
@@ -320,19 +320,11 @@ gtk_menu_shell_class_init (GtkMenuShellC
 				GTK_TYPE_BOOL,
 				FALSE);
   gtk_binding_entry_add_signal (binding_set,
-				GDK_Tab, GDK_CONTROL_MASK,
+				GDK_F10, 0,
 				"cycle_focus", 1,
                                 GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_FORWARD);
   gtk_binding_entry_add_signal (binding_set,
-				GDK_KP_Tab, GDK_CONTROL_MASK,
-				"cycle_focus", 1,
-                                GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_FORWARD);
-  gtk_binding_entry_add_signal (binding_set,
-				GDK_Tab, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
-				"cycle_focus", 1,
-                                GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_BACKWARD);
-  gtk_binding_entry_add_signal (binding_set,
-				GDK_KP_Tab, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
+				GDK_F10, GDK_SHIFT_MASK,
 				"cycle_focus", 1,
                                 GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_BACKWARD);
 }
