From: Colin Leroy Date: Mon, 9 Jan 2006 18:17:30 +0000 (+0000) Subject: 2006-01-09 [colin] 1.9.100cvs130 X-Git-Tag: rel_2_0_0~80 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=a65d83a22e27cc7afd80b2873e1be3186f9e7559 2006-01-09 [colin] 1.9.100cvs130 * src/addressbook.c * src/headerview.c * src/mainwindow.c * src/messageview.c * src/mimeview.c * src/noticeview.c * src/summaryview.c Fix possible crashes on exit and in addressbook --- diff --git a/ChangeLog b/ChangeLog index fa8a82ce6..b306c5fb0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2006-01-09 [colin] 1.9.100cvs130 + + * src/addressbook.c + * src/headerview.c + * src/mainwindow.c + * src/messageview.c + * src/mimeview.c + * src/noticeview.c + * src/summaryview.c + Fix possible crashes on exit and in addressbook + 2006-01-09 [paul] 1.9.100cvs129 * src/prefs_msg_colors.c diff --git a/PATCHSETS b/PATCHSETS index fadac5d08..f319f6f45 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -1113,3 +1113,4 @@ ( cvs diff -u -r 1.3.2.33 -r 1.3.2.34 src/prefs_themes.c; ) > 1.9.100cvs127.patchset ( cvs diff -u -r 1.8.2.7 -r 1.8.2.8 README; cvs diff -u -r 1.207.2.80 -r 1.207.2.81 src/folderview.c; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/prefs_msg_colors.c; ) > 1.9.100cvs128.patchset ( cvs diff -u -r 1.1.2.11 -r 1.1.2.12 src/prefs_msg_colors.c; ) > 1.9.100cvs129.patchset +( cvs diff -u -r 1.60.2.40 -r 1.60.2.41 src/addressbook.c; cvs diff -u -r 1.8.2.11 -r 1.8.2.12 src/headerview.c; cvs diff -u -r 1.274.2.84 -r 1.274.2.85 src/mainwindow.c; cvs diff -u -r 1.94.2.72 -r 1.94.2.73 src/messageview.c; cvs diff -u -r 1.83.2.54 -r 1.83.2.55 src/mimeview.c; cvs diff -u -r 1.5.2.12 -r 1.5.2.13 src/noticeview.c; cvs diff -u -r 1.395.2.153 -r 1.395.2.154 src/summaryview.c; ) > 1.9.100cvs130.patchset diff --git a/configure.ac b/configure.ac index a5a0449af..1a52b7f61 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=9 MICRO_VERSION=100 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=129 +EXTRA_VERSION=130 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/addressbook.c b/src/addressbook.c index e4e789f21..cdaf2002a 100644 --- a/src/addressbook.c +++ b/src/addressbook.c @@ -967,6 +967,8 @@ static void addressbook_create(void) addrbookctl_build_iflist(); addrbookctl_build_ifselect(); + addrbook.clist = NULL; + /* Add each interface into the tree as a root level folder */ nodeIf = _addressInterfaceList_; while( nodeIf ) { @@ -3193,6 +3195,9 @@ static void addressbook_set_clist( AddressObject *obj, gboolean refresh ) { AdapterDSource *ads = NULL; static AddressObject *last_obj = NULL; + if (addrbook.clist == NULL) { + return; + } if (obj == last_obj && !refresh) return; diff --git a/src/headerview.c b/src/headerview.c index a8998665e..46dca2d7d 100644 --- a/src/headerview.c +++ b/src/headerview.c @@ -266,6 +266,9 @@ static void headerview_show_xface(HeaderView *headerview, MsgInfo *msginfo) void headerview_clear(HeaderView *headerview) { + if (headerview == NULL) + return; + gtk_label_set_text(GTK_LABEL(headerview->from_body_label), ""); gtk_label_set_text(GTK_LABEL(headerview->to_body_label), ""); gtk_label_set_text(GTK_LABEL(headerview->ng_body_label), ""); diff --git a/src/mainwindow.c b/src/mainwindow.c index 7bbf8ae3b..4d74cf455 100644 --- a/src/mainwindow.c +++ b/src/mainwindow.c @@ -1997,7 +1997,10 @@ void main_window_set_menu_sensitive(MainWindow *mainwin) menu_set_sensitive(ifactory, "/View/Sort/Descending", FALSE); } - SET_CHECK_MENU_ACTIVE("/View/Show all headers", + if (mainwin->messageview + && mainwin->messageview->mimeview + && mainwin->messageview->mimeview->textview) + SET_CHECK_MENU_ACTIVE("/View/Show all headers", mainwin->messageview->mimeview->textview->show_all_headers); SET_CHECK_MENU_ACTIVE("/View/Thread view", (state & M_THREADED) != 0); diff --git a/src/messageview.c b/src/messageview.c index e2d2ae90c..fcbd03c82 100644 --- a/src/messageview.c +++ b/src/messageview.c @@ -1021,6 +1021,8 @@ gboolean messageview_search_string_backward(MessageView *messageview, gboolean messageview_is_visible(MessageView *messageview) { + if (messageview == NULL) + return FALSE; return messageview->visible; } diff --git a/src/mimeview.c b/src/mimeview.c index 796d67878..dbfa16d04 100644 --- a/src/mimeview.c +++ b/src/mimeview.c @@ -368,9 +368,10 @@ static void mimeview_free_mimeinfo(MimeView *mimeview) if (defer) mimeview->check_data->free_after_use = TRUE; #endif - if (mimeview->mimeinfo != NULL && !defer) + if (mimeview->mimeinfo != NULL && !defer) { procmime_mimeinfo_free_all(mimeview->mimeinfo); - else if (defer) { + mimeview->mimeinfo = NULL; + } else if (defer) { #ifdef USE_PTHREAD debug_print("deferring free(mimeinfo) and cancelling check\n"); mimeview_check_sig_cancel_now(mimeview); @@ -632,7 +633,15 @@ static void mimeview_change_view_type(MimeView *mimeview, MimeViewType type) void mimeview_clear(MimeView *mimeview) { - GtkCList *clist = GTK_CLIST(mimeview->ctree); + GtkCList *clist = NULL; + + if (!mimeview) + return; + + if (g_slist_find(mimeviews, mimeview) == NULL) + return; + + clist = GTK_CLIST(mimeview->ctree); noticeview_hide(mimeview->siginfoview); diff --git a/src/noticeview.c b/src/noticeview.c index 59e7ef997..370ecd246 100644 --- a/src/noticeview.c +++ b/src/noticeview.c @@ -167,7 +167,7 @@ void noticeview_show(NoticeView *noticeview) void noticeview_hide(NoticeView *noticeview) { - if (noticeview->visible) { + if (noticeview && noticeview->visible) { gtk_widget_hide(GTK_WIDGET_PTR(noticeview)); noticeview->visible = FALSE; } diff --git a/src/summaryview.c b/src/summaryview.c index 5e00a2156..2d94f8dd4 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -1266,9 +1266,12 @@ static void summary_set_menu_sensitive(SummaryView *summaryview) summary_lock(summaryview); menuitem = gtk_item_factory_get_widget(ifactory, "/View/All header"); - gtk_check_menu_item_set_active - (GTK_CHECK_MENU_ITEM(menuitem), - summaryview->messageview->mimeview->textview->show_all_headers); + if (summaryview->messageview + && summaryview->messageview->mimeview + && summaryview->messageview->mimeview->textview) + gtk_check_menu_item_set_active + (GTK_CHECK_MENU_ITEM(menuitem), + summaryview->messageview->mimeview->textview->show_all_headers); summary_unlock(summaryview); }