--- editing.orig 2004-10-17 00:11:23.000000000 +0200 +++ editing.c 2004-10-18 23:52:14.000000000 +0200 @@ -28,6 +28,7 @@ #include "namedetail.h" void on_edit_cancel_clicked (GtkButton * button, gpointer user_data); +void on_edit_window_closed_clicked (gpointer user_data); void on_edit_save_clicked (GtkButton * button, gpointer user_data); void on_edit_bt_image_clicked (GtkWidget *image, gpointer user_data); void on_categories_clicked (GtkButton *button, gpointer user_data); @@ -377,6 +378,11 @@ G_CALLBACK (on_edit_cancel_clicked), edit); g_signal_connect (G_OBJECT (edit_save), "clicked", G_CALLBACK (on_edit_save_clicked), edit); + + /* Call the on_edit_window_closed_clicked function when the window is destroyed, + * otherwise the new button gets disabled */ + g_signal_connect (G_OBJECT (edit), "delete_event", + G_CALLBACK (on_edit_window_closed_clicked), edit); g_signal_connect (G_OBJECT (action_area), "key_press_event", G_CALLBACK (action_area_key_press_event), notebook2); @@ -1008,6 +1014,14 @@ gtk_widget_destroy (GTK_WIDGET (edit)); } +void +on_edit_window_closed_clicked (gpointer user_data) +{ + GtkWidget *edit = user_data; + update_display (); + gtk_widget_destroy (GTK_WIDGET (edit)); +} + void tv_move_cursor (GtkTextView *textview, GtkMovementStep arg1,