From: Christoph Hohmann Date: Thu, 11 Dec 2003 20:30:51 +0000 (+0000) Subject: 0.9.7claws38 X-Git-Tag: rel_0_9_8~22 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=c098b165299f8c491e08ec5ae45a7cc2722f119c 0.9.7claws38 * src/crash.c * src/main.[ch] make sure the clean_exit() funtion is not called again by the signal handler while it is already running * src/summaryview.c fix wrong assertion --- diff --git a/ChangeLog.claws b/ChangeLog.claws index a9c534394..ad4106e46 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,13 @@ +2003-12-11 [christoph] 0.9.7claws38 + + * src/crash.c + * src/main.[ch] + make sure the clean_exit() funtion is not called again by the + signal handler while it is already running + + * src/summaryview.c + fix wrong assertion + 2003-12-11 [paul] 0.9.7claws37 * src/compose.c @@ -8,7 +18,6 @@ * src/plugins/clamav/clamav_plugin.c fix (don't break) signature count use cl_strerror() instead of deprecated cl_perror() - 2003-12-11 [darko] 0.9.7claws35 diff --git a/configure.ac b/configure.ac index 9289a26d7..494b8c316 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=9 MICRO_VERSION=7 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=37 +EXTRA_VERSION=38 if test $EXTRA_VERSION -eq 0; then VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}claws else diff --git a/src/crash.c b/src/crash.c index e7a3f6a2b..f2404482a 100644 --- a/src/crash.c +++ b/src/crash.c @@ -502,7 +502,7 @@ static void crash_handler(int sig) #ifdef SIGTERM if (sig == SIGTERM) - clean_quit(); + clean_quit(NULL); #endif /* diff --git a/src/main.c b/src/main.c index fa6b38d72..40c6d9597 100644 --- a/src/main.c +++ b/src/main.c @@ -541,8 +541,14 @@ static void draft_all_messages(void) } } -void clean_quit(void) +gboolean clean_quit(gpointer data) { + static gboolean firstrun = TRUE; + + if (!firstrun) + return FALSE; + firstrun = FALSE; + /*!< Good idea to have the main window stored in a * static variable so we can check that variable * to see if we're really allowed to do things @@ -556,7 +562,7 @@ void clean_quit(void) * in the original spawner, and not in a spawned * child. */ if (!static_mainwindow) - return; + return FALSE; draft_all_messages(); @@ -569,7 +575,8 @@ void clean_quit(void) } else { app_will_exit(NULL, static_mainwindow); } - exit(0); + + return FALSE; } void app_will_exit(GtkWidget *widget, gpointer data) @@ -896,7 +903,8 @@ static void send_queue(void) static void quit_signal_handler(int sig) { debug_print("Quitting on signal %d\n", sig); - clean_quit(); + + g_timeout_add(0, clean_quit, NULL); } static void install_basic_sighandlers() diff --git a/src/main.h b/src/main.h index 3728c0991..7422e1dde 100644 --- a/src/main.h +++ b/src/main.h @@ -27,6 +27,6 @@ extern gchar *prog_version; extern gboolean debug_mode; void app_will_exit (GtkWidget *widget, gpointer data); -void clean_quit (void); +gboolean clean_quit (gpointer data); #endif /* __MAIN_H__ */ diff --git a/src/summaryview.c b/src/summaryview.c index 34174a56d..3cce33803 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -83,7 +83,6 @@ #include "matcher_parser.h" #include "hooks.h" #include "description_window.h" -#include "folder.h" #define SUMMARY_COL_MARK_WIDTH 10 #define SUMMARY_COL_STATUS_WIDTH 13 @@ -5019,7 +5018,7 @@ static void news_flag_crosspost(MsgInfo *msginfo) g_return_if_fail(msginfo->folder != NULL); g_return_if_fail(msginfo->folder->folder != NULL); mff = msginfo->folder->folder; - g_return_if_fail(mff->klass->type != F_NEWS); + g_return_if_fail(mff->klass->type == F_NEWS); if (mff->account->mark_crosspost_read) { line = g_string_sized_new(128);