From 537d207aa852688595de5035f5cee59cd8b2c862 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 15 Feb 2007 23:35:32 +0000 Subject: [PATCH] - Revise patch for GNOME bug #362638 to fix RH bug #220714 (certificate prompt causes crash). --- evolution-2.8.1-kill-ethread.patch | 224 +++++++++++++++-------------- evolution.spec | 6 +- 2 files changed, 125 insertions(+), 105 deletions(-) diff --git a/evolution-2.8.1-kill-ethread.patch b/evolution-2.8.1-kill-ethread.patch index e91d3b1..1a02390 100644 --- a/evolution-2.8.1-kill-ethread.patch +++ b/evolution-2.8.1-kill-ethread.patch @@ -1,6 +1,6 @@ ---- evolution-2.9.1/mail/mail-send-recv.c.kill-ethread 2006-10-26 14:24:06.000000000 -0400 -+++ evolution-2.9.1/mail/mail-send-recv.c 2006-10-26 14:24:55.000000000 -0400 -@@ -817,7 +817,7 @@ +--- evolution-2.9.91/mail/mail-send-recv.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/mail-send-recv.c 2007-02-15 16:04:42.000000000 -0500 +@@ -819,7 +819,7 @@ m->folders = folders; m->info = sinfo; @@ -9,9 +9,9 @@ } else { receive_done ("", data); } ---- evolution-2.9.1/mail/mail-component.c.kill-ethread 2006-09-04 06:36:49.000000000 -0400 -+++ evolution-2.9.1/mail/mail-component.c 2006-10-26 14:24:55.000000000 -0400 -@@ -964,7 +964,7 @@ +--- evolution-2.9.91/mail/mail-component.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/mail-component.c 2007-02-15 16:04:42.000000000 -0500 +@@ -965,7 +965,7 @@ if (camel_url_get_param(url, "uid") != NULL) { char *curi = em_uri_to_camel(uri); @@ -20,8 +20,8 @@ g_free(curi); } else { g_warning("email uri's must include a uid parameter"); ---- evolution-2.9.1/mail/mail-ops.c.kill-ethread 2006-10-26 14:24:06.000000000 -0400 -+++ evolution-2.9.1/mail/mail-ops.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/mail-ops.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/mail-ops.c 2007-02-15 16:04:42.000000000 -0500 @@ -221,7 +221,7 @@ camel_filter_driver_remove_rule_by_name (m->driver, "new-mail-notification"); } @@ -167,7 +167,7 @@ struct _get_message_msg *m; @@ -1795,7 +1795,7 @@ - m->done = (void (*) (CamelFolder *, const char *, CamelMimeMessage *, void *)) done; + m->done = done; m->cancel = camel_operation_new(NULL, NULL); - e_thread_put(thread, (EMsg *)m); @@ -185,7 +185,7 @@ struct _get_message_msg *m; @@ -1833,7 +1833,7 @@ - m->done = (void (*) (CamelFolder *, const char *, CamelMimeMessage *, void *)) done; + m->done = done; m->cancel = camel_operation_new(NULL, NULL); - e_thread_put(thread, (EMsg *)m); @@ -247,8 +247,8 @@ return id; } ---- evolution-2.9.1/mail/em-folder-utils.c.kill-ethread 2006-02-08 06:51:32.000000000 -0500 -+++ evolution-2.9.1/mail/em-folder-utils.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/em-folder-utils.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/em-folder-utils.c 2007-02-15 16:04:42.000000000 -0500 @@ -260,7 +260,7 @@ m->delete = delete; seq = m->msg.seq; @@ -267,8 +267,8 @@ return id; } ---- evolution-2.9.1/mail/importers/elm-importer.c.kill-ethread 2005-12-17 13:35:37.000000000 -0500 -+++ evolution-2.9.1/mail/importers/elm-importer.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/importers/elm-importer.c.kill-ethread 2007-01-03 10:27:16.000000000 -0500 ++++ evolution-2.9.91/mail/importers/elm-importer.c 2007-02-15 16:04:42.000000000 -0500 @@ -312,7 +312,7 @@ id = m->msg.seq; @@ -278,8 +278,8 @@ return id; } ---- evolution-2.9.1/mail/importers/mail-importer.c.kill-ethread 2006-02-08 06:51:32.000000000 -0500 -+++ evolution-2.9.1/mail/importers/mail-importer.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/importers/mail-importer.c.kill-ethread 2007-01-03 10:27:16.000000000 -0500 ++++ evolution-2.9.91/mail/importers/mail-importer.c 2007-02-15 16:04:42.000000000 -0500 @@ -329,7 +329,7 @@ } @@ -289,8 +289,8 @@ return id; } ---- evolution-2.9.1/mail/importers/pine-importer.c.kill-ethread 2006-02-05 18:46:26.000000000 -0500 -+++ evolution-2.9.1/mail/importers/pine-importer.c 2006-10-26 14:24:56.000000000 -0400 +--- evolution-2.9.91/mail/importers/pine-importer.c.kill-ethread 2007-01-03 10:27:16.000000000 -0500 ++++ evolution-2.9.91/mail/importers/pine-importer.c 2007-02-15 16:04:42.000000000 -0500 @@ -350,7 +350,7 @@ id = m->msg.seq; @@ -300,8 +300,8 @@ return id; } ---- evolution-2.9.1/mail/mail-vfolder.c.kill-ethread 2006-06-30 05:46:26.000000000 -0400 -+++ evolution-2.9.1/mail/mail-vfolder.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/mail-vfolder.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/mail-vfolder.c 2007-02-15 16:04:42.000000000 -0500 @@ -188,7 +188,7 @@ m->sources_folder = sources_folder; @@ -347,8 +347,8 @@ from = em_uri_from_camel(cfrom); to = em_uri_from_camel(cto); ---- evolution-2.9.1/mail/em-format-html.c.kill-ethread 2006-10-26 14:24:06.000000000 -0400 -+++ evolution-2.9.1/mail/em-format-html.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/em-format-html.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/em-format-html.c 2007-02-15 16:04:42.000000000 -0500 @@ -1374,7 +1374,7 @@ } @@ -358,8 +358,8 @@ } efh->priv->format_timeout_id = 0; ---- evolution-2.9.1/mail/em-folder-properties.c.kill-ethread 2006-02-23 08:26:41.000000000 -0500 -+++ evolution-2.9.1/mail/em-folder-properties.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/em-folder-properties.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/em-folder-properties.c 2007-02-15 16:04:42.000000000 -0500 @@ -379,7 +379,7 @@ } @@ -369,8 +369,8 @@ else emfp_dialog_got_folder((char *)uri, folder, NULL); } ---- evolution-2.9.1/mail/em-folder-tree.c.kill-ethread 2006-08-07 14:55:02.000000000 -0400 -+++ evolution-2.9.1/mail/em-folder-tree.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/em-folder-tree.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/em-folder-tree.c 2007-02-15 16:04:42.000000000 -0500 @@ -966,7 +966,7 @@ tree_drag_data_action(struct _DragDataReceivedAsync *m) { @@ -389,9 +389,9 @@ } static gboolean ---- evolution-2.9.1/mail/em-folder-browser.c.kill-ethread 2006-10-26 14:24:06.000000000 -0400 -+++ evolution-2.9.1/mail/em-folder-browser.c 2006-10-26 14:24:55.000000000 -0400 -@@ -950,7 +950,7 @@ +--- evolution-2.9.91/mail/em-folder-browser.c.kill-ethread 2007-02-12 05:37:31.000000000 -0500 ++++ evolution-2.9.91/mail/em-folder-browser.c 2007-02-15 16:04:42.000000000 -0500 +@@ -948,7 +948,7 @@ m->sources_folder = sources_folder; id = m->msg.seq; @@ -400,9 +400,9 @@ return id; } ---- evolution-2.9.1/mail/message-list.c.kill-ethread 2006-10-26 14:24:06.000000000 -0400 -+++ evolution-2.9.1/mail/message-list.c 2006-10-26 14:24:55.000000000 -0400 -@@ -1855,7 +1855,7 @@ +--- evolution-2.9.91/mail/message-list.c.kill-ethread 2007-01-18 07:31:51.000000000 -0500 ++++ evolution-2.9.91/mail/message-list.c 2007-02-15 16:04:42.000000000 -0500 +@@ -1888,7 +1888,7 @@ ml_drop_action(struct _drop_msg *m) { m->move = m->action == GDK_ACTION_MOVE; @@ -411,7 +411,7 @@ } static void -@@ -3875,7 +3875,7 @@ +@@ -3922,7 +3922,7 @@ m->ml->regen = g_list_prepend(m->ml->regen, m); /* TODO: we should manage our own thread stuff, would make cancelling outstanding stuff easier */ @@ -420,9 +420,9 @@ m->ml->regen_timeout_msg = NULL; m->ml->regen_timeout_id = 0; ---- evolution-2.9.1/mail/em-format-html-print.c.kill-ethread 2005-05-19 02:46:23.000000000 -0400 -+++ evolution-2.9.1/mail/em-format-html-print.c 2006-10-26 14:24:55.000000000 -0400 -@@ -228,7 +228,7 @@ +--- evolution-2.9.91/mail/em-format-html-print.c.kill-ethread 2007-02-12 01:58:01.000000000 -0500 ++++ evolution-2.9.91/mail/em-format-html-print.c 2007-02-15 16:04:42.000000000 -0500 +@@ -262,7 +262,7 @@ g_object_ref(source); g_object_ref(efhp); @@ -431,9 +431,9 @@ return 0; /* damn async ... */ } ---- evolution-2.9.1/mail/em-sync-stream.c.kill-ethread 2005-12-21 09:10:25.000000000 -0500 -+++ evolution-2.9.1/mail/em-sync-stream.c 2006-10-26 14:24:55.000000000 -0400 -@@ -267,7 +267,7 @@ +--- evolution-2.9.91/mail/em-sync-stream.c.kill-ethread 2007-02-09 15:16:33.000000000 -0500 ++++ evolution-2.9.91/mail/em-sync-stream.c 2007-02-15 16:04:42.000000000 -0500 +@@ -268,7 +268,7 @@ if (emss->cancel) return -1; @@ -442,7 +442,7 @@ EMSS_CLASS(emss)->sync_write(stream, buffer, n); #ifdef LOG_STREAM if (p->logfd) -@@ -297,7 +297,7 @@ +@@ -298,7 +298,7 @@ if (emss->cancel) return -1; @@ -451,7 +451,7 @@ return ((EMSyncStreamClass *)(((CamelObject *)emss)->klass))->sync_flush(stream); else sync_op(emss, EMSS_FLUSH, NULL, 0); -@@ -315,7 +315,7 @@ +@@ -316,7 +316,7 @@ d(printf("%p: closing stream\n", stream)); @@ -460,8 +460,8 @@ #ifdef LOG_STREAM if (emss->priv->logfd) { fclose(emss->priv->logfd); ---- evolution-2.9.1/mail/em-subscribe-editor.c.kill-ethread 2006-07-24 05:01:30.000000000 -0400 -+++ evolution-2.9.1/mail/em-subscribe-editor.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/em-subscribe-editor.c.kill-ethread 2007-01-08 11:35:48.000000000 -0500 ++++ evolution-2.9.91/mail/em-subscribe-editor.c 2007-02-15 16:04:42.000000000 -0500 @@ -229,7 +229,7 @@ next = (struct _zsubscribe_msg *)e_dlist_remhead(&m->sub->subscribe); if (next) { @@ -480,7 +480,7 @@ } else { d(printf("queueing subscribe folder '%s'\n", spath)); e_dlist_addtail(&sub->subscribe, (EDListNode *)m); -@@ -420,7 +420,7 @@ +@@ -443,7 +443,7 @@ id = m->msg.seq; @@ -489,8 +489,8 @@ return id; } ---- evolution-2.9.1/mail/mail-mt.h.kill-ethread 2006-10-16 10:37:09.000000000 -0400 -+++ evolution-2.9.1/mail/mail-mt.h 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/mail-mt.h.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/mail-mt.h 2007-02-15 16:04:42.000000000 -0500 @@ -33,6 +33,7 @@ EMsg msg; /* parent type */ struct _mail_msg_op *ops; /* operation functions */ @@ -548,8 +548,8 @@ /* A generic proxy event for anything that can be proxied during the life of the mailer (almost nothing) */ /* Note that almost all objects care about the lifecycle of their events, so this cannot be used */ extern MailAsyncEvent *mail_async_event; ---- evolution-2.9.1/mail/mail-ops.h.kill-ethread 2006-02-20 11:01:01.000000000 -0500 -+++ evolution-2.9.1/mail/mail-ops.h 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/mail-ops.h.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/mail-ops.h 2007-02-15 16:04:42.000000000 -0500 @@ -30,6 +30,8 @@ #pragma } #endif /* __cplusplus */ @@ -583,8 +583,8 @@ /* and for a store */ int mail_get_store (const char *uri, CamelOperation *op, ---- evolution-2.9.1/mail/em-composer-utils.c.kill-ethread 2006-04-18 16:56:36.000000000 -0400 -+++ evolution-2.9.1/mail/em-composer-utils.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/em-composer-utils.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/em-composer-utils.c 2007-02-15 16:04:42.000000000 -0500 @@ -534,7 +534,7 @@ strcmp (account->drafts_folder_uri, default_drafts_folder_uri) != 0) { int id; @@ -628,8 +628,8 @@ - mail_get_message (folder, uid, post_reply_to_message, NULL, mail_thread_new); + mail_get_message (folder, uid, post_reply_to_message, NULL, mail_msg_unordered_push); } ---- evolution-2.9.1/mail/mail-folder-cache.c.kill-ethread 2006-07-26 09:19:18.000000000 -0400 -+++ evolution-2.9.1/mail/mail-folder-cache.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/mail-folder-cache.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/mail-folder-cache.c 2007-02-15 16:04:42.000000000 -0500 @@ -907,7 +907,7 @@ m->store = store; camel_object_ref (store); @@ -648,8 +648,8 @@ LOCK(info_lock); ---- evolution-2.9.1/mail/em-folder-view.c.kill-ethread 2006-10-26 14:24:06.000000000 -0400 -+++ evolution-2.9.1/mail/em-folder-view.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/em-folder-view.c.kill-ethread 2007-02-12 01:58:01.000000000 -0500 ++++ evolution-2.9.91/mail/em-folder-view.c 2007-02-15 16:04:42.000000000 -0500 @@ -693,7 +693,7 @@ static void emfv_set_folder_uri(EMFolderView *emfv, const char *uri) @@ -659,7 +659,7 @@ } static void -@@ -1588,7 +1588,7 @@ +@@ -1611,7 +1611,7 @@ data->type = type; data->source = source; @@ -668,7 +668,7 @@ } static void -@@ -1686,7 +1686,7 @@ +@@ -1709,7 +1709,7 @@ data->type = type; data->uri = g_strdup (uri); @@ -677,7 +677,7 @@ } static void -@@ -2335,7 +2335,7 @@ +@@ -2369,7 +2369,7 @@ g_object_ref (emfv); /* TODO: we should manage our own thread stuff, would make cancelling outstanding stuff easier */ e_profile_event_emit("goto.load", emfv->displayed_uid, 0); @@ -686,8 +686,8 @@ } else { e_profile_event_emit("goto.empty", "", 0); g_free(emfv->priv->selected_uid); ---- evolution-2.9.1/mail/mail-session.c.kill-ethread 2006-10-26 14:24:06.000000000 -0400 -+++ evolution-2.9.1/mail/mail-session.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/mail-session.c.kill-ethread 2007-02-15 16:04:42.000000000 -0500 ++++ evolution-2.9.91/mail/mail-session.c 2007-02-15 16:04:42.000000000 -0500 @@ -374,7 +374,7 @@ if (cancel) user_message_reply = e_msgport_new (); @@ -708,8 +708,8 @@ } if (cancel) { ---- evolution-2.9.1/mail/mail-mt.c.kill-ethread 2006-10-16 10:37:09.000000000 -0400 -+++ evolution-2.9.1/mail/mail-mt.c 2006-10-26 14:24:55.000000000 -0400 +--- evolution-2.9.91/mail/mail-mt.c.kill-ethread 2007-01-03 10:27:18.000000000 -0500 ++++ evolution-2.9.91/mail/mail-mt.c 2007-02-15 16:28:12.000000000 -0500 @@ -82,12 +82,8 @@ static pthread_mutex_t mail_msg_lock = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t mail_msg_cond = PTHREAD_COND_INITIALIZER; @@ -753,7 +753,7 @@ MAIL_MT_LOCK(mail_msg_lock); while (g_hash_table_size(mail_msg_active_table) > 0) { MAIL_MT_UNLOCK(mail_msg_lock); -@@ -420,241 +412,187 @@ +@@ -420,241 +412,193 @@ MAIL_MT_UNLOCK(mail_msg_lock); } @@ -828,11 +828,17 @@ -#endif + /* check the main loop queue */ + while ((msg = g_async_queue_try_pop (main_loop_queue)) != NULL) { -+ if (msg->ops->receive_msg != NULL) ++ ++ /* If the message has a reply_port, it must also have a ++ * receive_msg() callback. The receive_msg() callback is ++ * responsible for issuing the reply, and the recipient of ++ * the reply is responsible for freeing the message. */ ++ if (msg->msg.reply_port != NULL) { ++ g_assert (msg->ops->receive_msg != NULL); + msg->ops->receive_msg (msg); -+ if (msg->msg.reply_port != NULL) -+ e_msgport_reply ((EMsg *) msg); -+ else { ++ } else { ++ if (msg->ops->receive_msg != NULL) ++ msg->ops->receive_msg (msg); + if (msg->ops->reply_msg != NULL) + msg->ops->reply_msg (msg); + mail_msg_free (msg); @@ -1052,16 +1058,16 @@ +mail_msg_fast_ordered_push (mail_msg_t *msg) { - mail_msg_wait_all(); -+ static GOnce once = G_ONCE_INIT; - +- - e_thread_destroy(mail_thread_queued_slow); - e_thread_destroy(mail_thread_queued); - e_thread_destroy(mail_thread_new); -+ g_once (&once, (GThreadFunc) create_thread_pool, GINT_TO_POINTER (1)); ++ static GOnce once = G_ONCE_INIT; - g_io_channel_unref(mail_gui_channel); - g_io_channel_unref(mail_gui_reply_channel); -- ++ g_once (&once, (GThreadFunc) create_thread_pool, GINT_TO_POINTER (1)); + - e_msgport_destroy(mail_gui_port); - e_msgport_destroy(mail_gui_reply_port); + g_thread_pool_push ((GThreadPool *) once.retval, msg, NULL); @@ -1125,7 +1131,7 @@ } /* ********************************************************************** */ -@@ -723,7 +661,6 @@ +@@ -723,7 +667,6 @@ { struct _proxy_msg *m; int id; @@ -1133,7 +1139,7 @@ /* we dont have a reply port for this, we dont care when/if it gets executed, just queue it */ m = mail_msg_new(&async_event_op, NULL, sizeof(*m)); -@@ -743,12 +680,12 @@ +@@ -743,12 +686,12 @@ /* We use an idle function instead of our own message port only because the gui message ports's notification buffer might overflow and deadlock us */ if (type == MAIL_ASYNC_GUI) { @@ -1149,7 +1155,17 @@ return id; } -@@ -857,11 +794,10 @@ +@@ -842,6 +785,9 @@ + m->ret = m->func(p1, p2, i1, p3, p4, p5); + break; + } ++ ++ if (mm->msg.reply_port != NULL) ++ e_msgport_reply ((EMsg *) mm); + } + + static struct _mail_msg_op mail_call_op = { +@@ -857,11 +803,10 @@ void *ret; va_list ap; EMsgPort *reply = NULL; @@ -1162,7 +1178,7 @@ reply = e_msgport_new(); m = mail_msg_new(&mail_call_op, reply, sizeof(*m)); -@@ -869,8 +805,8 @@ +@@ -869,8 +814,8 @@ m->func = func; G_VA_COPY(m->ap, ap); @@ -1173,7 +1189,7 @@ e_msgport_wait(reply); e_msgport_destroy(reply); } else { -@@ -909,7 +845,7 @@ +@@ -909,7 +854,7 @@ busy_state++; if (busy_state == 1) { m = mail_msg_new(&set_busy_op, NULL, sizeof(*m)); @@ -1182,7 +1198,7 @@ } MAIL_MT_UNLOCK(status_lock); } -@@ -922,7 +858,7 @@ +@@ -922,7 +867,7 @@ busy_state--; if (busy_state == 0) { m = mail_msg_new(&set_busy_op, NULL, sizeof(*m)); @@ -1191,7 +1207,7 @@ } MAIL_MT_UNLOCK(status_lock); } -@@ -947,7 +883,7 @@ +@@ -947,7 +892,7 @@ char *out, *p, *o, c; int pc; @@ -1200,7 +1216,7 @@ MAIL_MT_LOCK (mail_msg_lock); -@@ -1055,7 +991,7 @@ +@@ -1055,7 +1000,7 @@ } m->pc = pc; m->data = data; @@ -1209,8 +1225,8 @@ } /* ******************** */ ---- evolution-2.9.1/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread 2004-10-22 15:32:26.000000000 -0400 -+++ evolution-2.9.1/plugins/folder-unsubscribe/folder-unsubscribe.c 2006-10-26 14:24:56.000000000 -0400 +--- evolution-2.9.91/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread 2007-01-03 10:27:06.000000000 -0500 ++++ evolution-2.9.91/plugins/folder-unsubscribe/folder-unsubscribe.c 2007-02-15 16:04:42.000000000 -0500 @@ -108,5 +108,5 @@ unsub = mail_msg_new (&unsubscribe_op, NULL, sizeof (struct _folder_unsub_t)); unsub->uri = g_strdup (target->uri); @@ -1218,8 +1234,8 @@ - e_thread_put (mail_thread_new, (EMsg *) unsub); + mail_msg_unordered_push ((mail_msg_t *) unsub); } ---- evolution-2.9.1/plugins/mark-all-read/mark-all-read.c.kill-ethread 2005-05-19 13:32:41.000000000 -0400 -+++ evolution-2.9.1/plugins/mark-all-read/mark-all-read.c 2006-10-26 14:24:56.000000000 -0400 +--- evolution-2.9.91/plugins/mark-all-read/mark-all-read.c.kill-ethread 2007-01-03 10:27:08.000000000 -0500 ++++ evolution-2.9.91/plugins/mark-all-read/mark-all-read.c 2007-02-15 16:04:42.000000000 -0500 @@ -44,7 +44,7 @@ return; } @@ -1229,8 +1245,8 @@ } static void ---- evolution-2.9.1/plugins/exchange-operations/exchange-folder.c.kill-ethread 2006-06-13 06:15:40.000000000 -0400 -+++ evolution-2.9.1/plugins/exchange-operations/exchange-folder.c 2006-10-26 14:24:56.000000000 -0400 +--- evolution-2.9.91/plugins/exchange-operations/exchange-folder.c.kill-ethread 2007-01-03 10:27:08.000000000 -0500 ++++ evolution-2.9.91/plugins/exchange-operations/exchange-folder.c 2007-02-15 16:04:42.000000000 -0500 @@ -134,7 +134,7 @@ inbox_physical_uri = e_folder_get_physical_uri (inbox); @@ -1240,8 +1256,8 @@ } ---- evolution-2.9.1/plugins/save-attachments/save-attachments.c.kill-ethread 2006-07-07 19:48:24.000000000 -0400 -+++ evolution-2.9.1/plugins/save-attachments/save-attachments.c 2006-10-26 14:24:56.000000000 -0400 +--- evolution-2.9.91/plugins/save-attachments/save-attachments.c.kill-ethread 2007-02-09 15:16:33.000000000 -0500 ++++ evolution-2.9.91/plugins/save-attachments/save-attachments.c 2007-02-15 16:04:42.000000000 -0500 @@ -407,5 +407,5 @@ camel_object_ref(data->folder); data->uid = g_strdup(target->uids->pdata[0]); @@ -1249,8 +1265,8 @@ - mail_get_message(data->folder, data->uid, save_got_message, data, mail_thread_new); + mail_get_message(data->folder, data->uid, save_got_message, data, mail_msg_unordered_push); } ---- evolution-2.9.1/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread 2006-08-23 04:38:52.000000000 -0400 -+++ evolution-2.9.1/plugins/mailing-list-actions/mailing-list-actions.c 2006-10-26 14:24:56.000000000 -0400 +--- evolution-2.9.91/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread 2007-01-03 10:27:09.000000000 -0500 ++++ evolution-2.9.91/plugins/mailing-list-actions/mailing-list-actions.c 2007-02-15 16:04:42.000000000 -0500 @@ -89,7 +89,7 @@ data->uri = strdup (sel->uri); @@ -1260,8 +1276,8 @@ } void emla_list_action_do (CamelFolder *folder, const char *uid, CamelMimeMessage *msg, void *data) ---- evolution-2.9.1/plugins/groupwise-features/share-folder-common.c.kill-ethread 2006-02-08 06:08:24.000000000 -0500 -+++ evolution-2.9.1/plugins/groupwise-features/share-folder-common.c 2006-10-26 14:24:56.000000000 -0400 +--- evolution-2.9.91/plugins/groupwise-features/share-folder-common.c.kill-ethread 2007-01-03 10:27:07.000000000 -0500 ++++ evolution-2.9.91/plugins/groupwise-features/share-folder-common.c 2007-02-15 16:04:42.000000000 -0500 @@ -239,7 +239,7 @@ m->done = done; g_free (namebuf); @@ -1271,8 +1287,8 @@ return id; } ---- evolution-2.9.1/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread 2006-04-21 15:38:16.000000000 -0400 -+++ evolution-2.9.1/calendar/gui/alarm-notify/alarm-notify.h 2006-10-26 14:24:53.000000000 -0400 +--- evolution-2.9.91/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread 2007-01-03 10:27:57.000000000 -0500 ++++ evolution-2.9.91/calendar/gui/alarm-notify/alarm-notify.h 2007-02-15 16:04:42.000000000 -0500 @@ -39,19 +39,6 @@ typedef struct _AlarmNotifyPrivate AlarmNotifyPrivate; @@ -1293,8 +1309,8 @@ struct _AlarmNotify { BonoboObject object; ---- evolution-2.9.1/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread 2006-08-24 09:53:20.000000000 -0400 -+++ evolution-2.9.1/calendar/gui/alarm-notify/alarm-notify.c 2006-10-26 14:24:53.000000000 -0400 +--- evolution-2.9.91/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread 2007-01-03 10:27:57.000000000 -0500 ++++ evolution-2.9.91/calendar/gui/alarm-notify/alarm-notify.c 2007-02-15 16:04:42.000000000 -0500 @@ -45,10 +45,6 @@ GMutex *mutex; }; @@ -1306,7 +1322,7 @@ #define d(x) x -@@ -284,72 +280,12 @@ +@@ -286,72 +282,12 @@ g_mutex_free (priv->mutex); g_free (priv); @@ -1379,7 +1395,7 @@ /** * alarm_notify_new: * -@@ -361,23 +297,10 @@ +@@ -363,23 +299,10 @@ AlarmNotify * alarm_notify_new (void) { @@ -1407,8 +1423,8 @@ } static void ---- evolution-2.9.1/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread 2006-08-30 10:36:04.000000000 -0400 -+++ evolution-2.9.1/calendar/gui/alarm-notify/alarm-queue.c 2006-10-26 14:24:53.000000000 -0400 +--- evolution-2.9.91/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread 2007-01-03 10:27:57.000000000 -0500 ++++ evolution-2.9.91/calendar/gui/alarm-notify/alarm-queue.c 2007-02-15 16:04:42.000000000 -0500 @@ -115,9 +115,6 @@ static int tray_blink_state = FALSE; static AlarmNotify *an; @@ -1874,7 +1890,7 @@ } /* Performs notification of a display alarm */ -@@ -1836,21 +1833,13 @@ +@@ -1840,21 +1837,13 @@ new_midnight = time_day_end_with_zone (time (NULL), zone); if (new_midnight > midnight) { @@ -1901,7 +1917,7 @@ } return TRUE; -@@ -1981,14 +1970,15 @@ +@@ -1985,14 +1974,15 @@ } struct _alarm_client_msg { @@ -1920,7 +1936,7 @@ g_return_if_fail (alarm_queue_inited); g_return_if_fail (client != NULL); -@@ -2019,6 +2009,8 @@ +@@ -2023,6 +2013,8 @@ G_CALLBACK (cal_opened_cb), ca); } @@ -1929,7 +1945,7 @@ } /** -@@ -2038,20 +2030,13 @@ +@@ -2042,20 +2034,13 @@ void alarm_queue_add_client (ECal *client) { @@ -1955,7 +1971,7 @@ } /* Removes a component an its alarms */ -@@ -2103,11 +2088,10 @@ +@@ -2107,11 +2092,10 @@ * Removes a calendar client from the alarm queueing system. **/ static void @@ -1969,7 +1985,7 @@ g_return_if_fail (alarm_queue_inited); g_return_if_fail (client != NULL); -@@ -2144,24 +2128,20 @@ +@@ -2148,24 +2132,20 @@ g_free (ca); g_hash_table_remove (client_alarms_hash, client); diff --git a/evolution.spec b/evolution.spec index 8404989..cce8b20 100644 --- a/evolution.spec +++ b/evolution.spec @@ -45,7 +45,7 @@ Name: evolution Version: 2.9.91 -Release: 2%{?dist} +Release: 3%{?dist} License: GPL Group: Applications/Productivity Summary: GNOME's next-generation groupware suite @@ -725,6 +725,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/evolution/%{evo_major}/libmenus.so %changelog +* Thu Feb 15 2007 Matthew Barnes - 2.9.91-3.fc7 +- Revise patch for GNOME bug #362638 to fix RH bug #220714 + (certificate prompt causes crash). + * Tue Feb 13 2007 Matthew Barnes - 2.9.91-2.fc7 - Require GConf2 in post. - Require scrollkeeper in post and postun.