--- gtk/gtkentry.c.orig 2004-04-05 16:06:48.574099864 -0500 +++ gtk/gtkentry.c 2004-04-05 16:08:33.609132112 -0500 @@ -2381,6 +2381,13 @@ } static void +gtk_entry_clear_cb (GtkEntry *entry) +{ + GtkEditable *editable = GTK_EDITABLE (entry); + gtk_editable_delete_text(editable, 0, -1); +} + +static void gtk_entry_toggle_overwrite (GtkEntry *entry) { entry->overwrite_mode = !entry->overwrite_mode; @@ -4206,6 +4213,16 @@ G_CALLBACK (gtk_entry_delete_cb), entry); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem); + + if (g_getenv ("GTK_SUPERFLUOUS_ADDITIONS") != NULL) + { + menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_CLEAR, NULL); + gtk_widget_set_sensitive (menuitem, entry->text_length != 0); + g_signal_connect_swapped (menuitem, "activate", + G_CALLBACK (gtk_entry_clear_cb), entry); + gtk_widget_show (menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem); + } menuitem = gtk_separator_menu_item_new (); gtk_widget_show (menuitem);