From 138bb84826a292c974dc0860a63d6adee50d3104 Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Tue, 24 Oct 2006 17:53:20 +0000 Subject: [PATCH] 2006-10-24 [colin] 2.5.6cvs6 * src/textview.c * src/gtk/gtkutils.c Fix crash when printing emails with an xface --- ChangeLog | 7 +++++++ PATCHSETS | 1 + configure.ac | 2 +- src/gtk/gtkutils.c | 4 ++++ src/textview.c | 10 +++++++--- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index cd9771b45..ecb172c76 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-10-24 [colin] 2.5.6cvs6 + + * src/textview.c + * src/gtk/gtkutils.c + Fix crash when printing emails with an + xface + 2006-10-24 [mones] 2.5.6cvs5 * manual/es/advanced.xml diff --git a/PATCHSETS b/PATCHSETS index 9534c4144..5afbfc97c 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -2008,3 +2008,4 @@ ( cvs diff -u -r 1.654.2.2059 -r 1.654.2.2060 configure.ac; cvs diff -u -r 1.179.2.133 -r 1.179.2.134 src/imap.c; cvs diff -u -r 1.36.2.85 -r 1.36.2.86 src/common/utils.c; cvs diff -u -r 1.20.2.39 -r 1.20.2.40 src/common/utils.h; cvs diff -u -r 1.1.4.52 -r 1.1.4.53 src/etpan/imap-thread.c; cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/etpan/imap-thread.h; ) > 2.5.6cvs3.patchset ( cvs diff -u -r 1.1.2.26 -r 1.1.2.27 src/gtk/authors.h; cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/plugins/pgpcore/pgp_viewer.c; cvs diff -u -r 1.1.2.32 -r 1.1.2.33 src/plugins/pgpcore/sgpgme.c; ) > 2.5.6cvs4.patchset ( cvs diff -u -r 1.1.2.5 -r 1.1.2.6 manual/es/advanced.xml; cvs diff -u -r 1.60.2.36 -r 1.60.2.37 po/es.po; ) > 2.5.6cvs5.patchset +( cvs diff -u -r 1.96.2.156 -r 1.96.2.157 src/textview.c; cvs diff -u -r 1.5.2.40 -r 1.5.2.41 src/gtk/gtkutils.c; ) > 2.5.6cvs6.patchset diff --git a/configure.ac b/configure.ac index b139dde38..246d9aaf9 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=5 MICRO_VERSION=6 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=5 +EXTRA_VERSION=6 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/gtk/gtkutils.c b/src/gtk/gtkutils.c index 7cac212e1..ebb84483f 100644 --- a/src/gtk/gtkutils.c +++ b/src/gtk/gtkutils.c @@ -1089,6 +1089,10 @@ GtkWidget *xface_get_from_header(const gchar *o_xface, GdkColor *background, gchar xface[2048]; strncpy(xface, o_xface, sizeof(xface)); + if (!window) { + g_warning("no window\n"); + return NULL; + } if (uncompface(xface) < 0) { g_warning("uncompface failed\n"); return NULL; diff --git a/src/textview.c b/src/textview.c index 3a3ce795e..8af9f7799 100644 --- a/src/textview.c +++ b/src/textview.c @@ -1801,7 +1801,8 @@ static void textview_show_xface(TextView *textview) MsgInfo *msginfo = textview->messageview->msginfo; GtkTextView *text = GTK_TEXT_VIEW(textview->text); int x = 0; - + GdkWindow *window = NULL; + if (prefs_common.display_header_pane || !prefs_common.display_xface) goto bail; @@ -1818,10 +1819,13 @@ static void textview_show_xface(TextView *textview) if (textview->image) gtk_widget_destroy(textview->image); - + + window = mainwindow_get_mainwindow() ? + mainwindow_get_mainwindow()->window->window : + textview->text->window; textview->image = xface_get_from_header(msginfo->extradata->xface, &textview->text->style->white, - textview->text->window); + window); g_return_if_fail(textview->image != NULL); gtk_widget_show(textview->image); -- 2.25.1