- Revise patch for GNOME bug #362638 to fix GNOME bug #357175 (Evolution

fails to close after IMAP alert has been displayed).
This commit is contained in:
Matthew Barnes 2007-08-29 22:40:09 +00:00
parent 516b80a3c3
commit 5bb8f2a27c
2 changed files with 229 additions and 168 deletions

View File

@ -1,5 +1,6 @@
--- evolution-2.11.90/mail/mail-send-recv.c.kill-ethread 2007-07-28 17:08:12.000000000 -0400 diff -up evolution-2.11.91/mail/mail-send-recv.c.kill-ethread evolution-2.11.91/mail/mail-send-recv.c
+++ evolution-2.11.90/mail/mail-send-recv.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/mail-send-recv.c.kill-ethread 2007-07-28 17:08:12.000000000 -0400
+++ evolution-2.11.91/mail/mail-send-recv.c 2007-08-29 17:39:34.000000000 -0400
@@ -770,23 +770,22 @@ receive_get_folder(CamelFilterDriver *d, @@ -770,23 +770,22 @@ receive_get_folder(CamelFilterDriver *d,
/* ********************************************************************** */ /* ********************************************************************** */
@ -82,9 +83,10 @@
} else { } else {
receive_done ("", data); receive_done ("", data);
} }
--- evolution-2.11.90/mail/mail-component.c.kill-ethread 2007-08-09 02:46:47.000000000 -0400 diff -up evolution-2.11.91/mail/mail-component.c.kill-ethread evolution-2.11.91/mail/mail-component.c
+++ evolution-2.11.90/mail/mail-component.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/mail-component.c.kill-ethread 2007-08-24 02:49:43.000000000 -0400
@@ -1001,7 +1001,7 @@ impl_handleURI (PortableServer_Servant s +++ evolution-2.11.91/mail/mail-component.c 2007-08-29 17:39:34.000000000 -0400
@@ -1005,7 +1005,7 @@ impl_handleURI (PortableServer_Servant s
if (camel_url_get_param(url, "uid") != NULL) { if (camel_url_get_param(url, "uid") != NULL) {
char *curi = em_uri_to_camel(uri); char *curi = em_uri_to_camel(uri);
@ -93,8 +95,9 @@
g_free(curi); g_free(curi);
} else { } else {
g_warning("email uri's must include a uid parameter"); g_warning("email uri's must include a uid parameter");
--- evolution-2.11.90/mail/mail-ops.c.kill-ethread 2007-07-05 02:09:38.000000000 -0400 diff -up evolution-2.11.91/mail/mail-ops.c.kill-ethread evolution-2.11.91/mail/mail-ops.c
+++ evolution-2.11.90/mail/mail-ops.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/mail-ops.c.kill-ethread 2007-07-05 02:09:38.000000000 -0400
+++ evolution-2.11.91/mail/mail-ops.c 2007-08-29 17:39:34.000000000 -0400
@@ -75,7 +75,7 @@ @@ -75,7 +75,7 @@
/* used for both just filtering a folder + uid's, and for filtering a whole folder */ /* used for both just filtering a folder + uid's, and for filtering a whole folder */
/* used both for fetching mail, and for filtering mail */ /* used both for fetching mail, and for filtering mail */
@ -2224,8 +2227,9 @@
return id; return id;
} }
--- evolution-2.11.90/mail/em-folder-utils.c.kill-ethread 2007-08-09 02:46:46.000000000 -0400 diff -up evolution-2.11.91/mail/em-folder-utils.c.kill-ethread evolution-2.11.91/mail/em-folder-utils.c
+++ evolution-2.11.90/mail/em-folder-utils.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-folder-utils.c.kill-ethread 2007-08-09 02:46:46.000000000 -0400
+++ evolution-2.11.91/mail/em-folder-utils.c 2007-08-29 17:39:34.000000000 -0400
@@ -85,7 +85,7 @@ emfu_is_special_local_folder (const char @@ -85,7 +85,7 @@ emfu_is_special_local_folder (const char
} }
@ -2453,8 +2457,9 @@
return id; return id;
} }
--- evolution-2.11.90/mail/importers/elm-importer.c.kill-ethread 2007-07-05 02:09:35.000000000 -0400 diff -up evolution-2.11.91/mail/importers/elm-importer.c.kill-ethread evolution-2.11.91/mail/importers/elm-importer.c
+++ evolution-2.11.90/mail/importers/elm-importer.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/importers/elm-importer.c.kill-ethread 2007-07-05 02:09:35.000000000 -0400
+++ evolution-2.11.91/mail/importers/elm-importer.c 2007-08-29 17:39:34.000000000 -0400
@@ -51,7 +51,7 @@ @@ -51,7 +51,7 @@
#define d(x) x #define d(x) x
@ -2553,8 +2558,9 @@
return id; return id;
} }
--- evolution-2.11.90/mail/importers/mail-importer.c.kill-ethread 2007-07-05 02:09:35.000000000 -0400 diff -up evolution-2.11.91/mail/importers/mail-importer.c.kill-ethread evolution-2.11.91/mail/importers/mail-importer.c
+++ evolution-2.11.90/mail/importers/mail-importer.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/importers/mail-importer.c.kill-ethread 2007-07-05 02:09:35.000000000 -0400
+++ evolution-2.11.91/mail/importers/mail-importer.c 2007-08-29 17:39:34.000000000 -0400
@@ -132,7 +132,7 @@ struct _BonoboObject *mail_importer_fact @@ -132,7 +132,7 @@ struct _BonoboObject *mail_importer_fact
} }
@ -2691,8 +2697,9 @@
} }
struct _import_folders_data { struct _import_folders_data {
--- evolution-2.11.90/mail/importers/pine-importer.c.kill-ethread 2007-07-05 02:09:35.000000000 -0400 diff -up evolution-2.11.91/mail/importers/pine-importer.c.kill-ethread evolution-2.11.91/mail/importers/pine-importer.c
+++ evolution-2.11.90/mail/importers/pine-importer.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/importers/pine-importer.c.kill-ethread 2007-07-05 02:09:35.000000000 -0400
+++ evolution-2.11.91/mail/importers/pine-importer.c 2007-08-29 17:39:34.000000000 -0400
@@ -56,7 +56,7 @@ @@ -56,7 +56,7 @@
#define d(x) x #define d(x) x
@ -2792,9 +2799,10 @@
return id; return id;
} }
--- evolution-2.11.90/mail/em-utils.c.kill-ethread 2007-08-15 13:37:37.000000000 -0400 diff -up evolution-2.11.91/mail/em-utils.c.kill-ethread evolution-2.11.91/mail/em-utils.c
+++ evolution-2.11.90/mail/em-utils.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-utils.c.kill-ethread 2007-08-29 17:39:34.000000000 -0400
@@ -1908,7 +1908,7 @@ em_utils_in_addressbook(CamelInternetAdd +++ evolution-2.11.91/mail/em-utils.c 2007-08-29 17:39:34.000000000 -0400
@@ -1912,7 +1912,7 @@ em_utils_in_addressbook(CamelInternetAdd
ESource *source = s->data; ESource *source = s->data;
GList *contacts; GList *contacts;
EBook *book; EBook *book;
@ -2803,8 +2811,9 @@
d(printf(" checking '%s'\n", e_source_get_uri(source))); d(printf(" checking '%s'\n", e_source_get_uri(source)));
--- evolution-2.11.90/mail/mail-vfolder.c.kill-ethread 2007-07-05 02:09:37.000000000 -0400 diff -up evolution-2.11.91/mail/mail-vfolder.c.kill-ethread evolution-2.11.91/mail/mail-vfolder.c
+++ evolution-2.11.90/mail/mail-vfolder.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/mail-vfolder.c.kill-ethread 2007-07-05 02:09:37.000000000 -0400
+++ evolution-2.11.91/mail/mail-vfolder.c 2007-08-29 17:39:34.000000000 -0400
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
*/ */
@ -3039,8 +3048,9 @@
from = em_uri_from_camel(cfrom); from = em_uri_from_camel(cfrom);
to = em_uri_from_camel(cto); to = em_uri_from_camel(cto);
--- evolution-2.11.90/mail/em-format-html.c.kill-ethread 2007-08-09 02:46:47.000000000 -0400 diff -up evolution-2.11.91/mail/em-format-html.c.kill-ethread evolution-2.11.91/mail/em-format-html.c
+++ evolution-2.11.90/mail/em-format-html.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-format-html.c.kill-ethread 2007-08-27 02:14:40.000000000 -0400
+++ evolution-2.11.91/mail/em-format-html.c 2007-08-29 17:39:34.000000000 -0400
@@ -165,7 +165,7 @@ efh_gtkhtml_destroy(GtkHTML *html, EMFor @@ -165,7 +165,7 @@ efh_gtkhtml_destroy(GtkHTML *html, EMFor
if (efh->priv->format_timeout_id != 0) { if (efh->priv->format_timeout_id != 0) {
g_source_remove(efh->priv->format_timeout_id); g_source_remove(efh->priv->format_timeout_id);
@ -3050,7 +3060,7 @@
efh->priv->format_timeout_msg = NULL; efh->priv->format_timeout_msg = NULL;
} }
@@ -1193,7 +1193,7 @@ efh_builtin_init(EMFormatHTMLClass *efhc @@ -1202,7 +1202,7 @@ efh_builtin_init(EMFormatHTMLClass *efhc
/* Sigh, this is so we have a cancellable, async rendering thread */ /* Sigh, this is so we have a cancellable, async rendering thread */
struct _format_msg { struct _format_msg {
@ -3059,7 +3069,7 @@
EMFormatHTML *format; EMFormatHTML *format;
EMFormat *format_source; EMFormat *format_source;
@@ -1203,14 +1203,15 @@ struct _format_msg { @@ -1212,14 +1212,15 @@ struct _format_msg {
CamelMimeMessage *message; CamelMimeMessage *message;
}; };
@ -3078,7 +3088,7 @@
struct _EMFormatHTMLJob *job; struct _EMFormatHTMLJob *job;
struct _EMFormatPURITree *puri_level; struct _EMFormatPURITree *puri_level;
int cancelled = FALSE; int cancelled = FALSE;
@@ -1295,10 +1296,9 @@ static void efh_format_do(struct _mail_m @@ -1304,10 +1305,9 @@ static void efh_format_do(struct _mail_m
((EMFormat *)m->format)->pending_uri_level = puri_level; ((EMFormat *)m->format)->pending_uri_level = puri_level;
} }
@ -3091,7 +3101,7 @@
d(printf("formatting finished\n")); d(printf("formatting finished\n"));
m->format->load_http_now = FALSE; m->format->load_http_now = FALSE;
@@ -1306,10 +1306,9 @@ static void efh_format_done(struct _mail @@ -1315,10 +1315,9 @@ static void efh_format_done(struct _mail
g_signal_emit_by_name(m->format, "complete"); g_signal_emit_by_name(m->format, "complete");
} }
@ -3104,7 +3114,7 @@
d(printf("formatter freed\n")); d(printf("formatter freed\n"));
g_object_unref(m->format); g_object_unref(m->format);
if (m->estream) { if (m->estream) {
@@ -1325,11 +1324,12 @@ static void efh_format_free(struct _mail @@ -1334,11 +1333,12 @@ static void efh_format_free(struct _mail
g_object_unref(m->format_source); g_object_unref(m->format_source);
} }
@ -3122,7 +3132,7 @@
}; };
static gboolean static gboolean
@@ -1340,7 +1340,7 @@ efh_format_timeout(struct _format_msg *m @@ -1349,7 +1349,7 @@ efh_format_timeout(struct _format_msg *m
struct _EMFormatHTMLPrivate *p = efh->priv; struct _EMFormatHTMLPrivate *p = efh->priv;
if (m->format->html == NULL) { if (m->format->html == NULL) {
@ -3131,7 +3141,7 @@
return FALSE; return FALSE;
} }
@@ -1368,7 +1368,7 @@ efh_format_timeout(struct _format_msg *m @@ -1377,7 +1377,7 @@ efh_format_timeout(struct _format_msg *m
if (m->message == NULL) { if (m->message == NULL) {
hstream = gtk_html_begin(efh->html); hstream = gtk_html_begin(efh->html);
gtk_html_stream_close(hstream, GTK_HTML_STREAM_OK); gtk_html_stream_close(hstream, GTK_HTML_STREAM_OK);
@ -3140,7 +3150,7 @@
p->last_part = NULL; p->last_part = NULL;
} else { } else {
hstream = gtk_html_begin(efh->html); hstream = gtk_html_begin(efh->html);
@@ -1392,8 +1392,8 @@ efh_format_timeout(struct _format_msg *m @@ -1401,8 +1401,8 @@ efh_format_timeout(struct _format_msg *m
p->last_part = m->message; p->last_part = m->message;
} }
@ -3151,7 +3161,7 @@
} }
efh->priv->format_timeout_id = 0; efh->priv->format_timeout_id = 0;
@@ -1417,11 +1417,11 @@ static void efh_format_clone(EMFormat *e @@ -1426,11 +1426,11 @@ static void efh_format_clone(EMFormat *e
d(printf(" timeout for last still active, removing ...\n")); d(printf(" timeout for last still active, removing ...\n"));
g_source_remove(efh->priv->format_timeout_id); g_source_remove(efh->priv->format_timeout_id);
efh->priv->format_timeout_id = 0; efh->priv->format_timeout_id = 0;
@ -3165,8 +3175,9 @@
m->format = (EMFormatHTML *)emf; m->format = (EMFormatHTML *)emf;
g_object_ref(emf); g_object_ref(emf);
m->format_source = emfsource; m->format_source = emfsource;
--- evolution-2.11.90/mail/em-folder-properties.c.kill-ethread 2007-07-05 02:09:37.000000000 -0400 diff -up evolution-2.11.91/mail/em-folder-properties.c.kill-ethread evolution-2.11.91/mail/em-folder-properties.c
+++ evolution-2.11.90/mail/em-folder-properties.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-folder-properties.c.kill-ethread 2007-07-05 02:09:37.000000000 -0400
+++ evolution-2.11.91/mail/em-folder-properties.c 2007-08-29 17:39:34.000000000 -0400
@@ -386,7 +386,7 @@ em_folder_properties_show(GtkWindow *par @@ -386,7 +386,7 @@ em_folder_properties_show(GtkWindow *par
} }
@ -3176,8 +3187,9 @@
else else
emfp_dialog_got_folder((char *)uri, folder, NULL); emfp_dialog_got_folder((char *)uri, folder, NULL);
} }
--- evolution-2.11.90/mail/em-folder-tree.c.kill-ethread 2007-08-09 02:46:46.000000000 -0400 diff -up evolution-2.11.91/mail/em-folder-tree.c.kill-ethread evolution-2.11.91/mail/em-folder-tree.c
+++ evolution-2.11.90/mail/em-folder-tree.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-folder-tree.c.kill-ethread 2007-08-24 02:49:43.000000000 -0400
+++ evolution-2.11.91/mail/em-folder-tree.c 2007-08-29 17:39:34.000000000 -0400
@@ -835,7 +835,7 @@ fail: @@ -835,7 +835,7 @@ fail:
/* TODO: Merge the drop handling code/menu's into one spot using a popup target for details */ /* TODO: Merge the drop handling code/menu's into one spot using a popup target for details */
/* Drop handling */ /* Drop handling */
@ -3415,9 +3427,10 @@
} }
static gboolean static gboolean
--- evolution-2.11.90/mail/em-folder-browser.c.kill-ethread 2007-08-09 02:46:46.000000000 -0400 diff -up evolution-2.11.91/mail/em-folder-browser.c.kill-ethread evolution-2.11.91/mail/em-folder-browser.c
+++ evolution-2.11.90/mail/em-folder-browser.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-folder-browser.c.kill-ethread 2007-08-27 01:55:18.000000000 -0400
@@ -836,7 +836,7 @@ get_view_query (ESearchBar *esb) +++ evolution-2.11.91/mail/em-folder-browser.c 2007-08-29 17:39:34.000000000 -0400
@@ -851,7 +851,7 @@ get_view_query (ESearchBar *esb)
struct _setup_msg { struct _setup_msg {
@ -3426,7 +3439,7 @@
CamelFolder *folder; CamelFolder *folder;
char *query; char *query;
@@ -844,16 +844,15 @@ struct _setup_msg { @@ -859,16 +859,15 @@ struct _setup_msg {
GList *sources_folder; GList *sources_folder;
}; };
@ -3446,7 +3459,7 @@
GList *l, *list = NULL; GList *l, *list = NULL;
CamelFolder *folder; CamelFolder *folder;
@@ -864,12 +863,12 @@ vfolder_setup_do(struct _mail_msg *mm) @@ -879,12 +878,12 @@ vfolder_setup_do(struct _mail_msg *mm)
l = m->sources_uri; l = m->sources_uri;
while (l) { while (l) {
d(printf(" Adding uri: %s\n", (char *)l->data)); d(printf(" Adding uri: %s\n", (char *)l->data));
@ -3461,7 +3474,7 @@
} }
l = l->next; l = l->next;
} }
@@ -893,17 +892,13 @@ vfolder_setup_do(struct _mail_msg *mm) @@ -908,17 +907,13 @@ vfolder_setup_do(struct _mail_msg *mm)
} }
static void static void
@ -3481,7 +3494,7 @@
GList *l; GList *l;
camel_object_unref(m->folder); camel_object_unref(m->folder);
@@ -924,11 +919,12 @@ vfolder_setup_free (struct _mail_msg *mm @@ -939,11 +934,12 @@ vfolder_setup_free (struct _mail_msg *mm
g_list_free(m->sources_folder); g_list_free(m->sources_folder);
} }
@ -3499,7 +3512,7 @@
}; };
/* sources_uri should be camel uri's */ /* sources_uri should be camel uri's */
@@ -938,15 +934,15 @@ vfolder_setup(CamelFolder *folder, const @@ -953,15 +949,15 @@ vfolder_setup(CamelFolder *folder, const
struct _setup_msg *m; struct _setup_msg *m;
int id; int id;
@ -3518,8 +3531,9 @@
return id; return id;
} }
--- evolution-2.11.90/mail/message-list.c.kill-ethread 2007-08-09 02:46:47.000000000 -0400 diff -up evolution-2.11.91/mail/message-list.c.kill-ethread evolution-2.11.91/mail/message-list.c
+++ evolution-2.11.90/mail/message-list.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/message-list.c.kill-ethread 2007-08-09 02:46:47.000000000 -0400
+++ evolution-2.11.91/mail/message-list.c 2007-08-29 17:39:34.000000000 -0400
@@ -1841,7 +1841,7 @@ ml_tree_drag_data_get (ETree *tree, int @@ -1841,7 +1841,7 @@ ml_tree_drag_data_get (ETree *tree, int
/* TODO: merge this with the folder tree stuff via empopup targets */ /* TODO: merge this with the folder tree stuff via empopup targets */
/* Drop handling */ /* Drop handling */
@ -3796,8 +3810,9 @@
m->ml = ml; m->ml = ml;
m->search = g_strdup (search); m->search = g_strdup (search);
m->hideexpr = g_strdup (hideexpr); m->hideexpr = g_strdup (hideexpr);
--- evolution-2.11.90/mail/em-sync-stream.h.kill-ethread 2007-07-05 02:09:39.000000000 -0400 diff -up evolution-2.11.91/mail/em-sync-stream.h.kill-ethread evolution-2.11.91/mail/em-sync-stream.h
+++ evolution-2.11.90/mail/em-sync-stream.h 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-sync-stream.h.kill-ethread 2007-07-05 02:09:39.000000000 -0400
+++ evolution-2.11.91/mail/em-sync-stream.h 2007-08-29 17:39:34.000000000 -0400
@@ -29,41 +29,45 @@ requests are always handled in the main @@ -29,41 +29,45 @@ requests are always handled in the main
#ifndef EM_SYNC_STREAM_H #ifndef EM_SYNC_STREAM_H
#define EM_SYNC_STREAM_H #define EM_SYNC_STREAM_H
@ -3874,8 +3889,9 @@
+G_END_DECLS +G_END_DECLS
#endif /* EM_SYNC_STREAM_H */ #endif /* EM_SYNC_STREAM_H */
--- evolution-2.11.90/mail/em-format-html-print.c.kill-ethread 2007-07-08 22:46:50.000000000 -0400 diff -up evolution-2.11.91/mail/em-format-html-print.c.kill-ethread evolution-2.11.91/mail/em-format-html-print.c
+++ evolution-2.11.90/mail/em-format-html-print.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-format-html-print.c.kill-ethread 2007-07-08 22:46:50.000000000 -0400
+++ evolution-2.11.91/mail/em-format-html-print.c 2007-08-29 17:39:34.000000000 -0400
@@ -228,7 +228,7 @@ em_format_html_print_message (EMFormatHT @@ -228,7 +228,7 @@ em_format_html_print_message (EMFormatHT
g_object_ref (efhp); g_object_ref (efhp);
@ -3885,8 +3901,9 @@
} }
void void
--- evolution-2.11.90/mail/em-sync-stream.c.kill-ethread 2007-07-05 02:09:38.000000000 -0400 diff -up evolution-2.11.91/mail/em-sync-stream.c.kill-ethread evolution-2.11.91/mail/em-sync-stream.c
+++ evolution-2.11.90/mail/em-sync-stream.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-sync-stream.c.kill-ethread 2007-07-05 02:09:38.000000000 -0400
+++ evolution-2.11.91/mail/em-sync-stream.c 2007-08-29 17:39:34.000000000 -0400
@@ -25,42 +25,17 @@ @@ -25,42 +25,17 @@
#include <config.h> #include <config.h>
#endif #endif
@ -4109,7 +4126,7 @@
static void static void
-sync_op(EMSyncStream *emss, enum _write_msg_t op, const char *data, size_t n) -sync_op(EMSyncStream *emss, enum _write_msg_t op, const char *data, size_t n)
+emss_sync_op (EMSyncStream *emss, enum _write_msg_t op, +emss_sync_op (EMSyncStream *emss, enum _write_msg_t op,
+ const gchar *string, gsize len) + const gchar *string, gsize len)
{ {
- struct _EMSyncStreamPrivate *p = emss->priv; - struct _EMSyncStreamPrivate *p = emss->priv;
struct _write_msg msg; struct _write_msg msg;
@ -4312,8 +4329,9 @@
+ g_string_free (emss->buffer, TRUE); + g_string_free (emss->buffer, TRUE);
+ emss->buffer = g_string_sized_new (size); + emss->buffer = g_string_sized_new (size);
} }
--- evolution-2.11.90/mail/em-subscribe-editor.c.kill-ethread 2007-07-05 02:09:37.000000000 -0400 diff -up evolution-2.11.91/mail/em-subscribe-editor.c.kill-ethread evolution-2.11.91/mail/em-subscribe-editor.c
+++ evolution-2.11.90/mail/em-subscribe-editor.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-subscribe-editor.c.kill-ethread 2007-08-24 02:49:43.000000000 -0400
+++ evolution-2.11.91/mail/em-subscribe-editor.c 2007-08-29 17:39:34.000000000 -0400
@@ -175,7 +175,7 @@ sub_unref(EMSubscribe *sub) @@ -175,7 +175,7 @@ sub_unref(EMSubscribe *sub)
/* ** Subscribe folder operation **************************************** */ /* ** Subscribe folder operation **************************************** */
@ -4529,8 +4547,9 @@
sub_unref(sub); sub_unref(sub);
} }
--- evolution-2.11.90/mail/mail-mt.h.kill-ethread 2007-07-05 02:09:38.000000000 -0400 diff -up evolution-2.11.91/mail/mail-mt.h.kill-ethread evolution-2.11.91/mail/mail-mt.h
+++ evolution-2.11.90/mail/mail-mt.h 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/mail-mt.h.kill-ethread 2007-07-05 02:09:38.000000000 -0400
+++ evolution-2.11.91/mail/mail-mt.h 2007-08-29 17:39:34.000000000 -0400
@@ -23,47 +23,64 @@ @@ -23,47 +23,64 @@
#ifndef _MAIL_MT #ifndef _MAIL_MT
#define _MAIL_MT #define _MAIL_MT
@ -4642,8 +4661,9 @@
/* A generic proxy event for anything that can be proxied during the life of the mailer (almost nothing) */ /* 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 */ /* Note that almost all objects care about the lifecycle of their events, so this cannot be used */
extern MailAsyncEvent *mail_async_event; extern MailAsyncEvent *mail_async_event;
--- evolution-2.11.90/mail/mail-ops.h.kill-ethread 2007-07-05 02:09:38.000000000 -0400 diff -up evolution-2.11.91/mail/mail-ops.h.kill-ethread evolution-2.11.91/mail/mail-ops.h
+++ evolution-2.11.90/mail/mail-ops.h 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/mail-ops.h.kill-ethread 2007-07-05 02:09:38.000000000 -0400
+++ evolution-2.11.91/mail/mail-ops.h 2007-08-29 17:39:34.000000000 -0400
@@ -30,13 +30,14 @@ extern "C" { @@ -30,13 +30,14 @@ extern "C" {
#pragma } #pragma }
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -4684,8 +4704,9 @@
/* and for a store */ /* and for a store */
int mail_get_store (const char *uri, CamelOperation *op, int mail_get_store (const char *uri, CamelOperation *op,
--- evolution-2.11.90/mail/em-composer-utils.c.kill-ethread 2007-07-28 15:37:58.000000000 -0400 diff -up evolution-2.11.91/mail/em-composer-utils.c.kill-ethread evolution-2.11.91/mail/em-composer-utils.c
+++ evolution-2.11.90/mail/em-composer-utils.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-composer-utils.c.kill-ethread 2007-08-24 02:49:43.000000000 -0400
+++ evolution-2.11.91/mail/em-composer-utils.c 2007-08-29 17:39:34.000000000 -0400
@@ -553,7 +553,7 @@ em_utils_composer_save_draft_cb (EMsgCom @@ -553,7 +553,7 @@ em_utils_composer_save_draft_cb (EMsgCom
strcmp (account->drafts_folder_uri, default_drafts_folder_uri) != 0) { strcmp (account->drafts_folder_uri, default_drafts_folder_uri) != 0) {
int id; int id;
@ -4729,8 +4750,9 @@
- mail_get_message (folder, uid, post_reply_to_message, NULL, mail_thread_new); - 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); + mail_get_message (folder, uid, post_reply_to_message, NULL, mail_msg_unordered_push);
} }
--- evolution-2.11.90/mail/mail-folder-cache.c.kill-ethread 2007-08-09 02:46:46.000000000 -0400 diff -up evolution-2.11.91/mail/mail-folder-cache.c.kill-ethread evolution-2.11.91/mail/mail-folder-cache.c
+++ evolution-2.11.90/mail/mail-folder-cache.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/mail-folder-cache.c.kill-ethread 2007-08-09 02:46:46.000000000 -0400
+++ evolution-2.11.91/mail/mail-folder-cache.c 2007-08-29 17:39:34.000000000 -0400
@@ -862,15 +862,14 @@ update_folders(CamelStore *store, CamelF @@ -862,15 +862,14 @@ update_folders(CamelStore *store, CamelF
@ -4816,8 +4838,9 @@
LOCK(info_lock); LOCK(info_lock);
--- evolution-2.11.90/mail/em-folder-view.c.kill-ethread 2007-08-09 02:46:46.000000000 -0400 diff -up evolution-2.11.91/mail/em-folder-view.c.kill-ethread evolution-2.11.91/mail/em-folder-view.c
+++ evolution-2.11.90/mail/em-folder-view.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/em-folder-view.c.kill-ethread 2007-08-27 01:55:18.000000000 -0400
+++ evolution-2.11.91/mail/em-folder-view.c 2007-08-29 17:39:34.000000000 -0400
@@ -71,6 +71,7 @@ @@ -71,6 +71,7 @@
#include <gtkhtml/gtkhtml-stream.h> #include <gtkhtml/gtkhtml-stream.h>
@ -4826,7 +4849,7 @@
#include "menus/gal-view-etable.h" #include "menus/gal-view-etable.h"
#include "menus/gal-view-factory-etable.h" #include "menus/gal-view-factory-etable.h"
@@ -701,7 +702,7 @@ emfv_got_folder(char *uri, CamelFolder * @@ -777,7 +778,7 @@ emfv_got_folder(char *uri, CamelFolder *
static void static void
emfv_set_folder_uri(EMFolderView *emfv, const char *uri) emfv_set_folder_uri(EMFolderView *emfv, const char *uri)
{ {
@ -4835,7 +4858,7 @@
} }
static void static void
@@ -1676,7 +1677,7 @@ filter_type_uid (CamelFolder *folder, co @@ -1752,7 +1753,7 @@ filter_type_uid (CamelFolder *folder, co
data->type = type; data->type = type;
data->source = source; data->source = source;
@ -4844,7 +4867,7 @@
} }
static void static void
@@ -1774,7 +1775,7 @@ vfolder_type_uid (CamelFolder *folder, c @@ -1850,7 +1851,7 @@ vfolder_type_uid (CamelFolder *folder, c
data->type = type; data->type = type;
data->uri = g_strdup (uri); data->uri = g_strdup (uri);
@ -4853,7 +4876,7 @@
} }
static void static void
@@ -2419,7 +2420,7 @@ emfv_message_selected_timeout(void *data @@ -2418,7 +2419,7 @@ emfv_message_selected_timeout(void *data
emfv->displayed_uid); emfv->displayed_uid);
gtk_html_stream_close(hstream, GTK_HTML_STREAM_OK); gtk_html_stream_close(hstream, GTK_HTML_STREAM_OK);
*/ */
@ -4862,8 +4885,9 @@
} else { } else {
e_profile_event_emit("goto.empty", "", 0); e_profile_event_emit("goto.empty", "", 0);
g_free(emfv->priv->selected_uid); g_free(emfv->priv->selected_uid);
--- evolution-2.11.90/mail/mail-session.c.kill-ethread 2007-07-09 01:14:13.000000000 -0400 diff -up evolution-2.11.91/mail/mail-session.c.kill-ethread evolution-2.11.91/mail/mail-session.c
+++ evolution-2.11.90/mail/mail-session.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/mail-session.c.kill-ethread 2007-08-27 01:55:18.000000000 -0400
+++ evolution-2.11.91/mail/mail-session.c 2007-08-29 17:39:34.000000000 -0400
@@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
#include <libgnome/gnome-sound.h> #include <libgnome/gnome-sound.h>
@ -4873,7 +4897,7 @@
#include <camel/camel.h> /* FIXME: this is where camel_init is defined, it shouldn't include everything else */ #include <camel/camel.h> /* FIXME: this is where camel_init is defined, it shouldn't include everything else */
#include <camel/camel-filter-driver.h> #include <camel/camel-filter-driver.h>
@@ -264,21 +264,22 @@ forget_password (CamelSession *session, @@ -264,148 +264,145 @@ forget_password (CamelSession *session,
/* ********************************************************************** */ /* ********************************************************************** */
@ -4900,13 +4924,15 @@
/* clicked, send back the reply */ /* clicked, send back the reply */
static void static void
@@ -286,122 +287,116 @@ user_message_response (GtkDialog *dialog user_message_response (GtkDialog *dialog, int button, struct _user_message_msg *m)
{ {
gtk_widget_destroy ((GtkWidget *) dialog); gtk_widget_destroy ((GtkWidget *) dialog);
-
- message_dialog = NULL; - message_dialog = NULL;
-
+
+ user_message_dialog = NULL; + user_message_dialog = NULL;
+
/* if !allow_cancel, then we've already replied */ /* if !allow_cancel, then we've already replied */
if (m->allow_cancel) { if (m->allow_cancel) {
m->result = button == GTK_RESPONSE_OK; m->result = button == GTK_RESPONSE_OK;
@ -4963,6 +4989,22 @@
- break; - break;
- default: - default:
- type = 0; - type = 0;
- }
-
- if (m->allow_cancel)
- type += 3;
-
- message_dialog = (GtkDialog *)e_error_new(NULL, error_type[type], m->prompt, NULL);
- g_object_set ((GObject *) message_dialog, "allow_shrink", TRUE, "allow_grow", TRUE, NULL);
-
- /* We only need to wait for the result if we allow cancel otherwise show but send result back instantly */
- if (m->allow_cancel) {
- if (m->ismain) {
- user_message_response(message_dialog, gtk_dialog_run (message_dialog), m);
- } else {
- g_signal_connect (message_dialog, "response", G_CALLBACK (user_message_response), m);
- gtk_widget_show ((GtkWidget *) message_dialog);
- }
+ case CAMEL_SESSION_ALERT_INFO: + case CAMEL_SESSION_ALERT_INFO:
+ error_type = m->allow_cancel ? + error_type = m->allow_cancel ?
+ "mail:session-message-info-cancel" : + "mail:session-message-info-cancel" :
@ -4980,36 +5022,27 @@
+ break; + break;
+ default: + default:
+ g_assert_not_reached (); + g_assert_not_reached ();
} + }
+
- if (m->allow_cancel) + user_message_dialog = e_error_new (NULL, error_type, m->prompt, NULL);
- type += 3; + g_object_set (
- + user_message_dialog, "allow_shrink", TRUE,
- message_dialog = (GtkDialog *)e_error_new(NULL, error_type[type], m->prompt, NULL); + "allow_grow", TRUE, NULL);
- g_object_set ((GObject *) message_dialog, "allow_shrink", TRUE, "allow_grow", TRUE, NULL); +
+ user_message_dialog = e_error_new(NULL, error_type, m->prompt, NULL); + /* We only need to wait for the result if we allow cancel
+ g_object_set (user_message_dialog, "allow_shrink", TRUE, "allow_grow", TRUE, NULL); + * otherwise show but send result back instantly */
+ if (m->allow_cancel && m->ismain) {
/* We only need to wait for the result if we allow cancel otherwise show but send result back instantly */ + gint response = gtk_dialog_run (user_message_dialog);
if (m->allow_cancel) { + user_message_response (user_message_dialog, response, m);
if (m->ismain) {
- user_message_response(message_dialog, gtk_dialog_run (message_dialog), m);
+ user_message_response(user_message_dialog, gtk_dialog_run (user_message_dialog), m);
} else {
- g_signal_connect (message_dialog, "response", G_CALLBACK (user_message_response), m);
- gtk_widget_show ((GtkWidget *) message_dialog);
+ g_signal_connect (user_message_dialog, "response", G_CALLBACK (user_message_response), m);
+ gtk_widget_show (user_message_dialog);
}
} else { } else {
- g_signal_connect (message_dialog, "response", G_CALLBACK (gtk_widget_destroy), message_dialog); - g_signal_connect (message_dialog, "response", G_CALLBACK (gtk_widget_destroy), message_dialog);
- g_object_weak_ref ((GObject *) message_dialog, (GWeakNotify) user_message_destroy_notify, m); - g_object_weak_ref ((GObject *) message_dialog, (GWeakNotify) user_message_destroy_notify, m);
- gtk_widget_show ((GtkWidget *) message_dialog); - gtk_widget_show ((GtkWidget *) message_dialog);
- mail_msg_free(m); - mail_msg_free(m);
+ g_signal_connect (user_message_dialog, "response", G_CALLBACK (gtk_widget_destroy), user_message_dialog); + g_signal_connect (
+ g_object_add_weak_pointer (user_message_dialog, &user_message_dialog); + user_message_dialog, "response",
+ G_CALLBACK (user_message_response), m);
+ gtk_widget_show (user_message_dialog); + gtk_widget_show (user_message_dialog);
+ mail_msg_unref(m);
} }
} }
@ -5038,8 +5071,9 @@
MailSession *mail_session = MAIL_SESSION (session); MailSession *mail_session = MAIL_SESSION (session);
- struct _user_message_msg *m, *r; - struct _user_message_msg *m, *r;
- EMsgPort *user_message_reply = NULL; - EMsgPort *user_message_reply = NULL;
- gboolean ret;
+ struct _user_message_msg *m; + struct _user_message_msg *m;
gboolean ret; + gboolean result = TRUE;
if (!mail_session->interactive) if (!mail_session->interactive)
return FALSE; return FALSE;
@ -5049,38 +5083,51 @@
- m = mail_msg_new (&user_message_op, user_message_reply, sizeof (*m)); - m = mail_msg_new (&user_message_op, user_message_reply, sizeof (*m));
- m->ismain = pthread_equal(pthread_self(), mail_gui_thread); - m->ismain = pthread_equal(pthread_self(), mail_gui_thread);
+ m = mail_msg_new (&user_message_info); + m = mail_msg_new (&user_message_info);
+ m->ismain = mail_in_main_thread(); + m->ismain = mail_in_main_thread ();
m->type = type; m->type = type;
m->prompt = g_strdup(prompt); - m->prompt = g_strdup(prompt);
+ m->prompt = g_strdup (prompt);
+ m->done = e_flag_new (); + m->done = e_flag_new ();
m->allow_cancel = cancel; m->allow_cancel = cancel;
- if (m->ismain)
- do_user_message((struct _mail_msg *)m);
- else {
- extern EMsgPort *mail_gui_port2;
+ if (cancel) + if (cancel)
+ mail_msg_ref (m); + mail_msg_ref (m);
+
if (m->ismain)
- do_user_message((struct _mail_msg *)m);
+ user_message_exec(m);
else {
- extern EMsgPort *mail_gui_port2;
-
- e_msgport_put(mail_gui_port2, (EMsg *)m); - e_msgport_put(mail_gui_port2, (EMsg *)m);
+ mail_msg_main_loop_push(mail_msg_ref (m)); - }
} + if (m->ismain)
+ user_message_exec (m);
+ else
+ mail_msg_main_loop_push (m);
if (cancel) { if (cancel) {
- r = (struct _user_message_msg *)e_msgport_wait(user_message_reply); - r = (struct _user_message_msg *)e_msgport_wait(user_message_reply);
- g_assert(m == r); - g_assert(m == r);
-
+ e_flag_wait (m->done); + e_flag_wait (m->done);
ret = m->result; + result = m->result;
+ mail_msg_unref (m);
+ }
- ret = m->result;
- mail_msg_free(m); - mail_msg_free(m);
- e_msgport_destroy(user_message_reply); - e_msgport_destroy(user_message_reply);
+ mail_msg_unref(m); - } else
} else - ret = TRUE;
ret = TRUE; + if (m->ismain) {
+ user_message_free (m);
+ mail_msg_unref (m);
+ }
@@ -541,7 +536,7 @@ get_filter_driver (CamelSession *session - return ret;
+ return result;
}
static CamelFolder *
@@ -541,7 +538,7 @@ get_filter_driver (CamelSession *session
/* TODO: This is very temporary, until we have a better way to do the progress reporting, /* TODO: This is very temporary, until we have a better way to do the progress reporting,
we just borrow a dummy mail-mt thread message and hook it onto out camel thread message */ we just borrow a dummy mail-mt thread message and hook it onto out camel thread message */
@ -5089,7 +5136,7 @@
static void *ms_thread_msg_new(CamelSession *session, CamelSessionThreadOps *ops, unsigned int size) static void *ms_thread_msg_new(CamelSession *session, CamelSessionThreadOps *ops, unsigned int size)
{ {
@@ -550,7 +545,7 @@ static void *ms_thread_msg_new(CamelSess @@ -550,7 +547,7 @@ static void *ms_thread_msg_new(CamelSess
/* We create a dummy mail_msg, and then copy its cancellation port over to ours, so /* We create a dummy mail_msg, and then copy its cancellation port over to ours, so
we get cancellation and progress in common with hte existing mail code, for free */ we get cancellation and progress in common with hte existing mail code, for free */
if (msg) { if (msg) {
@ -5098,7 +5145,7 @@
msg->data = m; msg->data = m;
camel_operation_unref(msg->op); camel_operation_unref(msg->op);
@@ -563,7 +558,7 @@ static void *ms_thread_msg_new(CamelSess @@ -563,7 +560,7 @@ static void *ms_thread_msg_new(CamelSess
static void ms_thread_msg_free(CamelSession *session, CamelSessionThreadMsg *m) static void ms_thread_msg_free(CamelSession *session, CamelSessionThreadMsg *m)
{ {
@ -5107,7 +5154,7 @@
ms_parent_class->thread_msg_free(session, m); ms_parent_class->thread_msg_free(session, m);
} }
@@ -686,22 +681,23 @@ mail_session_set_interactive (gboolean i @@ -686,22 +683,23 @@ mail_session_set_interactive (gboolean i
MAIL_SESSION (session)->interactive = interactive; MAIL_SESSION (session)->interactive = interactive;
if (!interactive) { if (!interactive) {
@ -5137,8 +5184,9 @@
} }
} }
} }
--- evolution-2.11.90/mail/mail-mt.c.kill-ethread 2007-07-05 02:09:38.000000000 -0400 diff -up evolution-2.11.91/mail/mail-mt.c.kill-ethread evolution-2.11.91/mail/mail-mt.c
+++ evolution-2.11.90/mail/mail-mt.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/mail/mail-mt.c.kill-ethread 2007-07-05 02:09:38.000000000 -0400
+++ evolution-2.11.91/mail/mail-mt.c 2007-08-29 17:39:34.000000000 -0400
@@ -29,8 +29,8 @@ @@ -29,8 +29,8 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <glib/gi18n.h> #include <glib/gi18n.h>
@ -6218,8 +6266,9 @@
} }
/* ******************** */ /* ******************** */
--- evolution-2.11.90/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread 2007-07-05 02:09:19.000000000 -0400 diff -up evolution-2.11.91/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread evolution-2.11.91/plugins/folder-unsubscribe/folder-unsubscribe.c
+++ evolution-2.11.90/plugins/folder-unsubscribe/folder-unsubscribe.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread 2007-07-05 02:09:19.000000000 -0400
+++ evolution-2.11.91/plugins/folder-unsubscribe/folder-unsubscribe.c 2007-08-29 17:39:34.000000000 -0400
@@ -44,32 +44,30 @@ void org_gnome_mail_folder_unsubscribe ( @@ -44,32 +44,30 @@ void org_gnome_mail_folder_unsubscribe (
@ -6299,8 +6348,9 @@
- e_thread_put (mail_thread_new, (EMsg *) unsub); - e_thread_put (mail_thread_new, (EMsg *) unsub);
+ mail_msg_unordered_push (unsub); + mail_msg_unordered_push (unsub);
} }
--- evolution-2.11.90/plugins/mark-all-read/mark-all-read.c.kill-ethread 2007-07-05 02:09:23.000000000 -0400 diff -up evolution-2.11.91/plugins/mark-all-read/mark-all-read.c.kill-ethread evolution-2.11.91/plugins/mark-all-read/mark-all-read.c
+++ evolution-2.11.90/plugins/mark-all-read/mark-all-read.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/plugins/mark-all-read/mark-all-read.c.kill-ethread 2007-07-05 02:09:23.000000000 -0400
+++ evolution-2.11.91/plugins/mark-all-read/mark-all-read.c 2007-08-29 17:39:34.000000000 -0400
@@ -44,7 +44,7 @@ org_gnome_mark_all_read (EPlugin *ep, EM @@ -44,7 +44,7 @@ org_gnome_mark_all_read (EPlugin *ep, EM
return; return;
} }
@ -6310,19 +6360,21 @@
} }
static void static void
--- evolution-2.11.90/plugins/exchange-operations/exchange-folder.c.kill-ethread 2007-07-05 02:09:22.000000000 -0400 diff -up evolution-2.11.91/plugins/exchange-operations/exchange-folder.c.kill-ethread evolution-2.11.91/plugins/exchange-operations/exchange-folder.c
+++ evolution-2.11.90/plugins/exchange-operations/exchange-folder.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/plugins/exchange-operations/exchange-folder.c.kill-ethread 2007-07-05 02:09:22.000000000 -0400
+++ evolution-2.11.91/plugins/exchange-operations/exchange-folder.c 2007-08-29 17:39:34.000000000 -0400
@@ -140,7 +140,7 @@ org_gnome_exchange_folder_inbox_unsubscr @@ -140,7 +140,7 @@ org_gnome_exchange_folder_inbox_unsubscr
inbox_physical_uri = e_folder_get_physical_uri (inbox); inbox_physical_uri = e_folder_get_physical_uri (inbox);
/* To get the CamelStore/Folder */ /* To get the CamelStore/Folder */
- mail_get_folder (inbox_physical_uri, 0, exchange_get_folder, target_uri, mail_thread_new); - mail_get_folder (inbox_physical_uri, 0, exchange_get_folder, target_uri, mail_thread_new);
+ mail_get_folder (inbox_physical_uri, 0, exchange_get_folder, target_uri, mail_msg_unordered_push); + mail_get_folder (inbox_physical_uri, 0, exchange_get_folder, target_uri, mail_msg_unordered_push);
} }
--- evolution-2.11.90/plugins/save-attachments/save-attachments.c.kill-ethread 2007-07-05 02:09:25.000000000 -0400 diff -up evolution-2.11.91/plugins/save-attachments/save-attachments.c.kill-ethread evolution-2.11.91/plugins/save-attachments/save-attachments.c
+++ evolution-2.11.90/plugins/save-attachments/save-attachments.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/plugins/save-attachments/save-attachments.c.kill-ethread 2007-07-05 02:09:25.000000000 -0400
+++ evolution-2.11.91/plugins/save-attachments/save-attachments.c 2007-08-29 17:39:34.000000000 -0400
@@ -403,5 +403,5 @@ org_gnome_save_attachments_save(EPlugin @@ -403,5 +403,5 @@ org_gnome_save_attachments_save(EPlugin
camel_object_ref(data->folder); camel_object_ref(data->folder);
data->uid = g_strdup(target->uids->pdata[0]); data->uid = g_strdup(target->uids->pdata[0]);
@ -6330,19 +6382,21 @@
- 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_thread_new);
+ mail_get_message(data->folder, data->uid, save_got_message, data, mail_msg_unordered_push); + mail_get_message(data->folder, data->uid, save_got_message, data, mail_msg_unordered_push);
} }
--- evolution-2.11.90/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread 2007-07-05 02:09:24.000000000 -0400 diff -up evolution-2.11.91/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread evolution-2.11.91/plugins/mailing-list-actions/mailing-list-actions.c
+++ evolution-2.11.90/plugins/mailing-list-actions/mailing-list-actions.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread 2007-07-05 02:09:24.000000000 -0400
+++ evolution-2.11.91/plugins/mailing-list-actions/mailing-list-actions.c 2007-08-29 17:39:34.000000000 -0400
@@ -89,7 +89,7 @@ void emla_list_action (EPlugin *item, EM @@ -89,7 +89,7 @@ void emla_list_action (EPlugin *item, EM
data->uri = strdup (sel->uri); data->uri = strdup (sel->uri);
mail_get_message (sel->folder, (const char*) g_ptr_array_index (sel->uids, 0), mail_get_message (sel->folder, (const char*) g_ptr_array_index (sel->uids, 0),
- emla_list_action_do, data, mail_thread_new); - emla_list_action_do, data, mail_thread_new);
+ emla_list_action_do, data, mail_msg_unordered_push); + emla_list_action_do, data, mail_msg_unordered_push);
} }
void emla_list_action_do (CamelFolder *folder, const char *uid, CamelMimeMessage *msg, void *data) void emla_list_action_do (CamelFolder *folder, const char *uid, CamelMimeMessage *msg, void *data)
--- evolution-2.11.90/plugins/groupwise-features/share-folder-common.c.kill-ethread 2007-07-05 02:09:21.000000000 -0400 diff -up evolution-2.11.91/plugins/groupwise-features/share-folder-common.c.kill-ethread evolution-2.11.91/plugins/groupwise-features/share-folder-common.c
+++ evolution-2.11.90/plugins/groupwise-features/share-folder-common.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/plugins/groupwise-features/share-folder-common.c.kill-ethread 2007-07-05 02:09:21.000000000 -0400
+++ evolution-2.11.91/plugins/groupwise-features/share-folder-common.c 2007-08-29 17:39:34.000000000 -0400
@@ -121,7 +121,7 @@ shared_folder_abort (EPlugin *ep, EConfi @@ -121,7 +121,7 @@ shared_folder_abort (EPlugin *ep, EConfi
} }
@ -6440,8 +6494,9 @@
return id; return id;
} }
--- evolution-2.11.90/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread 2007-07-05 02:11:11.000000000 -0400 diff -up evolution-2.11.91/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread evolution-2.11.91/calendar/gui/alarm-notify/alarm-notify.h
+++ evolution-2.11.90/calendar/gui/alarm-notify/alarm-notify.h 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread 2007-07-05 02:11:11.000000000 -0400
+++ evolution-2.11.91/calendar/gui/alarm-notify/alarm-notify.h 2007-08-29 17:39:34.000000000 -0400
@@ -39,19 +39,6 @@ typedef struct _AlarmNotifyClass AlarmNo @@ -39,19 +39,6 @@ typedef struct _AlarmNotifyClass AlarmNo
typedef struct _AlarmNotifyPrivate AlarmNotifyPrivate; typedef struct _AlarmNotifyPrivate AlarmNotifyPrivate;
@ -6462,8 +6517,9 @@
struct _AlarmNotify { struct _AlarmNotify {
BonoboObject object; BonoboObject object;
--- evolution-2.11.90/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread 2007-08-13 00:00:08.000000000 -0400 diff -up evolution-2.11.91/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread evolution-2.11.91/calendar/gui/alarm-notify/alarm-notify.c
+++ evolution-2.11.90/calendar/gui/alarm-notify/alarm-notify.c 2007-08-15 13:37:37.000000000 -0400 --- evolution-2.11.91/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread 2007-08-13 00:00:08.000000000 -0400
+++ evolution-2.11.91/calendar/gui/alarm-notify/alarm-notify.c 2007-08-29 17:39:34.000000000 -0400
@@ -45,10 +45,6 @@ struct _AlarmNotifyPrivate { @@ -45,10 +45,6 @@ struct _AlarmNotifyPrivate {
GMutex *mutex; GMutex *mutex;
}; };
@ -6576,8 +6632,9 @@
} }
static void static void
--- evolution-2.11.90/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread 2007-08-13 00:00:08.000000000 -0400 diff -up evolution-2.11.91/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread evolution-2.11.91/calendar/gui/alarm-notify/alarm-queue.c
+++ evolution-2.11.90/calendar/gui/alarm-notify/alarm-queue.c 2007-08-15 13:41:19.000000000 -0400 --- evolution-2.11.91/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread 2007-08-13 00:00:08.000000000 -0400
+++ evolution-2.11.91/calendar/gui/alarm-notify/alarm-queue.c 2007-08-29 17:39:34.000000000 -0400
@@ -97,9 +97,6 @@ static int tray_blink_id = -1; @@ -97,9 +97,6 @@ static int tray_blink_id = -1;
static int tray_blink_state = FALSE; static int tray_blink_state = FALSE;
static AlarmNotify *an; static AlarmNotify *an;
@ -6671,16 +6728,16 @@
- /* These two structures will be freed by the msg destroy function*/ - /* These two structures will be freed by the msg destroy function*/
- msg = malloc (sizeof (AlarmMsg)); - msg = malloc (sizeof (AlarmMsg));
- msg->receive_msg = midnight_refresh_async; - msg->receive_msg = midnight_refresh_async;
-
- list = malloc (sizeof (struct _midnight_refresh_msg));
+ struct _midnight_refresh_msg *msg; + struct _midnight_refresh_msg *msg;
- list = malloc (sizeof (struct _midnight_refresh_msg)); - list->remove = TRUE;
- msg->data = list;
+ msg = g_slice_new (struct _midnight_refresh_msg); + msg = g_slice_new (struct _midnight_refresh_msg);
+ msg->header.func = (MessageFunc) midnight_refresh_async; + msg->header.func = (MessageFunc) midnight_refresh_async;
+ msg->remove = TRUE; + msg->remove = TRUE;
- list->remove = TRUE;
- msg->data = list;
-
- d(printf("%s:%d (midnight_refresh_cb) - Invoking task for midnight refresh\n",__FILE__, __LINE__)); - d(printf("%s:%d (midnight_refresh_cb) - Invoking task for midnight refresh\n",__FILE__, __LINE__));
- e_thread_put(alarm_operation_thread, (EMsg *)msg); - e_thread_put(alarm_operation_thread, (EMsg *)msg);
+ message_push ((Message *) msg); + message_push ((Message *) msg);
@ -6734,7 +6791,8 @@
{ {
- AlarmMsg *msg; - AlarmMsg *msg;
- struct _query_msg *list; - struct _query_msg *list;
- + struct _query_msg *msg;
- /* These two structures will be freed by the msg destroy function*/ - /* These two structures will be freed by the msg destroy function*/
- msg = malloc (sizeof (AlarmMsg)); - msg = malloc (sizeof (AlarmMsg));
- msg->receive_msg = query_objects_changed_async; - msg->receive_msg = query_objects_changed_async;
@ -6743,8 +6801,7 @@
- list->objects = duplicate_ical (objects); - list->objects = duplicate_ical (objects);
- list->data = data; - list->data = data;
- msg->data = list; - msg->data = list;
+ struct _query_msg *msg; -
- d(printf("%s:%d (query_objects_changed_cb) - Posting a task\n",__FILE__, __LINE__)); - d(printf("%s:%d (query_objects_changed_cb) - Posting a task\n",__FILE__, __LINE__));
- e_thread_put(alarm_operation_thread, (EMsg *)msg); - e_thread_put(alarm_operation_thread, (EMsg *)msg);
+ msg = g_slice_new (struct _query_msg); + msg = g_slice_new (struct _query_msg);
@ -6941,16 +6998,16 @@
+tray_list_remove_icons (void) +tray_list_remove_icons (void)
{ {
- AlarmMsg *msg; - AlarmMsg *msg;
+ Message *msg; -
- /* These two structures will be freed by the msg destroy function*/ - /* These two structures will be freed by the msg destroy function*/
- msg = malloc (sizeof (AlarmMsg)); - msg = malloc (sizeof (AlarmMsg));
- msg->receive_msg = tray_list_remove_async; - msg->receive_msg = tray_list_remove_async;
+ Message *msg;
- msg->data = NULL;
+ msg = g_slice_new (Message); + msg = g_slice_new (Message);
+ msg->func = tray_list_remove_async; + msg->func = tray_list_remove_async;
- msg->data = NULL;
-
- d(printf("%s:%d (tray_list_remove_icons) - Posting a task\n",__FILE__, __LINE__)); - d(printf("%s:%d (tray_list_remove_icons) - Posting a task\n",__FILE__, __LINE__));
- e_thread_put(alarm_operation_thread, (EMsg *)msg); - e_thread_put(alarm_operation_thread, (EMsg *)msg);
+ message_push (msg); + message_push (msg);
@ -6991,13 +7048,13 @@
- list->data = data; - list->data = data;
- msg->data = list; - msg->data = list;
+ struct _tray_msg *msg; + struct _tray_msg *msg;
+
- d(printf("%s:%d (tray_list_remove_data) - Posting a task\n",__FILE__, __LINE__));
- e_thread_put(alarm_operation_thread, (EMsg *)msg);
+ msg = g_slice_new (struct _tray_msg); + msg = g_slice_new (struct _tray_msg);
+ msg->header.func = (MessageFunc) tray_list_remove_data_async; + msg->header.func = (MessageFunc) tray_list_remove_data_async;
+ msg->data = data; + msg->data = data;
+
- d(printf("%s:%d (tray_list_remove_data) - Posting a task\n",__FILE__, __LINE__));
- e_thread_put(alarm_operation_thread, (EMsg *)msg);
+ message_push ((Message *) msg); + message_push ((Message *) msg);
} }
@ -7143,17 +7200,17 @@
g_hash_table_remove (client_alarms_hash, client); g_hash_table_remove (client_alarms_hash, client);
+ +
+ g_slice_free (struct _alarm_client_msg, msg); + g_slice_free (struct _alarm_client_msg, msg);
} }
/** alarm_queue_remove_client /** alarm_queue_remove_client
@@ -2156,22 +2142,13 @@ alarm_queue_remove_async (EThread *e, Al @@ -2156,22 +2142,16 @@ alarm_queue_remove_async (EThread *e, Al
void void
alarm_queue_remove_client (ECal *client, gboolean immediately) alarm_queue_remove_client (ECal *client, gboolean immediately)
{ {
- AlarmMsg *msg; - AlarmMsg *msg;
- struct _alarm_client_msg *list; - struct _alarm_client_msg *list;
+ struct _alarm_client_msg *msg; + struct _alarm_client_msg *msg;
- /* These two structures will be freed by the msg destroy function*/ - /* These two structures will be freed by the msg destroy function*/
- msg = malloc (sizeof (AlarmMsg)); - msg = malloc (sizeof (AlarmMsg));
@ -7162,17 +7219,17 @@
- list = malloc (sizeof (struct _alarm_client_msg)); - list = malloc (sizeof (struct _alarm_client_msg));
- list->client = client; - list->client = client;
- msg->data = list; - msg->data = list;
- + msg = g_slice_new (struct _alarm_client_msg);
+ msg->header.func = (MessageFunc) alarm_queue_remove_async;
+ msg->client = client;
- d(printf("%s:%d (alarm_queue_remove_client) - Posting a task\n",__FILE__, __LINE__)); - d(printf("%s:%d (alarm_queue_remove_client) - Posting a task\n",__FILE__, __LINE__));
- if (immediately) if (immediately)
- alarm_queue_remove_async (NULL, msg, NULL); - alarm_queue_remove_async (NULL, msg, NULL);
- else + alarm_queue_remove_async (msg);
else
- e_thread_put(alarm_operation_thread, (EMsg *)msg); - e_thread_put(alarm_operation_thread, (EMsg *)msg);
+ msg = g_slice_new (struct _alarm_client_msg); + message_push ((Message *) msg);
+ msg->header.func = (MessageFunc) alarm_queue_remove_async;
+ msg->client = client;
+
+ message_push ((Message *) msg);
} }
/* Update non-time related variables for various structures on modification of an existing component /* Update non-time related variables for various structures on modification of an existing component

View File

@ -45,7 +45,7 @@
Name: evolution Name: evolution
Version: 2.11.91 Version: 2.11.91
Release: 2%{?dist} Release: 3%{?dist}
License: GPLv2 and GFDL+ License: GPLv2 and GFDL+
Group: Applications/Productivity Group: Applications/Productivity
Summary: GNOME's next-generation groupware suite Summary: GNOME's next-generation groupware suite
@ -698,6 +698,10 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/evolution/%{evo_major}/libmenus.so %{_libdir}/evolution/%{evo_major}/libmenus.so
%changelog %changelog
* Wed Aug 29 2007 Matthew Barnes <mbarnes@redhat.com> - 2.11.91-3.fc8
- Revise patch for GNOME bug #362638 to fix GNOME bug #357175
(Evolution fails to close after IMAP alert has been displayed).
* Tue Aug 28 2007 Matthew Barnes <mbarnes@redhat.com> - 2.11.91-2.fc8 * Tue Aug 28 2007 Matthew Barnes <mbarnes@redhat.com> - 2.11.91-2.fc8
- Fix compilation breakage caused by our strict build settings. - Fix compilation breakage caused by our strict build settings.