#include "version.h"
+#include "crash.h"
+
gchar *prog_version;
gchar *startup_dir;
+gchar *argv0;
gboolean debug_mode = FALSE;
static gint lock_socket = -1;
GPtrArray *attach_files;
gboolean status;
gboolean send;
+ gboolean crash;
+ gchar *crash_params;
} cmd;
static void parse_cmd_opt(int argc, char *argv[]);
prog_version = PROG_VERSION;
startup_dir = g_get_current_dir();
+ argv0 = g_strdup(argv[0]);
parse_cmd_opt(argc, argv);
gtk_set_locale();
gtk_init(&argc, &argv);
+ if (cmd.crash) {
+ crash_main(cmd.crash_params);
+ return 0;
+ }
+
+ crash_install_handlers();
+
#if USE_THREADS || USE_LDAP
g_thread_init(NULL);
if (!g_thread_supported())
puts(_(" --version output version information and exit"));
exit(1);
+ } else if (!strncmp(argv[i], "--crash", 7)) {
+ cmd.crash = TRUE;
+ cmd.crash_params = g_strdup(argv[i + 1]);
+ i++;
}
+
}
if (cmd.attach_files && cmd.compose == FALSE) {
folder_item_apply_processing(item);
- debug_print(_("done.\n"));
+ debug_print("done.\n");
STATUSBAR_POP(mainwin);
main_window_cursor_normal(mainwin);
}
if (prefs_common.clean_on_exit)
main_window_empty_trash(mainwin, prefs_common.ask_on_clean);
+ /* save prefs for opened folder */
+ if(mainwin->folderview->opened)
+ {
+ FolderItem *item;
+
+ item = gtk_ctree_node_get_row_data(GTK_CTREE(mainwin->folderview->ctree), mainwin->folderview->opened);
+ summary_save_prefs_to_folderitem(mainwin->folderview->summaryview, item);
+ }
+
/* save all state before exiting */
folder_write_list();
folder_func_to_all_folders(save_all_caches, NULL);
/* remote command mode */
- debug_print(_("another Sylpheed is already running.\n"));
+ debug_print("another Sylpheed is already running.\n");
if (cmd.receive_all)
fd_write(uxsock, "receive_all\n", 12);