+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
( 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
MICRO_VERSION=100
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=129
+EXTRA_VERSION=130
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
addrbookctl_build_iflist();
addrbookctl_build_ifselect();
+ addrbook.clist = NULL;
+
/* Add each interface into the tree as a root level folder */
nodeIf = _addressInterfaceList_;
while( nodeIf ) {
AdapterDSource *ads = NULL;
static AddressObject *last_obj = NULL;
+ if (addrbook.clist == NULL) {
+ return;
+ }
if (obj == last_obj && !refresh)
return;
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), "");
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);
gboolean messageview_is_visible(MessageView *messageview)
{
+ if (messageview == NULL)
+ return FALSE;
return messageview->visible;
}
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);
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);
void noticeview_hide(NoticeView *noticeview)
{
- if (noticeview->visible) {
+ if (noticeview && noticeview->visible) {
gtk_widget_hide(GTK_WIDGET_PTR(noticeview));
noticeview->visible = FALSE;
}
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);
}