rpms/evolution/F-7 evolution-2.8.1-kill-ethread.patch, 1.8, 1.9 evolution.spec, 1.267, 1.268

Matthew Barnes (mbarnes) fedora-extras-commits at redhat.com
Thu Aug 30 02:13:33 UTC 2007


Author: mbarnes

Update of /cvs/pkgs/rpms/evolution/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26117

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

* Wed Aug 29 2007 Matthew Barnes <mbarnes at redhat.com> - 2.10.3-4.fc7
- Revise patch for GNOME bug #362638 to fix GNOME bug #357175
  (Evolution fails to close after IMAP alert has been displayed).


evolution-2.8.1-kill-ethread.patch:

Index: evolution-2.8.1-kill-ethread.patch
===================================================================
RCS file: /cvs/pkgs/rpms/evolution/F-7/evolution-2.8.1-kill-ethread.patch,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- evolution-2.8.1-kill-ethread.patch	14 Jul 2007 19:48:34 -0000	1.8
+++ evolution-2.8.1-kill-ethread.patch	30 Aug 2007 02:13:30 -0000	1.9
@@ -1,5 +1,6 @@
---- evolution-2.10.2/mail/mail-send-recv.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/mail-send-recv.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/mail-send-recv.c.kill-ethread evolution-2.10.3/mail/mail-send-recv.c
+--- evolution-2.10.3/mail/mail-send-recv.c.kill-ethread	2007-06-30 15:22:35.000000000 -0400
++++ evolution-2.10.3/mail/mail-send-recv.c	2007-08-29 18:13:23.000000000 -0400
 @@ -725,23 +725,22 @@ receive_get_folder(CamelFilterDriver *d,
  /* ********************************************************************** */
  
@@ -27,8 +28,8 @@
 -	struct _refresh_folders_msg *m = (struct _refresh_folders_msg *)mm;
  	int i;
  	CamelFolder *folder;
- 
-@@ -757,17 +756,14 @@ refresh_folders_get (struct _mail_msg *m
+ 	CamelException ex = CAMEL_EXCEPTION_INITIALISER;
+@@ -761,17 +760,14 @@ refresh_folders_get (struct _mail_msg *m
  }
  
  static void
@@ -48,7 +49,7 @@
  	int i;
  
  	for (i=0;i<m->folders->len;i++)
-@@ -776,11 +772,12 @@ refresh_folders_free (struct _mail_msg *
+@@ -780,11 +776,12 @@ refresh_folders_free (struct _mail_msg *
  	camel_object_unref(m->store);
  }
  
@@ -66,7 +67,7 @@
  };
  
  static void
-@@ -813,13 +810,13 @@ receive_update_got_folderinfo(CamelStore
+@@ -817,13 +814,13 @@ receive_update_got_folderinfo(CamelStore
  
  		get_folders(store, folders, info);
  
@@ -82,8 +83,9 @@
  	} else {
  		receive_done ("", data);
  	}
---- evolution-2.10.2/mail/mail-component.c.kill-ethread	2007-05-27 15:55:12.000000000 -0400
-+++ evolution-2.10.2/mail/mail-component.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/mail-component.c.kill-ethread evolution-2.10.3/mail/mail-component.c
+--- evolution-2.10.3/mail/mail-component.c.kill-ethread	2007-05-27 15:55:12.000000000 -0400
++++ evolution-2.10.3/mail/mail-component.c	2007-08-29 18:13:23.000000000 -0400
 @@ -982,7 +982,7 @@ impl_handleURI (PortableServer_Servant s
  		if (camel_url_get_param(url, "uid") != NULL) {
  			char *curi = em_uri_to_camel(uri);
@@ -93,8 +95,9 @@
  			g_free(curi);
  		} else {
  			g_warning("email uri's must include a uid parameter");
---- evolution-2.10.2/mail/mail-ops.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/mail-ops.c	2007-06-27 14:32:56.000000000 -0400
+diff -up evolution-2.10.3/mail/mail-ops.c.kill-ethread evolution-2.10.3/mail/mail-ops.c
+--- evolution-2.10.3/mail/mail-ops.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/mail-ops.c	2007-08-29 18:17:08.000000000 -0400
 @@ -75,7 +75,7 @@
  /* used for both just filtering a folder + uid's, and for filtering a whole folder */
  /* used both for fetching mail, and for filtering mail */
@@ -2142,8 +2145,9 @@
  
  	return id;
  }
---- evolution-2.10.2/mail/em-folder-utils.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/em-folder-utils.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/em-folder-utils.c.kill-ethread evolution-2.10.3/mail/em-folder-utils.c
+--- evolution-2.10.3/mail/em-folder-utils.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/em-folder-utils.c	2007-08-29 18:13:23.000000000 -0400
 @@ -84,7 +84,7 @@ emfu_is_special_local_folder (const char
  }
  
@@ -2371,8 +2375,9 @@
  	
  	return id;
  }
---- evolution-2.10.2/mail/importers/elm-importer.c.kill-ethread	2007-04-09 09:09:26.000000000 -0400
-+++ evolution-2.10.2/mail/importers/elm-importer.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/importers/elm-importer.c.kill-ethread evolution-2.10.3/mail/importers/elm-importer.c
+--- evolution-2.10.3/mail/importers/elm-importer.c.kill-ethread	2007-04-09 09:09:26.000000000 -0400
++++ evolution-2.10.3/mail/importers/elm-importer.c	2007-08-29 18:13:23.000000000 -0400
 @@ -51,7 +51,7 @@
  #define d(x) x
  
@@ -2471,8 +2476,9 @@
  
  	return id;
  }
---- evolution-2.10.2/mail/importers/mail-importer.c.kill-ethread	2007-04-09 09:09:26.000000000 -0400
-+++ evolution-2.10.2/mail/importers/mail-importer.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/importers/mail-importer.c.kill-ethread evolution-2.10.3/mail/importers/mail-importer.c
+--- evolution-2.10.3/mail/importers/mail-importer.c.kill-ethread	2007-04-09 09:09:26.000000000 -0400
++++ evolution-2.10.3/mail/importers/mail-importer.c	2007-08-29 18:13:23.000000000 -0400
 @@ -132,7 +132,7 @@ struct _BonoboObject *mail_importer_fact
  }
  
@@ -2609,8 +2615,9 @@
  }
  
  struct _import_folders_data {
---- evolution-2.10.2/mail/importers/pine-importer.c.kill-ethread	2007-04-09 09:09:26.000000000 -0400
-+++ evolution-2.10.2/mail/importers/pine-importer.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/importers/pine-importer.c.kill-ethread evolution-2.10.3/mail/importers/pine-importer.c
+--- evolution-2.10.3/mail/importers/pine-importer.c.kill-ethread	2007-04-09 09:09:26.000000000 -0400
++++ evolution-2.10.3/mail/importers/pine-importer.c	2007-08-29 18:13:23.000000000 -0400
 @@ -56,7 +56,7 @@
  #define d(x) x
  
@@ -2710,8 +2717,9 @@
  
  	return id;
  }
---- evolution-2.10.2/mail/em-utils.c.kill-ethread	2007-06-27 14:27:36.000000000 -0400
-+++ evolution-2.10.2/mail/em-utils.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/em-utils.c.kill-ethread evolution-2.10.3/mail/em-utils.c
+--- evolution-2.10.3/mail/em-utils.c.kill-ethread	2007-08-29 18:12:19.000000000 -0400
++++ evolution-2.10.3/mail/em-utils.c	2007-08-29 18:13:23.000000000 -0400
 @@ -1915,7 +1915,7 @@ em_utils_in_addressbook(CamelInternetAdd
  		ESource *source = s->data;
  		GList *contacts;
@@ -2721,8 +2729,9 @@
  
  		d(printf(" checking '%s'\n", e_source_get_uri(source)));
  
---- evolution-2.10.2/mail/mail-vfolder.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/mail-vfolder.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/mail-vfolder.c.kill-ethread evolution-2.10.3/mail/mail-vfolder.c
+--- evolution-2.10.3/mail/mail-vfolder.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/mail-vfolder.c	2007-08-29 18:13:23.000000000 -0400
 @@ -21,7 +21,7 @@
   */
  
@@ -2957,8 +2966,9 @@
  
  	from = em_uri_from_camel(cfrom);
  	to = em_uri_from_camel(cto);
---- evolution-2.10.2/mail/em-format-html.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/em-format-html.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/em-format-html.c.kill-ethread evolution-2.10.3/mail/em-format-html.c
+--- evolution-2.10.3/mail/em-format-html.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/em-format-html.c	2007-08-29 18:13:23.000000000 -0400
 @@ -166,7 +166,7 @@ efh_gtkhtml_destroy(GtkHTML *html, EMFor
  	if (efh->priv->format_timeout_id != 0) {
  		g_source_remove(efh->priv->format_timeout_id);
@@ -3083,8 +3093,9 @@
  	m->format = (EMFormatHTML *)emf;
  	g_object_ref(emf);
  	m->format_source = emfsource;
---- evolution-2.10.2/mail/em-folder-properties.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/em-folder-properties.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/em-folder-properties.c.kill-ethread evolution-2.10.3/mail/em-folder-properties.c
+--- evolution-2.10.3/mail/em-folder-properties.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/em-folder-properties.c	2007-08-29 18:13:23.000000000 -0400
 @@ -386,7 +386,7 @@ em_folder_properties_show(GtkWindow *par
  	}
  
@@ -3094,8 +3105,9 @@
  	else
  		emfp_dialog_got_folder((char *)uri, folder, NULL);
  }
---- evolution-2.10.2/mail/em-folder-tree.c.kill-ethread	2007-05-28 09:06:42.000000000 -0400
-+++ evolution-2.10.2/mail/em-folder-tree.c	2007-06-27 14:31:44.000000000 -0400
+diff -up evolution-2.10.3/mail/em-folder-tree.c.kill-ethread evolution-2.10.3/mail/em-folder-tree.c
+--- evolution-2.10.3/mail/em-folder-tree.c.kill-ethread	2007-05-28 09:06:42.000000000 -0400
++++ evolution-2.10.3/mail/em-folder-tree.c	2007-08-29 18:15:11.000000000 -0400
 @@ -834,7 +834,7 @@ fail:
  /* TODO: Merge the drop handling code/menu's into one spot using a popup target for details */
  /* Drop handling */
@@ -3114,18 +3126,16 @@
  		return;
  
  	em_folder_utils_copy_folders(src->parent_store, src->full_name, m->store, m->full_name?m->full_name:"", m->move);
-@@ -867,9 +867,8 @@ emft_drop_folder(struct _DragDataReceive
+@@ -867,7 +867,7 @@ emft_drop_folder(struct _DragDataReceive
  }
  
  static char *
 -emft_drop_async_desc (struct _mail_msg *mm, int done)
-+emft_drop_async__desc (struct _DragDataReceivedAsync *m)
++emft_drop_async__desc (struct _mail_msg *mm, int done)
  {
--	struct _DragDataReceivedAsync *m = (struct _DragDataReceivedAsync *) mm;
+ 	struct _DragDataReceivedAsync *m = (struct _DragDataReceivedAsync *) mm;
  	CamelURL *url;
- 	char *buf;
- 	
-@@ -893,9 +892,8 @@ emft_drop_async_desc (struct _mail_msg *
+@@ -893,9 +893,8 @@ emft_drop_async_desc (struct _mail_msg *
  }
  
  static void
@@ -3136,7 +3146,7 @@
  	CamelFolder *folder;
  	
  	/* for types other than folder, we can't drop to the root path */
-@@ -903,14 +901,14 @@ emft_drop_async_drop (struct _mail_msg *
+@@ -903,14 +902,14 @@ emft_drop_async_drop (struct _mail_msg *
  		/* copy or move (aka rename) a folder */
  		emft_drop_folder(m);
  	} else if (m->full_name == NULL) {
@@ -3155,7 +3165,7 @@
  			break;
  		case DND_DROP_TYPE_MESSAGE_RFC822:
  			/* import a message/rfc822 stream */
-@@ -928,9 +926,8 @@ emft_drop_async_drop (struct _mail_msg *
+@@ -928,9 +927,8 @@ emft_drop_async_drop (struct _mail_msg *
  }
  
  static void
@@ -3166,7 +3176,7 @@
  	gboolean success, delete;
  	
  	/* ?? */
-@@ -938,7 +935,7 @@ emft_drop_async_done (struct _mail_msg *
+@@ -938,7 +936,7 @@ emft_drop_async_done (struct _mail_msg *
  		success = FALSE;
  		delete = FALSE;
  	} else {
@@ -3175,7 +3185,7 @@
  		delete = success && m->move && !m->moved;
  	}
  	
-@@ -946,10 +943,8 @@ emft_drop_async_done (struct _mail_msg *
+@@ -946,10 +944,8 @@ emft_drop_async_done (struct _mail_msg *
  }
  
  static void
@@ -3187,7 +3197,7 @@
  	g_object_unref(m->context);
  	camel_object_unref(m->store);
  	g_free(m->full_name);
-@@ -958,18 +953,19 @@ emft_drop_async_free (struct _mail_msg *
+@@ -958,18 +954,19 @@ emft_drop_async_free (struct _mail_msg *
  	g_free(m->selection);
  }
  
@@ -3213,7 +3223,7 @@
  }
  
  static void
-@@ -996,7 +992,7 @@ emft_drop_popup_cancel(EPopup *ep, EPopu
+@@ -996,7 +993,7 @@ emft_drop_popup_cancel(EPopup *ep, EPopu
  	struct _DragDataReceivedAsync *m = data;
  
  	m->aborted = TRUE;
@@ -3222,7 +3232,7 @@
  }
  
  static EPopupItem emft_drop_popup_menu[] = {
-@@ -1052,7 +1048,7 @@ tree_drag_data_received(GtkWidget *widge
+@@ -1052,7 +1049,7 @@ tree_drag_data_received(GtkWidget *widge
  		return;
  	}
  
@@ -3231,7 +3241,7 @@
  	m->context = context;
  	g_object_ref(context);
  	m->store = store;
-@@ -1686,7 +1682,7 @@ dump_fi (CamelFolderInfo *fi, int depth)
+@@ -1686,7 +1683,7 @@ dump_fi (CamelFolderInfo *fi, int depth)
  #endif
  
  struct _EMFolderTreeGetFolderInfo {
@@ -3240,7 +3250,7 @@
  	
  	/* input data */
  	GtkTreeRowReference *root;
-@@ -1699,10 +1695,9 @@ struct _EMFolderTreeGetFolderInfo {
+@@ -1699,10 +1696,9 @@ struct _EMFolderTreeGetFolderInfo {
  	CamelFolderInfo *fi;
  };
  
@@ -3253,7 +3263,7 @@
  	char *ret, *name;
  
  	name = camel_service_get_name((CamelService *)m->store, TRUE);
-@@ -1712,18 +1707,16 @@ emft_get_folder_info__desc(struct _mail_
+@@ -1712,18 +1708,16 @@ emft_get_folder_info__desc(struct _mail_
  }
  
  static void
@@ -3275,7 +3285,7 @@
  	struct _EMFolderTreePrivate *priv = m->emft->priv;
  	struct _EMFolderTreeModelStoreInfo *si;
  	GtkTreeIter root, iter;
-@@ -1751,7 +1744,7 @@ emft_get_folder_info__got (struct _mail_
+@@ -1751,7 +1745,7 @@ emft_get_folder_info__got (struct _mail_
  	gtk_tree_model_get_iter ((GtkTreeModel *) model, &root, path);
  
  	/* if we had an error, then we need to re-set the load subdirs state and collapse the node */
@@ -3284,7 +3294,7 @@
  		gtk_tree_store_set(model, &root, COL_BOOL_LOAD_SUBDIRS, TRUE, -1);
  		gtk_tree_view_collapse_row (priv->treeview, path);
  		gtk_tree_path_free (path);
-@@ -1806,10 +1799,8 @@ emft_get_folder_info__got (struct _mail_
+@@ -1806,10 +1800,8 @@ emft_get_folder_info__got (struct _mail_
  }
  
  static void
@@ -3296,7 +3306,7 @@
  	camel_store_free_folder_info (m->store, m->fi);
  	
  	gtk_tree_row_reference_free (m->root);
-@@ -1818,11 +1809,12 @@ emft_get_folder_info__free (struct _mail
+@@ -1818,11 +1810,12 @@ emft_get_folder_info__free (struct _mail
  	g_free (m->top);
  }
  
@@ -3314,7 +3324,7 @@
  };
  
  static void
-@@ -1906,7 +1898,7 @@ emft_tree_row_expanded (GtkTreeView *tre
+@@ -1906,7 +1899,7 @@ emft_tree_row_expanded (GtkTreeView *tre
  
  	gtk_tree_store_set((GtkTreeStore *)model, root, COL_BOOL_LOAD_SUBDIRS, FALSE, -1);
  	
@@ -3323,7 +3333,7 @@
  	m->root = gtk_tree_row_reference_new (model, tree_path);
  	camel_object_ref (store);
  	m->store = store;
-@@ -1915,7 +1907,7 @@ emft_tree_row_expanded (GtkTreeView *tre
+@@ -1915,7 +1908,7 @@ emft_tree_row_expanded (GtkTreeView *tre
  	m->top = full_name;
  	m->flags = CAMEL_STORE_FOLDER_INFO_RECURSIVE|CAMEL_STORE_FOLDER_INFO_FAST;
  	
@@ -3332,8 +3342,9 @@
  }
  
  static gboolean
---- evolution-2.10.2/mail/em-folder-browser.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/em-folder-browser.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/em-folder-browser.c.kill-ethread evolution-2.10.3/mail/em-folder-browser.c
+--- evolution-2.10.3/mail/em-folder-browser.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/em-folder-browser.c	2007-08-29 18:13:23.000000000 -0400
 @@ -838,7 +838,7 @@ get_view_query (ESearchBar *esb)
  
  
@@ -3435,8 +3446,9 @@
  
  	return id;
  }
---- evolution-2.10.2/mail/message-list.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/message-list.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/message-list.c.kill-ethread evolution-2.10.3/mail/message-list.c
+--- evolution-2.10.3/mail/message-list.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/message-list.c	2007-08-29 18:13:23.000000000 -0400
 @@ -1802,7 +1802,7 @@ ml_tree_drag_data_get (ETree *tree, int 
  /* TODO: merge this with the folder tree stuff via empopup targets */
  /* Drop handling */
@@ -3713,8 +3725,9 @@
  	m->ml = ml;
  	m->search = g_strdup (search);
  	m->hideexpr = g_strdup (hideexpr);
---- evolution-2.10.2/mail/em-sync-stream.h.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/em-sync-stream.h	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/em-sync-stream.h.kill-ethread evolution-2.10.3/mail/em-sync-stream.h
+--- evolution-2.10.3/mail/em-sync-stream.h.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/em-sync-stream.h	2007-08-29 18:13:23.000000000 -0400
 @@ -29,41 +29,45 @@ requests are always handled in the main 
  #ifndef EM_SYNC_STREAM_H
  #define EM_SYNC_STREAM_H
@@ -3791,8 +3804,9 @@
 +G_END_DECLS
  
  #endif /* EM_SYNC_STREAM_H */
---- evolution-2.10.2/mail/em-format-html-print.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/em-format-html-print.c	2007-06-27 14:32:04.000000000 -0400
+diff -up evolution-2.10.3/mail/em-format-html-print.c.kill-ethread evolution-2.10.3/mail/em-format-html-print.c
+--- evolution-2.10.3/mail/em-format-html-print.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/em-format-html-print.c	2007-08-29 18:15:39.000000000 -0400
 @@ -262,7 +262,7 @@ int em_format_html_print_message(EMForma
  		g_object_ref(source);
  	g_object_ref(efhp);
@@ -3802,8 +3816,9 @@
  
  	return 0;		/* damn async ... */
  }
---- evolution-2.10.2/mail/em-sync-stream.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/em-sync-stream.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/em-sync-stream.c.kill-ethread evolution-2.10.3/mail/em-sync-stream.c
+--- evolution-2.10.3/mail/em-sync-stream.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/em-sync-stream.c	2007-08-29 18:13:23.000000000 -0400
 @@ -25,42 +25,17 @@
  #include <config.h>
  #endif
@@ -4026,7 +4041,7 @@
  static void
 -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,
-+              const gchar *string, gsize len)
++	      const gchar *string, gsize len)
  {
 -	struct _EMSyncStreamPrivate *p = emss->priv;
  	struct _write_msg msg;
@@ -4229,8 +4244,9 @@
 +		g_string_free (emss->buffer, TRUE);
 +	emss->buffer = g_string_sized_new (size);
  }
---- evolution-2.10.2/mail/em-subscribe-editor.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/em-subscribe-editor.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/em-subscribe-editor.c.kill-ethread evolution-2.10.3/mail/em-subscribe-editor.c
+--- evolution-2.10.3/mail/em-subscribe-editor.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/em-subscribe-editor.c	2007-08-29 18:13:23.000000000 -0400
 @@ -175,7 +175,7 @@ sub_unref(EMSubscribe *sub)
  /* ** Subscribe folder operation **************************************** */
  
@@ -4446,8 +4462,9 @@
  
  	sub_unref(sub);
  }
---- evolution-2.10.2/mail/mail-mt.h.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/mail-mt.h	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/mail-mt.h.kill-ethread evolution-2.10.3/mail/mail-mt.h
+--- evolution-2.10.3/mail/mail-mt.h.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/mail-mt.h	2007-08-29 18:13:23.000000000 -0400
 @@ -23,47 +23,64 @@
  #ifndef _MAIL_MT
  #define _MAIL_MT
@@ -4559,8 +4576,9 @@
  /* 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.2/mail/mail-ops.h.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/mail-ops.h	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/mail-ops.h.kill-ethread evolution-2.10.3/mail/mail-ops.h
+--- evolution-2.10.3/mail/mail-ops.h.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/mail-ops.h	2007-08-29 18:13:23.000000000 -0400
 @@ -30,13 +30,14 @@ extern "C" {
  #pragma }
  #endif /* __cplusplus */
@@ -4601,8 +4619,9 @@
  
  /* and for a store */
  int mail_get_store (const char *uri, CamelOperation *op,
---- evolution-2.10.2/mail/em-composer-utils.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/em-composer-utils.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/em-composer-utils.c.kill-ethread evolution-2.10.3/mail/em-composer-utils.c
+--- evolution-2.10.3/mail/em-composer-utils.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/em-composer-utils.c	2007-08-29 18:13:23.000000000 -0400
 @@ -534,7 +534,7 @@ em_utils_composer_save_draft_cb (EMsgCom
  	    strcmp (account->drafts_folder_uri, default_drafts_folder_uri) != 0) {
  		int id;
@@ -4646,8 +4665,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_msg_unordered_push);
  }
---- evolution-2.10.2/mail/mail-folder-cache.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/mail-folder-cache.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/mail-folder-cache.c.kill-ethread evolution-2.10.3/mail/mail-folder-cache.c
+--- evolution-2.10.3/mail/mail-folder-cache.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/mail-folder-cache.c	2007-08-29 18:13:23.000000000 -0400
 @@ -843,15 +843,14 @@ update_folders(CamelStore *store, CamelF
  
  
@@ -4733,8 +4753,9 @@
  
  	LOCK(info_lock);
  
---- evolution-2.10.2/mail/em-folder-view.c.kill-ethread	2007-05-28 01:09:15.000000000 -0400
-+++ evolution-2.10.2/mail/em-folder-view.c	2007-06-27 14:30:03.000000000 -0400
+diff -up evolution-2.10.3/mail/em-folder-view.c.kill-ethread evolution-2.10.3/mail/em-folder-view.c
+--- evolution-2.10.3/mail/em-folder-view.c.kill-ethread	2007-06-17 23:30:46.000000000 -0400
++++ evolution-2.10.3/mail/em-folder-view.c	2007-08-29 18:14:08.000000000 -0400
 @@ -68,6 +68,7 @@
  #include <gtkhtml/gtkhtml-stream.h>
  
@@ -4752,7 +4773,7 @@
  }
  
  static void
-@@ -1613,7 +1614,7 @@ filter_type_uid (CamelFolder *folder, co
+@@ -1651,7 +1652,7 @@ filter_type_uid (CamelFolder *folder, co
  	data->type = type;
  	data->source = source;
  	
@@ -4761,7 +4782,7 @@
  }
  
  static void
-@@ -1711,7 +1712,7 @@ vfolder_type_uid (CamelFolder *folder, c
+@@ -1749,7 +1750,7 @@ vfolder_type_uid (CamelFolder *folder, c
  	data->type = type;
  	data->uri = g_strdup (uri);
  	
@@ -4770,7 +4791,7 @@
  }
  
  static void
-@@ -2370,7 +2371,7 @@ emfv_message_selected_timeout(void *data
+@@ -2408,7 +2409,7 @@ emfv_message_selected_timeout(void *data
  			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);
@@ -4779,8 +4800,9 @@
  		} else {
  			e_profile_event_emit("goto.empty", "", 0);
  			g_free(emfv->priv->selected_uid);
---- evolution-2.10.2/mail/mail-session.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/mail-session.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/mail-session.c.kill-ethread evolution-2.10.3/mail/mail-session.c
+--- evolution-2.10.3/mail/mail-session.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/mail-session.c	2007-08-29 18:13:23.000000000 -0400
 @@ -35,7 +35,7 @@
  #include <libgnome/gnome-sound.h>
  
@@ -4790,7 +4812,7 @@
  
  #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,21 +256,22 @@ forget_password (CamelSession *session, 
+@@ -256,148 +256,145 @@ forget_password (CamelSession *session, 
  
  /* ********************************************************************** */
  
@@ -4817,13 +4839,15 @@
  
  /* clicked, send back the reply */
  static void
-@@ -278,122 +279,116 @@ user_message_response (GtkDialog *dialog
+ user_message_response (GtkDialog *dialog, int button, struct _user_message_msg *m)
  {
  	gtk_widget_destroy ((GtkWidget *) dialog);
- 	
+-	
 -	message_dialog = NULL;
+-	
++
 +	user_message_dialog = NULL;
- 	
++
  	/* if !allow_cancel, then we've already replied */
  	if (m->allow_cancel) {
  		m->result = button == GTK_RESPONSE_OK;
@@ -4880,6 +4904,22 @@
 -		break;
 -	default:
 -		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:
 +			error_type = m->allow_cancel ?
 +				"mail:session-message-info-cancel" :
@@ -4897,36 +4937,27 @@
 +			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);
-+	user_message_dialog = e_error_new(NULL, error_type, m->prompt, NULL);
-+	g_object_set (user_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);
-+			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);
- 		}
++	}
++
++	user_message_dialog = e_error_new (NULL, error_type, m->prompt, NULL);
++	g_object_set (
++		user_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 && m->ismain) {
++		gint response = gtk_dialog_run (user_message_dialog);
++		user_message_response (user_message_dialog, response, m);
  	} 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);
 -		mail_msg_free(m);
-+		g_signal_connect (user_message_dialog, "response", G_CALLBACK (gtk_widget_destroy), user_message_dialog);
-+		g_object_add_weak_pointer (user_message_dialog, &user_message_dialog);
++		g_signal_connect (
++			user_message_dialog, "response",
++			G_CALLBACK (user_message_response), m);
 +		gtk_widget_show (user_message_dialog);
-+		mail_msg_unref(m);
  	}
  }
  
@@ -4955,8 +4986,9 @@
  	MailSession *mail_session = MAIL_SESSION (session);
 -	struct _user_message_msg *m, *r;
 -	EMsgPort *user_message_reply = NULL;
+-	gboolean ret;
 +	struct _user_message_msg *m;
- 	gboolean ret;
++	gboolean result = TRUE;
  
  	if (!mail_session->interactive)
  		return FALSE;
@@ -4966,38 +4998,51 @@
 -	m = mail_msg_new (&user_message_op, user_message_reply, sizeof (*m));
 -	m->ismain = pthread_equal(pthread_self(), mail_gui_thread);
 +	m = mail_msg_new (&user_message_info);
-+	m->ismain = mail_in_main_thread();
++	m->ismain = mail_in_main_thread ();
  	m->type = type;
- 	m->prompt = g_strdup(prompt);
+-	m->prompt = g_strdup(prompt);
++	m->prompt = g_strdup (prompt);
 +	m->done = e_flag_new ();
  	m->allow_cancel = cancel;
  
-+	if (cancel)
-+		mail_msg_ref (m);
-+
- 	if (m->ismain)
+-	if (m->ismain)
 -		do_user_message((struct _mail_msg *)m);
-+		user_message_exec(m);
- 	else {
+-	else {
 -		extern EMsgPort *mail_gui_port2;
--
++	if (cancel)
++		mail_msg_ref (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) {
 -		r = (struct _user_message_msg *)e_msgport_wait(user_message_reply);
 -		g_assert(m == r);
--
 +		e_flag_wait (m->done);
- 		ret = m->result;
++		result = m->result;
++		mail_msg_unref (m);
++	}
+ 
+-		ret = m->result;
 -		mail_msg_free(m);
 -		e_msgport_destroy(user_message_reply);
-+		mail_msg_unref(m);
- 	} else
- 		ret = TRUE;
+-	} else
+-		ret = TRUE;
++	if (m->ismain) {
++		user_message_free (m);
++		mail_msg_unref (m);
++	}
  
-@@ -533,7 +528,7 @@ get_filter_driver (CamelSession *session
+-	return ret;
++	return result;
+ }
+ 
+ static CamelFolder *
+@@ -533,7 +530,7 @@ get_filter_driver (CamelSession *session
  /* 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 */
  
@@ -5006,7 +5051,7 @@
  
  static void *ms_thread_msg_new(CamelSession *session, CamelSessionThreadOps *ops, unsigned int size)
  {
-@@ -542,7 +537,7 @@ static void *ms_thread_msg_new(CamelSess
+@@ -542,7 +539,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 get cancellation and progress in common with hte existing mail code, for free */
  	if (msg) {
@@ -5015,7 +5060,7 @@
  
  		msg->data = m;
  		camel_operation_unref(msg->op);
-@@ -555,7 +550,7 @@ static void *ms_thread_msg_new(CamelSess
+@@ -555,7 +552,7 @@ static void *ms_thread_msg_new(CamelSess
  
  static void ms_thread_msg_free(CamelSession *session, CamelSessionThreadMsg *m)
  {
@@ -5024,7 +5069,7 @@
  	ms_parent_class->thread_msg_free(session, m);
  }
  
-@@ -678,22 +673,23 @@ mail_session_set_interactive (gboolean i
+@@ -678,22 +675,23 @@ mail_session_set_interactive (gboolean i
  	MAIL_SESSION (session)->interactive = interactive;
  	
  	if (!interactive) {
@@ -5054,8 +5099,9 @@
  		}
  	}
  }
---- evolution-2.10.2/mail/mail-mt.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
-+++ evolution-2.10.2/mail/mail-mt.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/mail/mail-mt.c.kill-ethread evolution-2.10.3/mail/mail-mt.c
+--- evolution-2.10.3/mail/mail-mt.c.kill-ethread	2007-04-09 09:09:27.000000000 -0400
++++ evolution-2.10.3/mail/mail-mt.c	2007-08-29 18:13:23.000000000 -0400
 @@ -29,8 +29,8 @@
  #include <gtk/gtk.h>
  #include <libgnome/gnome-i18n.h>
@@ -5149,17 +5195,17 @@
  {
 -	struct _mail_msg *m = msg;
 -	int activity_id;
-+        /* XXX This function is broken out from mail_msg_unref()
-+         *     only for the benefit of op_status_exec() below. */
++	/* XXX This function is broken out from mail_msg_unref()
++	 *     only for the benefit of op_status_exec() below. */
++
++	if (mail_msg->cancel != NULL) {
++		camel_operation_mute (mail_msg->cancel);
++		camel_operation_unref (mail_msg->cancel);
++	}
 +
-+        if (mail_msg->cancel != NULL) {
-+                camel_operation_mute (mail_msg->cancel);
-+                camel_operation_unref (mail_msg->cancel);
-+        }
-+
-+        camel_exception_clear (&mail_msg->ex);
-+        g_slice_free (MailMsgPrivate, mail_msg->priv);
-+        g_slice_free1 (mail_msg->info->size, mail_msg);
++	camel_exception_clear (&mail_msg->ex);
++	g_slice_free (MailMsgPrivate, mail_msg->priv);
++	g_slice_free1 (mail_msg->info->size, mail_msg);
 +}
 +
 +gpointer
@@ -5249,7 +5295,7 @@
 -	/*g_free(m->priv->what);*/
 -	g_free(m->priv);
 -	g_free(m);
-+        mail_msg_free (mail_msg);
++	mail_msg_free (mail_msg);
  
  	if (activity_id != 0)
 -		mail_async_event_emit(mail_async_event, MAIL_ASYNC_GUI, (MailAsyncFunc) end_event_callback,
@@ -5348,10 +5394,10 @@
 -	GDestroyNotify func;
 -	void *data;
 -};
--
--static EDList cancel_hook_list = E_DLIST_INITIALISER(cancel_hook_list);
 +static GHookList cancel_hook_list;
  
+-static EDList cancel_hook_list = E_DLIST_INITIALISER(cancel_hook_list);
+-
 -void *mail_cancel_hook_add(GDestroyNotify func, void *data)
 +GHook *
 +mail_cancel_hook_add (GHookFunc func, gpointer data)
@@ -6087,7 +6133,7 @@
 -				camel_exception_clear (&msg->ex);
 -				g_free (msg->priv);
 -				g_free (msg);
-+                                mail_msg_free (msg);
++				mail_msg_free (msg);
  			} else {
  				data->activity_state = 2;
  				MAIL_MT_UNLOCK (mail_msg_lock);
@@ -6135,8 +6181,9 @@
  }
  
  /* ******************** */
---- evolution-2.10.2/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread	2007-04-09 09:09:11.000000000 -0400
-+++ evolution-2.10.2/plugins/folder-unsubscribe/folder-unsubscribe.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread evolution-2.10.3/plugins/folder-unsubscribe/folder-unsubscribe.c
+--- evolution-2.10.3/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread	2007-04-09 09:09:11.000000000 -0400
++++ evolution-2.10.3/plugins/folder-unsubscribe/folder-unsubscribe.c	2007-08-29 18:13:23.000000000 -0400
 @@ -44,32 +44,30 @@ void org_gnome_mail_folder_unsubscribe (
  
  
@@ -6216,8 +6263,9 @@
 -	e_thread_put (mail_thread_new, (EMsg *) unsub);
 +	mail_msg_unordered_push (unsub);
  }
---- evolution-2.10.2/plugins/mark-all-read/mark-all-read.c.kill-ethread	2007-05-27 14:21:10.000000000 -0400
-+++ evolution-2.10.2/plugins/mark-all-read/mark-all-read.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/plugins/mark-all-read/mark-all-read.c.kill-ethread evolution-2.10.3/plugins/mark-all-read/mark-all-read.c
+--- evolution-2.10.3/plugins/mark-all-read/mark-all-read.c.kill-ethread	2007-05-27 14:21:10.000000000 -0400
++++ evolution-2.10.3/plugins/mark-all-read/mark-all-read.c	2007-08-29 18:13:23.000000000 -0400
 @@ -44,7 +44,7 @@ org_gnome_mark_all_read (EPlugin *ep, EM
  		return;
  	}
@@ -6227,19 +6275,21 @@
  }
  
  static void
---- evolution-2.10.2/plugins/exchange-operations/exchange-folder.c.kill-ethread	2007-05-25 02:43:33.000000000 -0400
-+++ evolution-2.10.2/plugins/exchange-operations/exchange-folder.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/plugins/exchange-operations/exchange-folder.c.kill-ethread evolution-2.10.3/plugins/exchange-operations/exchange-folder.c
+--- evolution-2.10.3/plugins/exchange-operations/exchange-folder.c.kill-ethread	2007-05-25 02:43:33.000000000 -0400
++++ evolution-2.10.3/plugins/exchange-operations/exchange-folder.c	2007-08-29 18:13:23.000000000 -0400
 @@ -140,7 +140,7 @@ org_gnome_exchange_folder_inbox_unsubscr
  	inbox_physical_uri = e_folder_get_physical_uri (inbox);
  
  	/* 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_msg_unordered_push);
++	mail_get_folder (inbox_physical_uri, 0, exchange_get_folder, target_uri, mail_msg_unordered_push);
  
  
  }
---- evolution-2.10.2/plugins/save-attachments/save-attachments.c.kill-ethread	2007-04-09 09:09:15.000000000 -0400
-+++ evolution-2.10.2/plugins/save-attachments/save-attachments.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/plugins/save-attachments/save-attachments.c.kill-ethread evolution-2.10.3/plugins/save-attachments/save-attachments.c
+--- evolution-2.10.3/plugins/save-attachments/save-attachments.c.kill-ethread	2007-04-09 09:09:15.000000000 -0400
++++ evolution-2.10.3/plugins/save-attachments/save-attachments.c	2007-08-29 18:13:23.000000000 -0400
 @@ -407,5 +407,5 @@ org_gnome_save_attachments_save(EPlugin 
  	camel_object_ref(data->folder);
  	data->uid = g_strdup(target->uids->pdata[0]);
@@ -6247,19 +6297,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_msg_unordered_push);
  }
---- evolution-2.10.2/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread	2007-04-09 09:09:14.000000000 -0400
-+++ evolution-2.10.2/plugins/mailing-list-actions/mailing-list-actions.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread evolution-2.10.3/plugins/mailing-list-actions/mailing-list-actions.c
+--- evolution-2.10.3/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread	2007-04-09 09:09:14.000000000 -0400
++++ evolution-2.10.3/plugins/mailing-list-actions/mailing-list-actions.c	2007-08-29 18:13:23.000000000 -0400
 @@ -89,7 +89,7 @@ void emla_list_action (EPlugin *item, EM
  	data->uri = strdup (sel->uri);
  
  	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_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)
---- evolution-2.10.2/plugins/groupwise-features/share-folder-common.c.kill-ethread	2007-04-09 09:09:12.000000000 -0400
-+++ evolution-2.10.2/plugins/groupwise-features/share-folder-common.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/plugins/groupwise-features/share-folder-common.c.kill-ethread evolution-2.10.3/plugins/groupwise-features/share-folder-common.c
+--- evolution-2.10.3/plugins/groupwise-features/share-folder-common.c.kill-ethread	2007-04-09 09:09:12.000000000 -0400
++++ evolution-2.10.3/plugins/groupwise-features/share-folder-common.c	2007-08-29 18:13:23.000000000 -0400
 @@ -121,7 +121,7 @@ shared_folder_abort (EPlugin *ep, EConfi
  }
  
@@ -6357,8 +6409,9 @@
  		
  	return id;
  }
---- evolution-2.10.2/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread	2007-04-09 09:10:29.000000000 -0400
-+++ evolution-2.10.2/calendar/gui/alarm-notify/alarm-notify.h	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread evolution-2.10.3/calendar/gui/alarm-notify/alarm-notify.h
+--- evolution-2.10.3/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread	2007-04-09 09:10:29.000000000 -0400
++++ evolution-2.10.3/calendar/gui/alarm-notify/alarm-notify.h	2007-08-29 18:13:23.000000000 -0400
 @@ -39,19 +39,6 @@ typedef struct _AlarmNotifyClass AlarmNo
  
  typedef struct _AlarmNotifyPrivate AlarmNotifyPrivate;
@@ -6379,8 +6432,9 @@
  struct _AlarmNotify {
  	BonoboObject object;
  
---- evolution-2.10.2/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread	2007-04-09 09:10:29.000000000 -0400
-+++ evolution-2.10.2/calendar/gui/alarm-notify/alarm-notify.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread evolution-2.10.3/calendar/gui/alarm-notify/alarm-notify.c
+--- evolution-2.10.3/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread	2007-04-09 09:10:29.000000000 -0400
++++ evolution-2.10.3/calendar/gui/alarm-notify/alarm-notify.c	2007-08-29 18:13:23.000000000 -0400
 @@ -45,10 +45,6 @@ struct _AlarmNotifyPrivate {
          GMutex *mutex;
  };
@@ -6493,8 +6547,9 @@
  }
  
  static void
---- evolution-2.10.2/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread	2007-04-09 09:10:29.000000000 -0400
-+++ evolution-2.10.2/calendar/gui/alarm-notify/alarm-queue.c	2007-06-27 14:29:23.000000000 -0400
+diff -up evolution-2.10.3/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread evolution-2.10.3/calendar/gui/alarm-notify/alarm-queue.c
+--- evolution-2.10.3/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread	2007-04-09 09:10:29.000000000 -0400
++++ evolution-2.10.3/calendar/gui/alarm-notify/alarm-queue.c	2007-08-29 18:13:23.000000000 -0400
 @@ -115,9 +115,6 @@ static int tray_blink_id = -1;
  static int tray_blink_state = FALSE;
  static AlarmNotify *an;
@@ -6708,7 +6763,8 @@
  {
 -	AlarmMsg *msg;
 -	struct _query_msg *list;
--
++	struct _query_msg *msg;
+ 
 -	/* These two structures will be freed by the msg destroy function*/
 -	msg = malloc (sizeof (AlarmMsg));
 -	msg->receive_msg = query_objects_removed_async;
@@ -6718,8 +6774,7 @@
 -	list->objects = duplicate_ecal (objects);
 -	list->data = data;	
 -	msg->data = list;
-+	struct _query_msg *msg;
- 
+-
 -	d(printf("%s:%d (query_objects_removed_cb) - Posting a task\n",__FILE__, __LINE__));	
 -	e_thread_put(alarm_operation_thread, (EMsg *)msg);
 +	msg = g_slice_new (struct _query_msg);
@@ -6770,12 +6825,12 @@
  {
 -	AlarmMsg *msg;
 -	struct _query_msg *list;
-+	struct _query_msg *msg;
- 
+-
 -	/* These two structures will be freed by the msg destroy function*/
 -	msg = malloc (sizeof (AlarmMsg));
 -	msg->receive_msg = on_dialog_objs_removed_async;
--
++	struct _query_msg *msg;
+ 
 -	list = malloc (sizeof (struct _query_msg));
 -	list->client = client;
 -	list->objects = objects;
@@ -6823,12 +6878,11 @@
 -	/* These two structures will be freed by the msg destroy function*/
 -	msg = malloc (sizeof (AlarmMsg));
 -	msg->receive_msg = tray_list_remove_cqa_async;
--
++	struct _tray_cqa_msg *msg;
+ 
 -	list = malloc (sizeof (struct _tray_cqa_msg));
 -	list->cqa = cqa;
 -	msg->data = list;
-+	struct _tray_cqa_msg *msg;
-+
 +	msg = g_slice_new (struct _tray_cqa_msg);
 +	msg->header.func = (MessageFunc) tray_list_remove_cqa_async;
 +	msg->cqa = cqa;
@@ -6903,12 +6957,11 @@
 -	/* These two structures will be freed by the msg destroy function*/
 -	msg = malloc (sizeof (AlarmMsg));
 -	msg->receive_msg = tray_list_remove_data_async;
--
++	struct _tray_msg *msg;
+ 
 -	list = malloc (sizeof (struct _tray_msg));
 -	list->data = data;
 -	msg->data = list;
-+	struct _tray_msg *msg;
-+
 +	msg = g_slice_new (struct _tray_msg);
 +	msg->header.func = (MessageFunc) tray_list_remove_data_async;
 +	msg->data = data;
@@ -6945,17 +6998,16 @@
 -	/* These two structures will be freed by the msg destroy function*/
 -	msg = malloc (sizeof (AlarmMsg));
 -	msg->receive_msg = tray_list_add_async;
--
++	msg = g_slice_new (struct _tray_msg);
++	msg->header.func = (MessageFunc) tray_list_add_async;
++	msg->data = data;
+ 
 -	list = malloc (sizeof (struct _tray_msg));
 -	list->data = data;
 -	msg->data = list;
 -	
 -	d(printf("%s:%d (tray_list_add_new) - Posting a task\n",__FILE__, __LINE__));	
 -	e_thread_put(alarm_operation_thread, (EMsg *)msg);
-+	msg = g_slice_new (struct _tray_msg);
-+	msg->header.func = (MessageFunc) tray_list_add_async;
-+	msg->data = data;
-+
 +	message_push ((Message *) msg);
  }
  
@@ -6970,17 +7022,17 @@
 -		/* These two structures will be freed by the msg destroy function*/
 -		msg = malloc (sizeof (AlarmMsg));
 -		msg->receive_msg = midnight_refresh_async;
--
--		list = malloc (sizeof (struct _midnight_refresh_msg));
 +		struct _midnight_refresh_msg *msg;
  
--		list->remove = FALSE;
--		/* We dont need it. So set it to NULL */
--		msg->data = list;
+-		list = malloc (sizeof (struct _midnight_refresh_msg));
 +		msg = g_slice_new (struct _midnight_refresh_msg);
 +		msg->header.func = (MessageFunc) midnight_refresh_async;
 +		msg->remove = FALSE;
  
+-		list->remove = FALSE;
+-		/* We dont need it. So set it to NULL */
+-		msg->data = list;
+-
 -		d(printf("%s:%d (check_midnight_refresh) - Posting a task to refresh\n",__FILE__, __LINE__));
 -		e_thread_put(alarm_operation_thread, (EMsg *)msg);		
 +		message_push ((Message *) msg);
@@ -7026,15 +7078,15 @@
 -	/* These two structures will be freed by the msg destroy function*/
 -	msg = malloc (sizeof (AlarmMsg));
 -	msg->receive_msg = alarm_queue_add_async;
--
--	list = malloc (sizeof (struct _alarm_client_msg));
--	list->client = client;
--	g_object_ref (client);
--	msg->data = list;
 +	msg = g_slice_new (struct _alarm_client_msg);
 +	msg->header.func = (MessageFunc) alarm_queue_add_async;
 +	msg->client = g_object_ref (client);
  
+-	list = malloc (sizeof (struct _alarm_client_msg));
+-	list->client = client;
+-	g_object_ref (client);
+-	msg->data = list;
+-
 -	d(printf("%s:%d (alarm_queue_add_client) - Posting a task\n",__FILE__, __LINE__));
 -	e_thread_put(alarm_operation_thread, (EMsg *)msg);
 +	message_push ((Message *) msg);
@@ -7055,7 +7107,7 @@
  
  	g_return_if_fail (alarm_queue_inited);
  	g_return_if_fail (client != NULL);
-@@ -2148,24 +2132,20 @@ alarm_queue_remove_async (EThread *e, Al
+@@ -2148,6 +2132,8 @@ alarm_queue_remove_async (EThread *e, Al
  	g_free (ca);
  
  	g_hash_table_remove (client_alarms_hash, client);
@@ -7064,26 +7116,3 @@
  }
  
  void
- alarm_queue_remove_client (ECal *client)
- {
--	AlarmMsg *msg;
--	struct _alarm_client_msg *list;
-+	struct _alarm_client_msg *msg;
- 
--	/* These two structures will be freed by the msg destroy function*/
--	msg = malloc (sizeof (AlarmMsg));
--	msg->receive_msg = alarm_queue_remove_async;
--
--	list = malloc (sizeof (struct _alarm_client_msg));
--	list->client = client;
--	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__));
--	e_thread_put(alarm_operation_thread, (EMsg *)msg);
-+	message_push ((Message *) msg);
- }
- 
- /* Update non-time related variables for various structures on modification of an existing component 


Index: evolution.spec
===================================================================
RCS file: /cvs/pkgs/rpms/evolution/F-7/evolution.spec,v
retrieving revision 1.267
retrieving revision 1.268
diff -u -r1.267 -r1.268
--- evolution.spec	27 Jul 2007 14:57:57 -0000	1.267
+++ evolution.spec	30 Aug 2007 02:13:30 -0000	1.268
@@ -47,7 +47,7 @@
 
 Name: evolution
 Version: 2.10.3
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: GPL
 Group: Applications/Productivity
 Summary: GNOME's next-generation groupware suite
@@ -751,6 +751,10 @@
 %{_libdir}/evolution/%{evo_major}/libmenus.so
 
 %changelog
+* Wed Aug 29 2007 Matthew Barnes <mbarnes at redhat.com> - 2.10.3-4.fc7
+- Revise patch for GNOME bug #362638 to fix GNOME bug #357175
+  (Evolution fails to close after IMAP alert has been displayed).
+
 * Fri Jul 27 2007 Matthew Barnes <mbarnes at redhat.com> - 2.10.3-3.fc7
 - Add patch for GNOME bug #380534 (clarify version requirements).
 




More information about the fedora-extras-commits mailing list