2006-01-09 [colin] 1.9.100cvs130
authorColin Leroy <colin@colino.net>
Mon, 9 Jan 2006 18:17:30 +0000 (18:17 +0000)
committerColin Leroy <colin@colino.net>
Mon, 9 Jan 2006 18:17:30 +0000 (18:17 +0000)
* 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

ChangeLog
PATCHSETS
configure.ac
src/addressbook.c
src/headerview.c
src/mainwindow.c
src/messageview.c
src/mimeview.c
src/noticeview.c
src/summaryview.c

index fa8a82ce69a483af8c34a2f1ba8bf925afdf888a..b306c5fb0e40cf44706ed21f8b4498babeebb4c1 100644 (file)
--- 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
index fadac5d082aa5b08d406576a13abac456647e558..f319f6f4537a57473203b7007ec6f1035bcc5acb 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( 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
index a5a0449afeab0165c24d708975be0f8479125d77..1a52b7f6190d5b4d902433b733bdc537f53a0b4a 100644 (file)
@@ -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=
 
index e4e789f21caad0c5fb464a1da0ee13131b50c358..cdaf2002ad8e7359f2b86fa0d376e7a2036b11a6 100644 (file)
@@ -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;
 
index a8998665ed4546dc441ea9c3964760742dc491f5..46dca2d7db7865137dd2ff7162a15b601e1e3026 100644 (file)
@@ -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), "");
index 7bbf8ae3bb109fe7813a94015e49606958d916e8..4d74cf455ca720e73194cb69980caf609b6fa7d0 100644 (file)
@@ -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);
 
index e2d2ae90c95b0133f35a9f2bd8a2402330ca66c6..fcbd03c825cf437fae9505f70ea1b0a61e779c8b 100644 (file)
@@ -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;
 }
 
index 796d678789d68ed4c79ff47688b8386cb8f4d2a6..dbfa16d0446b45b825ec45018fc80d83fdd45885 100644 (file)
@@ -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);
 
index 59e7ef997f767fe2bb14959f52438edde88aaf89..370ecd2465225e8e959e588426f968a921480241 100644 (file)
@@ -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;
        }       
index 5e00a21565bc1ac91e20e684c84da691dbf753f6..2d94f8dd4f9c0205a24bf5632734b2ccbd68c4fa 100644 (file)
@@ -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);
 }