? 93389.patch
? gtk/81156.patch
? gtk/95675.patch
? gtk/gtkwindow.ac
Index: gtk/gtknotebook.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtknotebook.c,v
retrieving revision 1.140
diff -u -p -u -r1.140 gtknotebook.c
--- gtk/gtknotebook.c	10 Oct 2002 23:42:54 -0000	1.140
+++ gtk/gtknotebook.c	16 Oct 2002 13:33:43 -0000
@@ -2383,6 +2383,7 @@ gtk_notebook_remove_tab_label (GtkNotebo
       page->mnemonic_activate_signal = 0;
 
       gtk_widget_unparent (page->tab_label);
+      gtk_widget_set_state (page->tab_label, GTK_STATE_NORMAL);
     }
 }
 
@@ -3536,6 +3537,25 @@ gtk_notebook_calc_tabs (GtkNotebook  *no
     }
 }
 
+static void
+gtk_notebook_update_tab_states (GtkNotebook *notebook)
+{
+  GList *list;
+
+  for (list = notebook->children; list != NULL; list = list->next)
+    {
+      GtkNotebookPage *page = list->data;
+      
+      if (page->tab_label)
+	{
+	  if (page == notebook->cur_page)
+	    gtk_widget_set_state (page->tab_label, GTK_STATE_NORMAL);
+	  else
+	    gtk_widget_set_state (page->tab_label, GTK_STATE_ACTIVE);
+	}
+    }
+}
+
 /* Private GtkNotebook Page Switch Methods:
  *
  * gtk_notebook_real_switch_page
@@ -3577,6 +3597,7 @@ gtk_notebook_real_switch_page (GtkNotebo
 	  gtk_widget_grab_focus (GTK_WIDGET (notebook));
     }
   
+  gtk_notebook_update_tab_states (notebook);
   gtk_widget_queue_resize (GTK_WIDGET (notebook));
   g_object_notify (G_OBJECT (notebook), "page");
 }
@@ -4040,6 +4061,8 @@ gtk_notebook_insert_page_menu (GtkNotebo
       gtk_notebook_switch_focus_tab (notebook, NULL);
     }
 
+  gtk_notebook_update_tab_states (notebook);
+
   if (tab_label)
     page->mnemonic_activate_signal =
       g_signal_connect (tab_label,
@@ -4761,6 +4784,8 @@ gtk_notebook_set_tab_label (GtkNotebook 
       gtk_widget_show (page->tab_label);
       gtk_widget_queue_resize (GTK_WIDGET (notebook));
     }
+
+  gtk_notebook_update_tab_states (notebook);
   gtk_widget_child_notify (child, "tab_label");
 }
 
@@ -4966,7 +4991,8 @@ gtk_notebook_child_reordered (GtkNoteboo
       gtk_container_remove (GTK_CONTAINER (notebook->menu), menu_item);
       gtk_notebook_menu_item_create (notebook, g_list_find (notebook->children, page));
     }
-  
+
+  gtk_notebook_update_tab_states (notebook);
   gtk_notebook_update_labels (notebook);
 }
 
