diff --git a/evolution-2.8.0-fix-indic-printing.patch b/evolution-2.8.0-fix-indic-printing.patch index ed42520..eab8a5d 100644 --- a/evolution-2.8.0-fix-indic-printing.patch +++ b/evolution-2.8.0-fix-indic-printing.patch @@ -1,82 +1,91 @@ ---- evolution-2.8.1/plugins/print-message/print-message.c.fix-indic-printing 2005-08-23 23:14:10.000000000 -0400 -+++ evolution-2.8.1/plugins/print-message/print-message.c 2006-10-10 10:35:17.000000000 -0400 -@@ -83,7 +83,8 @@ +--- evolution-2.9.2/plugins/print-message/print-message.c.fix-indic-printing 2005-08-23 23:14:10.000000000 -0400 ++++ evolution-2.9.2/plugins/print-message/print-message.c 2006-11-07 13:47:35.000000000 -0500 +@@ -83,7 +83,7 @@ data->config = e_print_load_config (); data->preview = 0; - data->msg = e_msg_composer_get_message (composer, 1); -+ data->msg = e_msg_composer_get_message_print (composer, TRUE); -+ ++ data->msg = e_msg_composer_get_message_print (composer, 1); dialog = (GtkDialog *)e_print_get_dialog_with_config (_("Print Message"), GNOME_PRINT_DIALOG_COPIES, data->config); gtk_dialog_set_default_response(dialog, GNOME_PRINT_DIALOG_RESPONSE_PRINT); e_dialog_set_transient_for ((GtkWindow *) dialog, (GtkWidget *) composer); -@@ -104,7 +105,7 @@ +@@ -104,7 +104,7 @@ data->config = e_print_load_config (); data->preview = 0; - data->msg = e_msg_composer_get_message (composer, 1); -+ data->msg = e_msg_composer_get_message_print (composer, TRUE); ++ data->msg = e_msg_composer_get_message_print (composer, 1); print_response(NULL, GNOME_PRINT_DIALOG_RESPONSE_PREVIEW, data); } ---- evolution-2.8.1/composer/e-msg-composer.h.fix-indic-printing 2005-12-07 03:29:51.000000000 -0500 -+++ evolution-2.8.1/composer/e-msg-composer.h 2006-10-10 10:35:17.000000000 -0400 -@@ -94,6 +94,8 @@ - const char *filename); - void e_msg_composer_add_inline_image_from_mime_part (EMsgComposer *composer, +--- evolution-2.9.2/composer/e-msg-composer.h.fix-indic-printing 2005-12-07 03:29:51.000000000 -0500 ++++ evolution-2.9.2/composer/e-msg-composer.h 2006-11-07 13:47:35.000000000 -0500 +@@ -96,6 +96,8 @@ CamelMimePart *part); -+CamelMimeMessage *e_msg_composer_get_message_print (EMsgComposer *composer, -+ gboolean save_html_object_data); CamelMimeMessage *e_msg_composer_get_message (EMsgComposer *composer, gboolean save_html_object_data); ++CamelMimeMessage *e_msg_composer_get_message_print (EMsgComposer *composer, ++ gboolean save_html_object_data); CamelMimeMessage *e_msg_composer_get_message_draft (EMsgComposer *composer); ---- evolution-2.8.1/composer/e-msg-composer.c.fix-indic-printing 2006-10-10 10:34:38.000000000 -0400 -+++ evolution-2.8.1/composer/e-msg-composer.c 2006-10-10 10:35:17.000000000 -0400 -@@ -5162,6 +5162,38 @@ - } - } - -+/* Stub for helping in printing of mails */ -+CamelMimeMessage * -+e_msg_composer_get_message_print (EMsgComposer *composer, gboolean save_html_object_data) -+{ -+ CamelMimeMessage *msg; -+ gboolean old_flags[4]; -+ gboolean old_send_html; -+ EMsgComposerPrivate *p = composer->priv; -+ -+ /* create printable mail as HTML */ -+ old_send_html = p->send_html; -+ p->send_html = TRUE; -+ old_flags[0] = p->pgp_sign; -+ p->pgp_sign = FALSE; -+ old_flags[1] = p->pgp_encrypt; -+ p->pgp_encrypt = FALSE; -+ old_flags[2] = p->smime_sign; -+ p->smime_sign = FALSE; -+ old_flags[3] = p->smime_encrypt; -+ p->smime_encrypt = FALSE; -+ -+ msg = build_message (composer, save_html_object_data); -+ -+ /* Revert back message's original settings */ -+ p->send_html = old_send_html; -+ p->pgp_sign = old_flags[0]; -+ p->pgp_encrypt = old_flags[1]; -+ p->smime_sign = old_flags[2]; -+ p->smime_encrypt = old_flags[3]; -+ -+ return msg; -+} - - /** - * e_msg_composer_get_message: -@@ -5183,7 +5215,7 @@ - } - } + void e_msg_composer_show_sig_file (EMsgComposer *composer); + gboolean e_msg_composer_get_send_html (EMsgComposer *composer); +--- evolution-2.9.2/composer/e-msg-composer.c.fix-indic-printing 2006-11-07 13:47:35.000000000 -0500 ++++ evolution-2.9.2/composer/e-msg-composer.c 2006-11-07 14:02:39.000000000 -0500 +@@ -615,6 +615,7 @@ + camel_object_unref (stream); -- return build_message (composer, save_html_object_data); -+ return e_msg_composer_get_message_print (composer, save_html_object_data); + camel_data_wrapper_set_mime_type_field (plain, type); ++ camel_data_wrapper_set_mime_type (plain, "text/plain; charset=utf-8"); + camel_content_type_unref (type); + + if (p->send_html) { +@@ -5189,6 +5190,49 @@ } CamelMimeMessage * ++e_msg_composer_get_message_print (EMsgComposer *composer, gboolean save_html_object_data) ++{ ++ EMsgComposer *temp_composer; ++ CamelMimeMessage *msg; ++ GString *flags; ++ ++ msg = build_message (composer, save_html_object_data); ++ temp_composer = e_msg_composer_new_with_message (msg); ++ camel_object_unref (msg); ++ ++ /* build flags string */ ++ flags = g_string_sized_new (128); ++ if (temp_composer->priv->send_html) ++ g_string_append (flags, "text/html"); ++ else ++ g_string_append (flags, "text/plain"); ++ if (temp_composer->priv->pgp_sign) ++ g_string_append (flags, ", pgp-sign"); ++ if (temp_composer->priv->pgp_encrypt) ++ g_string_append (flags, ", pgp-encrypt"); ++ if (temp_composer->priv->smime_sign) ++ g_string_append (flags, ", smime-sign"); ++ if (temp_composer->priv->smime_encrypt) ++ g_string_append (flags, ", smime-encrypt"); ++ ++ /* override composer flags */ ++ temp_composer->priv->send_html = TRUE; ++ temp_composer->priv->pgp_sign = FALSE; ++ temp_composer->priv->pgp_encrypt = FALSE; ++ temp_composer->priv->smime_sign = FALSE; ++ temp_composer->priv->smime_encrypt = FALSE; ++ ++ msg = build_message (temp_composer, save_html_object_data); ++ camel_medium_set_header (CAMEL_MEDIUM (msg), ++ "X-Evolution-Format", flags->str); ++ ++ e_msg_composer_delete (temp_composer); ++ g_string_free (flags, TRUE); ++ ++ return msg; ++} ++ ++CamelMimeMessage * + e_msg_composer_get_message_draft (EMsgComposer *composer) + { + CamelMimeMessage *msg; diff --git a/evolution.spec b/evolution.spec index f68793f..9eed40d 100644 --- a/evolution.spec +++ b/evolution.spec @@ -43,7 +43,7 @@ Name: evolution Version: 2.9.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL Group: Applications/Productivity Summary: GNOME's next-generation groupware suite @@ -119,7 +119,7 @@ Patch29: evolution-2.8.0-deprecated-gdk-font.patch Patch30: evolution-2.8.0-more-deprecated.patch # RH bug #202751 / Gnome.org bug #355766 -#Patch31: evolution-2.8.0-fix-indic-printing.patch +Patch31: evolution-2.8.0-fix-indic-printing.patch # Gnome.org bug #360946 Patch34: evolution-2.8.1-about-dialog.patch @@ -268,7 +268,7 @@ Development files needed for building things which link against evolution. %patch28 -p1 -b .kill-emutex %patch29 -p1 -b .deprecated-gdk-font %patch30 -p1 -b .more-deprecated -#%patch31 -p1 -b .fix-indic-printing +%patch31 -p1 -b .fix-indic-printing %patch34 -p1 -b .about-dialog %patch35 -p1 -b .kill-ethread %patch36 -p1 -b .kill-ememory @@ -676,6 +676,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/evolution/%{evo_major}/libmenus.so %changelog +* Tue Nov 07 2006 Matthew Barnes - 2.9.2-2.fc7 +- Revise patch for RH bug #202751 and re-enable it. + * Mon Nov 06 2006 Matthew Barnes - 2.9.2-1.fc7 - Update to 2.9.2 - Remove patch for Gnome.org bug #360240 (fixed upstream).