aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/mail-config-factory.c2
-rw-r--r--mail/mail-format.c11
3 files changed, 14 insertions, 5 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index c126111fa9..9edc77184d 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-16 Jeffrey Stedfast <fejj@ximian.com>
+
+ * mail-config-factory.c (config_control_factory_cb): Ref the prefs
+ widget here since we unref in the destroy callback. Caught this
+ thanks to purify.
+
2002-04-13 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c: Build fixes for --enable-nntp.
diff --git a/mail/mail-config-factory.c b/mail/mail-config-factory.c
index 17b75ed2e6..2e825b8b5a 100644
--- a/mail/mail-config-factory.c
+++ b/mail/mail-config-factory.c
@@ -87,6 +87,8 @@ config_control_factory_cb (BonoboGenericFactory *factory, const char *component_
}
data->prefs = prefs;
+ gtk_object_ref (GTK_OBJECT (prefs));
+
gtk_widget_show_all (prefs);
control = evolution_config_control_new (prefs);
diff --git a/mail/mail-format.c b/mail/mail-format.c
index 604740793c..79bc90c9fb 100644
--- a/mail/mail-format.c
+++ b/mail/mail-format.c
@@ -1259,7 +1259,7 @@ handle_text_plain_flowed (char *buf, MailDisplay *md, GtkHTML *html, GtkHTMLStre
char *text, *line, *eol, *p;
int prevquoting = 0, quoting, len, br_pending = 0;
guint32 citation_color = mail_config_get_citation_color ();
-
+
mail_html_write (html, stream,
"\n<!-- text/plain, flowed -->\n"
"<table cellspacing=0 cellpadding=10 width=\"100%\"><tr><td>\n<tt>\n");
@@ -1269,7 +1269,7 @@ handle_text_plain_flowed (char *buf, MailDisplay *md, GtkHTML *html, GtkHTMLStre
eol = strchr (line, '\n');
if (eol)
*eol = '\0';
-
+
quoting = 0;
for (p = line; *p == '>'; p++)
quoting++;
@@ -1319,16 +1319,17 @@ handle_text_plain_flowed (char *buf, MailDisplay *md, GtkHTML *html, GtkHTMLStre
mail_html_write (html, stream, text);
g_free (text);
- if (p[len - 1] != ' ' || !strcmp (p, "-- "))
+ if ((len > 0 && p[len - 1]) != ' ' || !strcmp (p, "-- "))
br_pending++;
if (!eol)
break;
}
+
g_free (buf);
-
+
mail_html_write (html, stream, "</tt>\n</td></tr></table>\n");
-
+
return TRUE;
}