Index: demos/gtk-demo/appwindow.c
===================================================================
RCS file: /cvs/gnome/gtk+/demos/gtk-demo/appwindow.c,v
retrieving revision 1.34
diff -u -p -r1.34 appwindow.c
--- demos/gtk-demo/appwindow.c	12 Oct 2005 13:23:10 -0000	1.34
+++ demos/gtk-demo/appwindow.c	9 Feb 2006 09:35:10 -0000
@@ -196,6 +196,7 @@ static GtkActionEntry entries[] = {
     "_Quit", "<control>Q",                     /* label, accelerator */     
     "Quit",                                    /* tooltip */
     G_CALLBACK (activate_action) },
+  { "EmptyMenuItem", NULL, "_Empty menu item"},/* name, stock id, label */
   { "About", NULL,                             /* name, stock id */
     "_About", "<control>A",                    /* label, accelerator */     
     "About",                                   /* tooltip */  
@@ -278,6 +279,7 @@ static const gchar *ui_info = 
 "        <menuitem action='Oval'/>"
 "      </menu>"
 "      <menuitem action='Bold'/>"
+"      <menu action='EmptyMenuItem'/>"
 "    </menu>"
 "    <menu action='HelpMenu'>"
 "      <menuitem action='About'/>"
@@ -433,6 +435,8 @@ do_appwindow (GtkWidget *do_widget)
       GtkTextBuffer *buffer;
       GtkActionGroup *action_group;
       GtkAction *open_action;
+      GtkAction *empty_action;
+      GValue value = {0, };
       GtkUIManager *merge;
       GError *error = NULL;
 
@@ -483,6 +487,10 @@ do_appwindow (GtkWidget *do_widget)
 					  SHAPE_SQUARE,
 					  G_CALLBACK (activate_radio_action), 
 					  NULL);
+      empty_action = gtk_action_group_get_action (action_group, "EmptyMenuItem");
+      g_value_init (&value, G_TYPE_BOOLEAN);
+      g_value_set_boolean (&value, FALSE);
+      g_object_set_property (G_OBJECT (empty_action), "hide-if-empty", &value);
 
       merge = gtk_ui_manager_new ();
       g_object_set_data_full (G_OBJECT (window), "ui-manager", merge, 
Index: docs/reference/gtk/tmpl/gtkuimanager.sgml
===================================================================
RCS file: /cvs/gnome/gtk+/docs/reference/gtk/tmpl/gtkuimanager.sgml,v
retrieving revision 1.27
diff -u -p -r1.27 gtkuimanager.sgml
--- docs/reference/gtk/tmpl/gtkuimanager.sgml	20 Jun 2005 22:06:12 -0000	1.27
+++ docs/reference/gtk/tmpl/gtkuimanager.sgml	9 Feb 2006 09:35:12 -0000
@@ -184,7 +184,7 @@ impossible to know in advance whether th
 <itemizedlist>
 <listitem><para>make them disappear by hiding the menu item they're attached to
 </para></listitem>
-<listitem><para>add an insensitive "Empty" item
+<listitem><para>make the menu item itself insensitive
 </para></listitem>
 </itemizedlist>
 The behaviour is chosen based on the "hide_if_empty" property of the action 
Index: gtk/gtkuimanager.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkuimanager.c,v
retrieving revision 1.93
diff -u -p -r1.93 gtkuimanager.c
--- gtk/gtkuimanager.c	7 Jan 2006 06:08:07 -0000	1.93
+++ gtk/gtkuimanager.c	9 Feb 2006 09:35:16 -0000
@@ -2094,10 +2094,7 @@ update_smart_separators (GtkWidget *prox
 	    _gtk_action_sync_menu_visible (NULL, item, empty);
 	  if (GTK_IS_WIDGET (filler))
 	    {
-	      if (empty)
-		gtk_widget_show (filler);
-	      else
-		gtk_widget_hide (filler);
+              gtk_widget_set_sensitive (item, !empty);
 	    }
 	}
 
@@ -2264,7 +2261,7 @@ update_node (GtkUIManager *self, 
 		tearoff = gtk_tearoff_menu_item_new ();
 		gtk_widget_set_no_show_all (tearoff, TRUE);
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), tearoff);
-		filler = gtk_menu_item_new_with_label (_("Empty"));
+		filler = gtk_menu_item_new_with_label ("Empty");
 		g_object_set_data (G_OBJECT (filler),
 				   I_("gtk-empty-menu-item"),
 				   GINT_TO_POINTER (TRUE));
