rpms/evolution/devel evolution-2.8.1-kill-ethread.patch, 1.3, 1.4 evolution.spec, 1.243, 1.244

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Apr 11 03:11:37 UTC 2007


Author: mbarnes

Update of /cvs/dist/rpms/evolution/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv20018

Modified Files:
	evolution-2.8.1-kill-ethread.patch evolution.spec 
Log Message:

* Tue Apr 10 2007 Matthew Barnes <mbarnes at redhat.com> - 2.10.1-2.fc7
- Revise patch for GNOME bug #362638 to fix RH bug #235096
  (crash when displaying a mail server message to user).


evolution-2.8.1-kill-ethread.patch:
 calendar/gui/alarm-notify/alarm-notify.c            |   85 ----
 calendar/gui/alarm-notify/alarm-notify.h            |   13 
 calendar/gui/alarm-notify/alarm-queue.c             |  320 ++++++++---------
 mail/em-composer-utils.c                            |   10 
 mail/em-folder-browser.c                            |    2 
 mail/em-folder-properties.c                         |    2 
 mail/em-folder-tree.c                               |    4 
 mail/em-folder-utils.c                              |    4 
 mail/em-folder-view.c                               |    9 
 mail/em-format-html-print.c                         |    2 
 mail/em-format-html.c                               |    2 
 mail/em-subscribe-editor.c                          |    6 
 mail/em-sync-stream.c                               |  344 +++++-------------
 mail/em-sync-stream.h                               |   64 +--
 mail/importers/elm-importer.c                       |    2 
 mail/importers/mail-importer.c                      |    2 
 mail/importers/pine-importer.c                      |    2 
 mail/mail-component.c                               |    2 
 mail/mail-folder-cache.c                            |    4 
 mail/mail-mt.c                                      |  372 ++++++++------------
 mail/mail-mt.h                                      |   35 -
 mail/mail-ops.c                                     |   50 +-
 mail/mail-ops.h                                     |    9 
 mail/mail-send-recv.c                               |    2 
 mail/mail-session.c                                 |   86 +---
 mail/mail-vfolder.c                                 |   10 
 mail/message-list.c                                 |    4 
 plugins/exchange-operations/exchange-folder.c       |    2 
 plugins/folder-unsubscribe/folder-unsubscribe.c     |    2 
 plugins/groupwise-features/share-folder-common.c    |    2 
 plugins/mailing-list-actions/mailing-list-actions.c |    2 
 plugins/mark-all-read/mark-all-read.c               |    2 
 plugins/save-attachments/save-attachments.c         |    2 
 33 files changed, 574 insertions(+), 885 deletions(-)

Index: evolution-2.8.1-kill-ethread.patch
===================================================================
RCS file: /cvs/dist/rpms/evolution/devel/evolution-2.8.1-kill-ethread.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- evolution-2.8.1-kill-ethread.patch	31 Mar 2007 00:50:38 -0000	1.3
+++ evolution-2.8.1-kill-ethread.patch	11 Apr 2007 03:11:35 -0000	1.4
@@ -1,5 +1,5 @@
---- evolution-2.10.0/mail/mail-send-recv.c.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/mail-send-recv.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/mail-send-recv.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/mail-send-recv.c	2007-04-10 22:37:49.000000000 -0400
 @@ -819,7 +819,7 @@
  		m->folders = folders;
  		m->info = sinfo;
@@ -9,8 +9,8 @@
  	} else {
  		receive_done ("", data);
  	}
---- evolution-2.10.0/mail/mail-component.c.kill-ethread	2007-03-12 16:13:58.000000000 -0400
-+++ evolution-2.10.0/mail/mail-component.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/mail-component.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/mail-component.c	2007-04-10 22:37:49.000000000 -0400
 @@ -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.10.0/mail/mail-ops.c.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/mail-ops.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/mail-ops.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/mail-ops.c	2007-04-10 22:37:49.000000000 -0400
 @@ -221,7 +221,7 @@
  		camel_filter_driver_remove_rule_by_name (m->driver, "new-mail-notification");
  	}
@@ -247,8 +247,8 @@
  
  	return id;
  }
---- evolution-2.10.0/mail/em-folder-utils.c.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/em-folder-utils.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/em-folder-utils.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-folder-utils.c	2007-04-10 22:37:49.000000000 -0400
 @@ -260,7 +260,7 @@
  	m->delete = delete;
  	seq = m->msg.seq;
@@ -267,8 +267,8 @@
  	
  	return id;
  }
---- evolution-2.10.0/mail/importers/elm-importer.c.kill-ethread	2007-01-03 10:34:11.000000000 -0500
-+++ evolution-2.10.0/mail/importers/elm-importer.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/importers/elm-importer.c.kill-ethread	2007-04-09 09:09:26.000000000 -0400
++++ evolution-2.10.1/mail/importers/elm-importer.c	2007-04-10 22:37:49.000000000 -0400
 @@ -312,7 +312,7 @@
  
  	id = m->msg.seq;
@@ -278,8 +278,8 @@
  
  	return id;
  }
---- evolution-2.10.0/mail/importers/mail-importer.c.kill-ethread	2007-01-03 10:34:11.000000000 -0500
-+++ evolution-2.10.0/mail/importers/mail-importer.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/importers/mail-importer.c.kill-ethread	2007-04-09 09:09:26.000000000 -0400
++++ evolution-2.10.1/mail/importers/mail-importer.c	2007-04-10 22:37:49.000000000 -0400
 @@ -329,7 +329,7 @@
  	}
  
@@ -289,8 +289,8 @@
  
  	return id;
  }
---- evolution-2.10.0/mail/importers/pine-importer.c.kill-ethread	2007-01-03 10:34:11.000000000 -0500
-+++ evolution-2.10.0/mail/importers/pine-importer.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/importers/pine-importer.c.kill-ethread	2007-04-09 09:09:26.000000000 -0400
++++ evolution-2.10.1/mail/importers/pine-importer.c	2007-04-10 22:37:49.000000000 -0400
 @@ -350,7 +350,7 @@
  
  	id = m->msg.seq;
@@ -300,8 +300,8 @@
  
  	return id;
  }
---- evolution-2.10.0/mail/mail-vfolder.c.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/mail-vfolder.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/mail-vfolder.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/mail-vfolder.c	2007-04-10 22:37:49.000000000 -0400
 @@ -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.10.0/mail/em-format-html.c.kill-ethread	2007-02-26 04:59:59.000000000 -0500
-+++ evolution-2.10.0/mail/em-format-html.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/em-format-html.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-format-html.c	2007-04-10 22:37:49.000000000 -0400
 @@ -1375,7 +1375,7 @@
  		}
  		
@@ -358,9 +358,9 @@
  	}
  
  	efh->priv->format_timeout_id = 0;
---- evolution-2.10.0/mail/em-folder-properties.c.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/em-folder-properties.c	2007-03-30 15:47:31.000000000 -0400
-@@ -379,7 +379,7 @@
+--- evolution-2.10.1/mail/em-folder-properties.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-folder-properties.c	2007-04-10 22:37:49.000000000 -0400
+@@ -386,7 +386,7 @@
  	}
  
  	if (folder == NULL)
@@ -369,9 +369,9 @@
  	else
  		emfp_dialog_got_folder((char *)uri, folder, NULL);
  }
---- evolution-2.10.0/mail/em-folder-tree.c.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/em-folder-tree.c	2007-03-30 15:47:31.000000000 -0400
-@@ -966,7 +966,7 @@
+--- evolution-2.10.1/mail/em-folder-tree.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-folder-tree.c	2007-04-10 22:37:49.000000000 -0400
+@@ -969,7 +969,7 @@
  tree_drag_data_action(struct _DragDataReceivedAsync *m)
  {
  	m->move = m->action == GDK_ACTION_MOVE;
@@ -380,7 +380,7 @@
  }
  
  static void
-@@ -1891,7 +1891,7 @@
+@@ -1915,7 +1915,7 @@
  	m->top = full_name;
  	m->flags = CAMEL_STORE_FOLDER_INFO_RECURSIVE|CAMEL_STORE_FOLDER_INFO_FAST;
  	
@@ -389,8 +389,8 @@
  }
  
  static gboolean
---- evolution-2.10.0/mail/em-folder-browser.c.kill-ethread	2007-02-26 04:59:59.000000000 -0500
-+++ evolution-2.10.0/mail/em-folder-browser.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/em-folder-browser.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-folder-browser.c	2007-04-10 22:37:49.000000000 -0400
 @@ -948,7 +948,7 @@
  	m->sources_folder = sources_folder;
  	
@@ -400,9 +400,9 @@
  
  	return id;
  }
---- evolution-2.10.0/mail/message-list.c.kill-ethread	2007-01-23 03:23:43.000000000 -0500
-+++ evolution-2.10.0/mail/message-list.c	2007-03-30 15:47:31.000000000 -0400
-@@ -1888,7 +1888,7 @@
+--- evolution-2.10.1/mail/message-list.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/message-list.c	2007-04-10 22:37:49.000000000 -0400
+@@ -1889,7 +1889,7 @@
  ml_drop_action(struct _drop_msg *m)
  {
  	m->move = m->action == GDK_ACTION_MOVE;
@@ -411,7 +411,7 @@
  }
  
  static void
-@@ -3922,7 +3922,7 @@
+@@ -3978,7 +3978,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,8 +420,8 @@
  
  	m->ml->regen_timeout_msg = NULL;
  	m->ml->regen_timeout_id = 0;
---- evolution-2.10.0/mail/em-sync-stream.h.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/em-sync-stream.h	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/em-sync-stream.h.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-sync-stream.h	2007-04-10 22:37:49.000000000 -0400
 @@ -29,41 +29,45 @@
  #ifndef EM_SYNC_STREAM_H
  #define EM_SYNC_STREAM_H
@@ -498,8 +498,8 @@
 +G_END_DECLS
  
  #endif /* EM_SYNC_STREAM_H */
---- evolution-2.10.0/mail/em-format-html-print.c.kill-ethread	2007-02-26 04:59:59.000000000 -0500
-+++ evolution-2.10.0/mail/em-format-html-print.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/em-format-html-print.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-format-html-print.c	2007-04-10 22:37:49.000000000 -0400
 @@ -262,7 +262,7 @@
  		g_object_ref(source);
  	g_object_ref(efhp);
@@ -509,8 +509,8 @@
  
  	return 0;		/* damn async ... */
  }
---- evolution-2.10.0/mail/em-sync-stream.c.kill-ethread	2007-02-26 04:59:59.000000000 -0500
-+++ evolution-2.10.0/mail/em-sync-stream.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/em-sync-stream.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-sync-stream.c	2007-04-10 22:37:49.000000000 -0400
 @@ -25,42 +25,17 @@
  #include <config.h>
  #endif
@@ -936,8 +936,8 @@
 +		g_string_free (emss->buffer, TRUE);
 +	emss->buffer = g_string_sized_new (size);
  }
---- evolution-2.10.0/mail/em-subscribe-editor.c.kill-ethread	2007-01-08 11:54:43.000000000 -0500
-+++ evolution-2.10.0/mail/em-subscribe-editor.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/em-subscribe-editor.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-subscribe-editor.c	2007-04-10 22:37:49.000000000 -0400
 @@ -229,7 +229,7 @@
  	next = (struct _zsubscribe_msg *)e_dlist_remhead(&m->sub->subscribe);
  	if (next) {
@@ -965,8 +965,8 @@
  	return id;
  }
  
---- evolution-2.10.0/mail/mail-mt.h.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/mail-mt.h	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/mail-mt.h.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/mail-mt.h	2007-04-10 22:37:49.000000000 -0400
 @@ -25,14 +25,15 @@
  
  #include <pthread.h>
@@ -1037,8 +1037,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.10.0/mail/mail-ops.h.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/mail-ops.h	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/mail-ops.h.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/mail-ops.h	2007-04-10 22:37:49.000000000 -0400
 @@ -30,13 +30,14 @@
  #pragma }
  #endif /* __cplusplus */
@@ -1079,8 +1079,8 @@
  
  /* and for a store */
  int mail_get_store (const char *uri, CamelOperation *op,
---- evolution-2.10.0/mail/em-composer-utils.c.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/em-composer-utils.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/em-composer-utils.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-composer-utils.c	2007-04-10 22:37:49.000000000 -0400
 @@ -534,7 +534,7 @@
  	    strcmp (account->drafts_folder_uri, default_drafts_folder_uri) != 0) {
  		int id;
@@ -1124,8 +1124,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.10.0/mail/mail-folder-cache.c.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/mail-folder-cache.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/mail-folder-cache.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/mail-folder-cache.c	2007-04-10 22:37:49.000000000 -0400
 @@ -907,7 +907,7 @@
  	m->store = store;
  	camel_object_ref (store);
@@ -1144,8 +1144,8 @@
  
  	LOCK(info_lock);
  
---- evolution-2.10.0/mail/em-folder-view.c.kill-ethread	2007-03-01 01:06:14.000000000 -0500
-+++ evolution-2.10.0/mail/em-folder-view.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/em-folder-view.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/em-folder-view.c	2007-04-10 22:37:49.000000000 -0400
 @@ -68,6 +68,7 @@
  #include <gtkhtml/gtkhtml-stream.h>
  
@@ -1190,8 +1190,8 @@
  		} else {
  			e_profile_event_emit("goto.empty", "", 0);
  			g_free(emfv->priv->selected_uid);
---- evolution-2.10.0/mail/mail-session.c.kill-ethread	2007-02-26 04:59:59.000000000 -0500
-+++ evolution-2.10.0/mail/mail-session.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/mail-session.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/mail-session.c	2007-04-10 22:37:49.000000000 -0400
 @@ -35,7 +35,7 @@
  #include <libgnome/gnome-sound.h>
  
@@ -1201,6 +1201,15 @@
  
  #include <camel/camel.h>	/* FIXME: this is where camel_init is defined, it shouldn't include everything else */
  #include <camel/camel-filter-driver.h>
+@@ -256,7 +256,7 @@
+ 
+ /* ********************************************************************** */
+ 
+-static GtkDialog *message_dialog;
++static gpointer message_dialog;
+ static EDList message_list = E_DLIST_INITIALISER(message_list);
+ 
+ struct _user_message_msg {
 @@ -283,7 +283,7 @@
  	/* if !allow_cancel, then we've already replied */
  	if (m->allow_cancel) {
@@ -1210,7 +1219,92 @@
  	}
  	
  	/* check for pendings */
-@@ -364,17 +364,18 @@
+@@ -292,22 +292,10 @@
+ }
+ 
+ static void
+-user_message_destroy_notify (struct _user_message_msg *m, GObject *deadbeef)
+-{
+-	message_dialog = NULL;
+-}
+-
+-/* This is kinda ugly/inefficient, but oh well, it works */
+-static const char *error_type[] = {
+-	"mail:session-message-info", "mail:session-message-warning", "mail:session-message-error",
+-	"mail:session-message-info-cancel", "mail:session-message-warning-cancel", "mail:session-message-error-cancel"
+-};
+-
+-static void
+ do_user_message (struct _mail_msg *mm)
+ {
+ 	struct _user_message_msg *m = (struct _user_message_msg *)mm;
+-	int type;
++	const gchar *error_type;
+ 	
+ 	if (!m->ismain && message_dialog != NULL) {
+ 		e_dlist_addtail (&message_list, (EDListNode *)m);
+@@ -315,24 +303,27 @@
+ 	}
+ 	
+ 	switch (m->type) {
+-	case CAMEL_SESSION_ALERT_INFO:
+-		type = 0;
+-		break;
+-	case CAMEL_SESSION_ALERT_WARNING:
+-		type = 1;
+-		break;
+-	case CAMEL_SESSION_ALERT_ERROR:
+-		type = 2;
+-		break;
+-	default:
+-		type = 0;
++		case CAMEL_SESSION_ALERT_INFO:
++			error_type = m->allow_cancel ?
++				"mail:session-message-info-cancel" :
++				"mail:session-message-info";
++			break;
++		case CAMEL_SESSION_ALERT_WARNING:
++			error_type = m->allow_cancel ?
++				"mail:session-message-warning-cancel" :
++				"mail:session-message-warning";
++			break;
++		case CAMEL_SESSION_ALERT_ERROR:
++			error_type = m->allow_cancel ?
++				"mail:session-message-error-cancel" :
++				"mail:session-message-error";
++			break;
++		default:
++			g_assert_not_reached ();
+ 	}
+ 
+-	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);
++	message_dialog = e_error_new(NULL, error_type, m->prompt, NULL);
++	g_object_set (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) {
+@@ -340,12 +331,13 @@
+ 			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);
++			gtk_widget_show (message_dialog);
+ 		}
+ 	} else {
+ 		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);
+-		gtk_widget_show ((GtkWidget *) message_dialog);
++		g_object_add_weak_pointer (message_dialog, &message_dialog);
++		gtk_widget_show (message_dialog);
++		e_flag_free (mm->processed);
+ 		mail_msg_free(m);
+ 	}
+ }
+@@ -364,17 +356,17 @@
  alert_user(CamelSession *session, CamelSessionAlertType type, const char *prompt, gboolean cancel)
  {
  	MailSession *mail_session = MAIL_SESSION (session);
@@ -1223,18 +1317,18 @@
  	if (!mail_session->interactive)
  		return FALSE;
  
- 	if (cancel)
+-	if (cancel)
 -		user_message_reply = e_msgport_new ();	
 -	m = mail_msg_new (&user_message_op, user_message_reply, sizeof (*m));
 -	m->ismain = pthread_equal(pthread_self(), mail_gui_thread);
-+		processed = e_flag_new ();
++	processed = e_flag_new ();
 +
 +	m = mail_msg_new (&user_message_op, processed, sizeof (*m));
 +	m->ismain = mail_in_main_thread();
  	m->type = type;
  	m->prompt = g_strdup(prompt);
  	m->allow_cancel = cancel;
-@@ -382,18 +383,14 @@
+@@ -382,18 +374,14 @@
  	if (m->ismain)
  		do_user_message((struct _mail_msg *)m);
  	else {
@@ -1249,14 +1343,14 @@
 -		g_assert(m == r);
 -
 +		e_flag_wait (processed);
++		e_flag_free (processed);
  		ret = m->result;
  		mail_msg_free(m);
 -		e_msgport_destroy(user_message_reply);
-+		e_flag_free (processed);
  	} else
  		ret = TRUE;
  
-@@ -686,7 +683,7 @@
+@@ -687,7 +675,7 @@
  		/* flush/cancel pending user messages */
  		while ((um = (struct _user_message_msg *) e_dlist_remhead (&message_list))) {
  			d(printf ("Flusing message request: %s\n", um->prompt));
@@ -1265,8 +1359,8 @@
  		}
  		
  		/* and the current */
---- evolution-2.10.0/mail/mail-mt.c.kill-ethread	2007-01-03 10:34:12.000000000 -0500
-+++ evolution-2.10.0/mail/mail-mt.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/mail/mail-mt.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.1/mail/mail-mt.c	2007-04-10 22:37:49.000000000 -0400
 @@ -29,7 +29,6 @@
  #include <gtk/gtk.h>
  #include <libgnome/gnome-i18n.h>
@@ -1811,8 +1905,8 @@
  }
  
  /* ******************** */
---- evolution-2.10.0/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread	2007-01-03 10:34:02.000000000 -0500
-+++ evolution-2.10.0/plugins/folder-unsubscribe/folder-unsubscribe.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread	2007-04-09 09:09:11.000000000 -0400
++++ evolution-2.10.1/plugins/folder-unsubscribe/folder-unsubscribe.c	2007-04-10 22:37:49.000000000 -0400
 @@ -108,5 +108,5 @@
  	unsub = mail_msg_new (&unsubscribe_op, NULL, sizeof (struct _folder_unsub_t));
  	unsub->uri = g_strdup (target->uri);
@@ -1820,8 +1914,8 @@
 -	e_thread_put (mail_thread_new, (EMsg *) unsub);
 +	mail_msg_unordered_push ((mail_msg_t *) unsub);
  }
---- evolution-2.10.0/plugins/mark-all-read/mark-all-read.c.kill-ethread	2007-01-03 10:34:03.000000000 -0500
-+++ evolution-2.10.0/plugins/mark-all-read/mark-all-read.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/plugins/mark-all-read/mark-all-read.c.kill-ethread	2007-04-09 09:09:14.000000000 -0400
++++ evolution-2.10.1/plugins/mark-all-read/mark-all-read.c	2007-04-10 22:37:49.000000000 -0400
 @@ -44,7 +44,7 @@
  		return;
  	}
@@ -1831,8 +1925,8 @@
  }
  
  static void
---- evolution-2.10.0/plugins/exchange-operations/exchange-folder.c.kill-ethread	2007-01-03 10:34:03.000000000 -0500
-+++ evolution-2.10.0/plugins/exchange-operations/exchange-folder.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/plugins/exchange-operations/exchange-folder.c.kill-ethread	2007-04-09 09:09:13.000000000 -0400
++++ evolution-2.10.1/plugins/exchange-operations/exchange-folder.c	2007-04-10 22:37:49.000000000 -0400
 @@ -134,7 +134,7 @@
  	inbox_physical_uri = e_folder_get_physical_uri (inbox);
  
@@ -1842,8 +1936,8 @@
  
  
  }
---- evolution-2.10.0/plugins/save-attachments/save-attachments.c.kill-ethread	2007-02-26 04:59:58.000000000 -0500
-+++ evolution-2.10.0/plugins/save-attachments/save-attachments.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/plugins/save-attachments/save-attachments.c.kill-ethread	2007-04-09 09:09:15.000000000 -0400
++++ evolution-2.10.1/plugins/save-attachments/save-attachments.c	2007-04-10 22:37:49.000000000 -0400
 @@ -407,5 +407,5 @@
  	camel_object_ref(data->folder);
  	data->uid = g_strdup(target->uids->pdata[0]);
@@ -1851,8 +1945,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.10.0/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread	2007-01-03 10:34:04.000000000 -0500
-+++ evolution-2.10.0/plugins/mailing-list-actions/mailing-list-actions.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread	2007-04-09 09:09:14.000000000 -0400
++++ evolution-2.10.1/plugins/mailing-list-actions/mailing-list-actions.c	2007-04-10 22:37:49.000000000 -0400
 @@ -89,7 +89,7 @@
  	data->uri = strdup (sel->uri);
  
@@ -1862,8 +1956,8 @@
  }
  	
  void emla_list_action_do (CamelFolder *folder, const char *uid, CamelMimeMessage *msg, void *data)
---- evolution-2.10.0/plugins/groupwise-features/share-folder-common.c.kill-ethread	2007-01-03 10:34:02.000000000 -0500
-+++ evolution-2.10.0/plugins/groupwise-features/share-folder-common.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/plugins/groupwise-features/share-folder-common.c.kill-ethread	2007-04-09 09:09:12.000000000 -0400
++++ evolution-2.10.1/plugins/groupwise-features/share-folder-common.c	2007-04-10 22:37:49.000000000 -0400
 @@ -239,7 +239,7 @@
  	m->done = done;
  	g_free (namebuf);
@@ -1873,8 +1967,8 @@
  		
  	return id;
  }
---- evolution-2.10.0/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread	2007-01-03 10:34:50.000000000 -0500
-+++ evolution-2.10.0/calendar/gui/alarm-notify/alarm-notify.h	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread	2007-04-09 09:10:29.000000000 -0400
++++ evolution-2.10.1/calendar/gui/alarm-notify/alarm-notify.h	2007-04-10 22:37:49.000000000 -0400
 @@ -39,19 +39,6 @@
  
  typedef struct _AlarmNotifyPrivate AlarmNotifyPrivate;
@@ -1895,8 +1989,8 @@
  struct _AlarmNotify {
  	BonoboObject object;
  
---- evolution-2.10.0/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread	2007-01-03 10:34:50.000000000 -0500
-+++ evolution-2.10.0/calendar/gui/alarm-notify/alarm-notify.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread	2007-04-09 09:10:29.000000000 -0400
++++ evolution-2.10.1/calendar/gui/alarm-notify/alarm-notify.c	2007-04-10 22:37:49.000000000 -0400
 @@ -45,10 +45,6 @@
          GMutex *mutex;
  };
@@ -2009,8 +2103,8 @@
  }
  
  static void
---- evolution-2.10.0/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread	2007-01-03 10:34:50.000000000 -0500
-+++ evolution-2.10.0/calendar/gui/alarm-notify/alarm-queue.c	2007-03-30 15:47:31.000000000 -0400
+--- evolution-2.10.1/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread	2007-04-09 09:10:29.000000000 -0400
++++ evolution-2.10.1/calendar/gui/alarm-notify/alarm-queue.c	2007-04-10 22:37:49.000000000 -0400
 @@ -115,9 +115,6 @@
  static int tray_blink_state = FALSE;
  static AlarmNotify *an;


Index: evolution.spec
===================================================================
RCS file: /cvs/dist/rpms/evolution/devel/evolution.spec,v
retrieving revision 1.243
retrieving revision 1.244
diff -u -r1.243 -r1.244
--- evolution.spec	10 Apr 2007 03:16:52 -0000	1.243
+++ evolution.spec	11 Apr 2007 03:11:35 -0000	1.244
@@ -47,7 +47,7 @@
 
 Name: evolution
 Version: 2.10.1
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: GPL
 Group: Applications/Productivity
 Summary: GNOME's next-generation groupware suite
@@ -730,6 +730,10 @@
 %{_libdir}/evolution/%{evo_major}/libmenus.so
 
 %changelog
+* Tue Apr 10 2007 Matthew Barnes <mbarnes at redhat.com> - 2.10.1-2.fc7
+- Revise patch for GNOME bug #362638 to fix RH bug #235096
+  (crash when displaying a mail server message to user).
+
 * Mon Apr 09 2007 Matthew Barnes <mbarnes at redhat.com> - 2.10.1-1.fc7
 - Update to 2.10.1
 - Fix buggy gnome-doc-utils.make (GNOME bug #427939).




More information about the fedora-cvs-commits mailing list