Package: emelfm Version: 0.9.2-7 Severity: normal
emelfm hangs when you use the window manager's close button to close the filetype dialog window. Please consider the following patch to fix this problem. Regards - Juergen -- System Information: Debian Release: 3.1 Architecture: i386 (i686) Kernel: Linux 2.6.8-2-686 Locale: [EMAIL PROTECTED], LC_CTYPE=de_DE (charmap=ISO-8859-1) Versions of packages emelfm depends on: ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an ii libglib1.2 1.2.10-9 The GLib library of C routines ii libgtk1.2 1.2.10-17 The GIMP Toolkit set of widgets fo ii libx11-6 4.3.0.dfsg.1-14sarge1 X Window System protocol client li ii libxext6 4.3.0.dfsg.1-14sarge1 X Window System miscellaneous exte ii libxi6 4.3.0.dfsg.1-14sarge1 X Window System Input extension li ii xlibs 4.3.0.dfsg.1-14sarge1 X Keyboard Extension (XKB) configu -- no debconf information
--- emelfm-0.9.2.orig/init_filetype_dialog.c 2000-11-29 04:06:24.000000000 +0100 +++ emelfm-0.9.2.new/init_filetype_dialog.c 2006-04-15 10:22:59.010322627 +0200 @@ -86,6 +86,14 @@ cancel_cb(NULL); } +static void +delete_event_cb(GtkWidget *widget) +{ + /* this is just here so the user can't close the dialog without clicking + * one of the buttons + */ +} + void create_init_filetype_dialog(gchar *filename) { @@ -108,6 +116,7 @@ action_area = GTK_DIALOG(dialog)->action_area; gtk_container_set_border_width(GTK_CONTAINER(dialog_vbox), 5); gtk_container_set_border_width(GTK_CONTAINER(action_area), 5); + gtk_signal_connect(GTK_OBJECT(dialog), "delete_event", delete_event_cb, NULL); gtk_signal_connect(GTK_OBJECT(dialog), "key_press_event", GTK_SIGNAL_FUNC(key_press_cb), NULL); @@ -131,8 +140,9 @@ add_button_to_table(table, _("View File"), view_file_cb, NULL, 0, 1, 3, 4); add_button_to_table(table, _("Cancel"), cancel_cb, NULL, 0, 1, 4, 5); - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); - gtk_widget_set_sensitive(app.main_window, FALSE); + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE);; gtk_widget_show(dialog); + gtk_widget_set_sensitive(app.main_window, FALSE); + gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(app.main_window)); }