From d5e1762f23dba3e69af7a345b8f06565b9e49aad Mon Sep 17 00:00:00 2001 From: Paul Mangan Date: Mon, 31 Jul 2006 06:45:10 +0000 Subject: [PATCH] 2006-07-31 [paul] 2.3.1cvs89 * src/account.c * src/main.c * src/mainwindow.c * src/mainwindow.h Fix a race condition when, after an SC crash, rescanning folders took more than 0.5 seconds Thanks to Colin --- ChangeLog | 10 ++++++++++ PATCHSETS | 1 + configure.ac | 2 +- src/account.c | 2 +- src/main.c | 1 + src/mainwindow.c | 5 +++++ src/mainwindow.h | 1 + 7 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b53a95aba..f95ad56cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2006-07-31 [paul] 2.3.1cvs89 + + * src/account.c + * src/main.c + * src/mainwindow.c + * src/mainwindow.h + Fix a race condition when, after an SC crash, rescanning + folders took more than 0.5 seconds + Thanks to Colin + 2006-07-31 [paul] 2.3.1cvs88 * src/folderview.c diff --git a/PATCHSETS b/PATCHSETS index adfa323cb..58554f9d5 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -1689,3 +1689,4 @@ ( cvs diff -u -r 1.96.2.127 -r 1.96.2.128 src/textview.c; ) > 2.3.1cvs86.patchset ( cvs diff -u -r 1.1.2.3 -r 1.1.2.4 doc/man/sylpheed-claws.1; cvs diff -u -r 1.60.2.31 -r 1.60.2.32 po/es.po; ) > 2.3.1cvs87.patchset ( cvs diff -u -r 1.207.2.109 -r 1.207.2.110 src/folderview.c; ) > 2.3.1cvs88.patchset +( cvs diff -u -r 1.61.2.47 -r 1.61.2.48 src/account.c; cvs diff -u -r 1.115.2.97 -r 1.115.2.98 src/main.c; cvs diff -u -r 1.274.2.126 -r 1.274.2.127 src/mainwindow.c; cvs diff -u -r 1.39.2.17 -r 1.39.2.18 src/mainwindow.h; ) > 2.3.1cvs89.patchset diff --git a/configure.ac b/configure.ac index 4e26d256f..8684cdcde 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=3 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=88 +EXTRA_VERSION=89 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/account.c b/src/account.c index 9f575d677..44d83d5f0 100644 --- a/src/account.c +++ b/src/account.c @@ -223,7 +223,7 @@ void account_read_config_all(void) } account_set_menu(); - main_window_reflect_prefs_all(); + main_window_reflect_prefs_all_now(); while (ac_label_list) { g_free(ac_label_list->data); diff --git a/src/main.c b/src/main.c index 5694a58e2..4dd228f00 100644 --- a/src/main.c +++ b/src/main.c @@ -1276,6 +1276,7 @@ static void quit_signal_handler(int sig) #ifdef SIGPIPE if (sig == SIGPIPE) { debug_print("caugth SIGPIPE, maybe X closing!\n"); + signal(SIGPIPE, SIG_IGN); /* ignore following sigpipes */ folder_write_list(); folder_func_to_all_folders(save_all_caches, GINT_TO_POINTER(0)); return; diff --git a/src/mainwindow.c b/src/mainwindow.c index 9bf3bb908..cc7e413fd 100644 --- a/src/mainwindow.c +++ b/src/mainwindow.c @@ -1475,6 +1475,11 @@ static gboolean reflect_prefs_timeout_cb(gpointer data) return FALSE; } +void main_window_reflect_prefs_all_now(void) +{ + reflect_prefs_timeout_cb(GINT_TO_POINTER(FALSE)); +} + void main_window_reflect_prefs_custom_colors(MainWindow *mainwin) { GtkMenuShell *menu; diff --git a/src/mainwindow.h b/src/mainwindow.h index 50a2de585..8e9b9fb14 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -153,6 +153,7 @@ void main_window_unlock (MainWindow *mainwin); void main_window_reflect_prefs_all_real (gboolean pixmap_theme_changed); void main_window_reflect_prefs_all (void); +void main_window_reflect_prefs_all_now (void); void main_window_reflect_prefs_custom_colors(MainWindow *mainwindow); void main_window_set_summary_column (void); void main_window_set_folder_column (void); -- 2.25.1