From 35c407f1aa7b1ce910eadef6951d29ae92151788 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 4 Jun 2007 20:07:28 +0000 Subject: [PATCH] - Update to 2.11.3 - Evolution no longer has versioned file names. - Remove patch for RH bug #202289 (fixed upstream). - Remove patch for RH bug #235878 (fixed upstream). - Remove patch for RH bug #238155 (fixed upstream). - Remove patch for RH bug #240147 (fixed upstream). --- .cvsignore | 2 +- ...ution-2.10.1-check-uri-before-strcmp.patch | 357 ----- evolution-2.10.1-fix-help.patch | 192 --- evolution-2.10.1-send-recv-dialog.patch | 101 -- ...2.11.3-implicit-function-declaration.patch | 10 + ...4.1-hide-switcher-buttons-by-default.patch | 4 +- evolution-2.5.4-fix-conduit-dir.patch | 72 +- evolution-2.7.92-fix-prgname.patch | 11 - evolution-2.8.1-kill-ethread.patch | 1175 ++++++++++------- evolution-2.9.1-kill-ememory.patch | 2 +- evolution.spec | 84 +- sources | 2 +- 12 files changed, 776 insertions(+), 1236 deletions(-) delete mode 100644 evolution-2.10.1-check-uri-before-strcmp.patch delete mode 100644 evolution-2.10.1-fix-help.patch delete mode 100644 evolution-2.10.1-send-recv-dialog.patch create mode 100644 evolution-2.11.3-implicit-function-declaration.patch delete mode 100644 evolution-2.7.92-fix-prgname.patch diff --git a/.cvsignore b/.cvsignore index decf6ed..3dd215b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -evolution-2.11.2.tar.bz2 +evolution-2.11.3.tar.bz2 diff --git a/evolution-2.10.1-check-uri-before-strcmp.patch b/evolution-2.10.1-check-uri-before-strcmp.patch deleted file mode 100644 index ff7e766..0000000 --- a/evolution-2.10.1-check-uri-before-strcmp.patch +++ /dev/null @@ -1,357 +0,0 @@ ---- evolution-2.10.1/plugins/exchange-operations/exchange-config-listener.c.check-uri-before-strcmp 2007-04-09 09:09:13.000000000 -0400 -+++ evolution-2.10.1/plugins/exchange-operations/exchange-config-listener.c 2007-05-14 13:34:13.000000000 -0400 -@@ -1250,26 +1250,30 @@ - exchange_add_autocompletion_folders (GConfClient *gc_client, ExchangeAccount *account) - { - ESourceList *sl=NULL; -- ESourceGroup *group; - ESource *source; -- GSList *groups, *sources; -+ GSList *groups; - gboolean found_group=FALSE; - - sl = e_source_list_new_for_gconf (gc_client, CONF_KEY_CONTACTS); - groups = e_source_list_peek_groups (sl); - - for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) { -- group = E_SOURCE_GROUP (groups->data); -+ ESourceGroup *group = E_SOURCE_GROUP (groups->data); -+ - if (strcmp (e_source_group_peek_name (group), account->account_name) == 0 - && - strcmp (e_source_group_peek_base_uri (group), EXCHANGE_URI_PREFIX) == 0) { -- -- sources = e_source_group_peek_sources (group); -+ GSList *sources = e_source_group_peek_sources (group); - - for( ; sources != NULL; sources = g_slist_next (sources)) { -- source = E_SOURCE (sources->data); -- if (g_str_has_prefix (e_source_peek_absolute_uri (source), -- "gal://")) { -+ ESource *source = E_SOURCE (sources->data); -+ const gchar *absolute_uri; -+ -+ g_assert (source != NULL); -+ absolute_uri = e_source_peek_absolute_uri (source); -+ if (absolute_uri == NULL) -+ continue; -+ if (g_str_has_prefix (absolute_uri, "gal://")) { - /* Set autocompletion on GAL alone by default */ - e_source_set_property (source, "completion", "true"); - break; ---- evolution-2.10.1/plugins/groupwise-account-setup/camel-gw-listener.c.check-uri-before-strcmp 2007-05-14 13:21:57.000000000 -0400 -+++ evolution-2.10.1/plugins/groupwise-account-setup/camel-gw-listener.c 2007-05-14 13:34:13.000000000 -0400 -@@ -254,10 +254,7 @@ - remove_esource (const char *conf_key, const char *group_name, char* source_name, const char* relative_uri) - { - ESourceList *list; -- ESourceGroup *group; -- ESource *source; - GSList *groups; -- GSList *sources; - gboolean found_group; - GConfClient* client; - GSList *ids; -@@ -271,19 +268,21 @@ - found_group = FALSE; - - for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) { -- -- group = E_SOURCE_GROUP (groups->data); -+ ESourceGroup *group = E_SOURCE_GROUP (groups->data); - - if (strcmp (e_source_group_peek_name (group), group_name) == 0 && - strcmp (e_source_group_peek_base_uri (group), GROUPWISE_URI_PREFIX ) == 0) { -- -- sources = e_source_group_peek_sources (group); -+ GSList *sources = e_source_group_peek_sources (group); - - for( ; sources != NULL; sources = g_slist_next (sources)) { -- -- source = E_SOURCE (sources->data); -- -- if (strcmp (e_source_peek_relative_uri (source), relative_uri) == 0) { -+ ESource *source = E_SOURCE (sources->data); -+ const gchar *source_relative_uri; -+ -+ g_assert (source != NULL); -+ source_relative_uri = e_source_peek_relative_uri (source); -+ if (source_relative_uri == NULL) -+ continue; -+ if (strcmp (source_relative_uri, relative_uri) == 0) { - - if (!strcmp (conf_key, CALENDAR_SOURCES)) - source_selection_key = SELECTED_CALENDARS; -@@ -328,16 +327,12 @@ - modify_esource (const char* conf_key, GwAccountInfo *old_account_info, const char* new_group_name, CamelURL *new_url) - { - ESourceList *list; -- ESourceGroup *group; -- ESource *source; - GSList *groups; -- GSList *sources; - char *old_relative_uri; - CamelURL *url; - gboolean found_group; - GConfClient* client; - const char *poa_address; -- char *new_relative_uri; - const char *new_poa_address; - - url = camel_url_new (old_account_info->source_url, NULL); -@@ -354,20 +349,23 @@ - found_group = FALSE; - - for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) { -- -- group = E_SOURCE_GROUP (groups->data); -+ ESourceGroup *group = E_SOURCE_GROUP (groups->data); - - if (strcmp (e_source_group_peek_name (group), old_account_info->name) == 0 && - strcmp (e_source_group_peek_base_uri (group), GROUPWISE_URI_PREFIX) == 0) { -- -- sources = e_source_group_peek_sources (group); -+ GSList *sources = e_source_group_peek_sources (group); - - for ( ; sources != NULL; sources = g_slist_next (sources)) { -- -- source = E_SOURCE (sources->data); -- -- if (strcmp (e_source_peek_relative_uri (source), old_relative_uri) == 0) { -- -+ ESource *source = E_SOURCE (sources->data); -+ const gchar *source_relative_uri; -+ -+ g_assert (source != NULL); -+ source_relative_uri = e_source_peek_relative_uri (source); -+ if (source_relative_uri == NULL) -+ continue; -+ if (strcmp (source_relative_uri, old_relative_uri) == 0) { -+ gchar *new_relative_uri; -+ - new_relative_uri = g_strdup_printf ("%s@%s/", new_url->user, new_poa_address); - e_source_group_set_name (group, new_group_name); - e_source_set_relative_uri (source, new_relative_uri); ---- evolution-2.10.1/plugins/hula-account-setup/camel-hula-listener.c.check-uri-before-strcmp 2007-04-09 09:09:14.000000000 -0400 -+++ evolution-2.10.1/plugins/hula-account-setup/camel-hula-listener.c 2007-05-14 13:34:13.000000000 -0400 -@@ -241,10 +241,7 @@ - remove_esource (const char *conf_key, const char *group_name, char* source_name, const char* relative_uri) - { - ESourceList *list; -- ESourceGroup *group; -- ESource *source; - GSList *groups; -- GSList *sources; - gboolean found_group; - GConfClient* client; - GSList *ids; -@@ -258,19 +255,21 @@ - found_group = FALSE; - - for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) { -- -- group = E_SOURCE_GROUP (groups->data); -+ ESourceGroup *group = E_SOURCE_GROUP (groups->data); - - if (strcmp (e_source_group_peek_name (group), group_name) == 0 && - strcmp (e_source_group_peek_base_uri (group), HULA_CALDAV_URI_PREFIX ) == 0) { -- -- sources = e_source_group_peek_sources (group); -+ GSList *sources = e_source_group_peek_sources (group); - - for( ; sources != NULL; sources = g_slist_next (sources)) { -- -- source = E_SOURCE (sources->data); -- -- if (strcmp (e_source_peek_relative_uri (source), relative_uri) == 0) { -+ ESource *source = E_SOURCE (sources->data); -+ const gchar *source_relative_uri; -+ -+ g_assert (source != NULL); -+ source_relative_uri = e_source_peek_relative_uri (source); -+ if (source_relative_uri == NULL) -+ continue; -+ if (strcmp (source_relative_uri, relative_uri) == 0) { - - if (!strcmp (conf_key, CALENDAR_SOURCES)) - source_selection_key = SELECTED_CALENDARS; -@@ -311,15 +310,11 @@ - modify_esource (const char* conf_key, HulaAccountInfo *old_account_info, const char* new_group_name, CamelURL *new_url) - { - ESourceList *list; -- ESourceGroup *group; -- ESource *source; - GSList *groups; -- GSList *sources; - char *old_relative_uri; - CamelURL *url; - gboolean found_group; - GConfClient* client; -- char *new_relative_uri; - - url = camel_url_new (old_account_info->source_url, NULL); - if (!url->host || strlen (url->host) ==0) -@@ -334,19 +329,23 @@ - - for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) { - -- group = E_SOURCE_GROUP (groups->data); -+ ESourceGroup *group = E_SOURCE_GROUP (groups->data); - - if (strcmp (e_source_group_peek_name (group), old_account_info->name) == 0 && - strcmp (e_source_group_peek_base_uri (group), HULA_CALDAV_URI_PREFIX) == 0) { -- -- sources = e_source_group_peek_sources (group); -+ GSList *sources = e_source_group_peek_sources (group); - - for ( ; sources != NULL; sources = g_slist_next (sources)) { -- -- source = E_SOURCE (sources->data); -- -- if (strcmp (e_source_peek_relative_uri (source), old_relative_uri) == 0) { -- -+ ESource *source = E_SOURCE (sources->data); -+ const gchar *source_relative_uri; -+ -+ g_assert (source != NULL); -+ source_relative_uri = e_source_peek_relative_uri (source); -+ if (source_relative_uri == NULL) -+ continue; -+ if (strcmp (source_relative_uri, old_relative_uri) == 0) { -+ gchar *new_relative_uri; -+ - new_relative_uri = g_strdup_printf ("%s@%s:%d/dav/%s/calendar/Personal", new_url->user, new_url->host, new_url->port, new_url->user); - e_source_group_set_name (group, new_group_name); - e_source_set_relative_uri (source, new_relative_uri); ---- evolution-2.10.1/addressbook/gui/component/addressbook-component.c.check-uri-before-strcmp 2007-04-09 09:07:42.000000000 -0400 -+++ evolution-2.10.1/addressbook/gui/component/addressbook-component.c 2007-05-14 13:34:13.000000000 -0400 -@@ -118,7 +118,13 @@ - GSList *s; - for (s = sources; s; s = s->next) { - ESource *source = E_SOURCE (s->data); -- if (!strcmp (PERSONAL_RELATIVE_URI, e_source_peek_relative_uri (source))) { -+ const gchar *relative_uri; -+ -+ g_assert (source != NULL); -+ relative_uri = e_source_peek_relative_uri (source); -+ if (relative_uri == NULL) -+ continue; -+ if (!strcmp (PERSONAL_RELATIVE_URI, relative_uri)) { - personal_source = source; - break; - } ---- evolution-2.10.1/addressbook/gui/component/addressbook-migrate.c.check-uri-before-strcmp 2007-05-14 13:21:57.000000000 -0400 -+++ evolution-2.10.1/addressbook/gui/component/addressbook-migrate.c 2007-05-14 13:34:13.000000000 -0400 -@@ -472,7 +472,13 @@ - GSList *s; - for (s = sources; s; s = s->next) { - ESource *source = E_SOURCE (s->data); -- if (!strcmp (PERSONAL_RELATIVE_URI, e_source_peek_relative_uri (source))) { -+ const gchar *relative_uri; -+ -+ g_assert (source != NULL); -+ relative_uri = e_source_peek_relative_uri (source); -+ if (relative_uri == NULL) -+ continue; -+ if (!strcmp (PERSONAL_RELATIVE_URI, relative_uri)) { - *personal_source = g_object_ref (source); - break; - } ---- evolution-2.10.1/calendar/gui/calendar-component.c.check-uri-before-strcmp 2007-05-14 13:21:57.000000000 -0400 -+++ evolution-2.10.1/calendar/gui/calendar-component.c 2007-05-14 13:34:13.000000000 -0400 -@@ -210,7 +210,13 @@ - GSList *s; - for (s = sources; s; s = s->next) { - ESource *source = E_SOURCE (s->data); -- if (!strcmp (PERSONAL_RELATIVE_URI, e_source_peek_relative_uri (source))) { -+ const gchar *relative_uri; -+ -+ g_assert (source != NULL); -+ relative_uri = e_source_peek_relative_uri (source); -+ if (relative_uri == NULL) -+ continue; -+ if (!strcmp (PERSONAL_RELATIVE_URI, relative_uri)) { - personal_source = source; - break; - } ---- evolution-2.10.1/calendar/gui/tasks-component.c.check-uri-before-strcmp 2007-05-14 13:21:57.000000000 -0400 -+++ evolution-2.10.1/calendar/gui/tasks-component.c 2007-05-14 13:34:13.000000000 -0400 -@@ -170,7 +170,13 @@ - GSList *s; - for (s = sources; s; s = s->next) { - ESource *source = E_SOURCE (s->data); -- if (!strcmp (PERSONAL_RELATIVE_URI, e_source_peek_relative_uri (source))) { -+ const gchar *relative_uri; -+ -+ g_assert (source != NULL); -+ relative_uri = e_source_peek_relative_uri (source); -+ if (relative_uri == NULL) -+ continue; -+ if (!strcmp (PERSONAL_RELATIVE_URI, relative_uri)) { - personal_source = source; - break; - } ---- evolution-2.10.1/calendar/gui/memos-component.c.check-uri-before-strcmp 2007-05-14 13:21:57.000000000 -0400 -+++ evolution-2.10.1/calendar/gui/memos-component.c 2007-05-14 13:34:13.000000000 -0400 -@@ -174,7 +174,13 @@ - GSList *s; - for (s = sources; s; s = s->next) { - ESource *source = E_SOURCE (s->data); -- if (!strcmp (PERSONAL_RELATIVE_URI, e_source_peek_relative_uri (source))) { -+ const gchar *relative_uri; -+ -+ g_assert (source != NULL); -+ relative_uri = e_source_peek_relative_uri (source); -+ if (relative_uri == NULL) -+ continue; -+ if (!strcmp (PERSONAL_RELATIVE_URI, relative_uri)) { - personal_source = source; - break; - } ---- evolution-2.10.1/calendar/gui/migration.c.check-uri-before-strcmp 2007-05-14 13:21:57.000000000 -0400 -+++ evolution-2.10.1/calendar/gui/migration.c 2007-05-14 13:34:13.000000000 -0400 -@@ -466,7 +466,13 @@ - GSList *s; - for (s = sources; s; s = s->next) { - ESource *source = E_SOURCE (s->data); -- if (!strcmp (PERSONAL_RELATIVE_URI, e_source_peek_relative_uri (source))) { -+ const gchar *relative_uri; -+ -+ g_assert (source != NULL); -+ relative_uri = e_source_peek_relative_uri (source); -+ if (relative_uri == NULL) -+ continue; -+ if (!strcmp (PERSONAL_RELATIVE_URI, relative_uri)) { - *personal_source = g_object_ref (source); - break; - } -@@ -562,7 +568,13 @@ - GSList *s; - for (s = sources; s; s = s->next) { - ESource *source = E_SOURCE (s->data); -- if (!strcmp (PERSONAL_RELATIVE_URI, e_source_peek_relative_uri (source))) { -+ const gchar *relative_uri; -+ -+ g_assert (source != NULL); -+ relative_uri = e_source_peek_relative_uri (source); -+ if (relative_uri == NULL) -+ continue; -+ if (!strcmp (PERSONAL_RELATIVE_URI, relative_uri)) { - *personal_source = g_object_ref (source); - break; - } -@@ -1070,7 +1082,13 @@ - GSList *s; - for (s = sources; s; s = s->next) { - ESource *source = E_SOURCE (s->data); -- if (!strcmp (PERSONAL_RELATIVE_URI, e_source_peek_relative_uri (source))) { -+ const gchar *relative_uri; -+ -+ g_assert (source != NULL); -+ relative_uri = e_source_peek_relative_uri (source); -+ if (relative_uri == NULL) -+ continue; -+ if (!strcmp (PERSONAL_RELATIVE_URI, relative_uri)) { - *personal_source = g_object_ref (source); - break; - } diff --git a/evolution-2.10.1-fix-help.patch b/evolution-2.10.1-fix-help.patch deleted file mode 100644 index caf4565..0000000 --- a/evolution-2.10.1-fix-help.patch +++ /dev/null @@ -1,192 +0,0 @@ ---- evolution-2.10.1/widgets/misc/e-multi-config-dialog.c.fix-help 2007-04-09 09:10:24.000000000 -0400 -+++ evolution-2.10.1/widgets/misc/e-multi-config-dialog.c 2007-04-13 22:26:25.000000000 -0400 -@@ -192,13 +192,12 @@ - - switch (response_id) { - case GTK_RESPONSE_HELP: -- gnome_help_display_desktop (NULL, -- "evolution-" BASE_VERSION, -- "evolution-" BASE_VERSION ".xml", -- "config-prefs", -- &error); -- if (error != NULL) -+ gnome_help_display ( -+ "evolution.xml", "config-prefs", &error); -+ if (error != NULL) { - g_warning ("%s", error->message); -+ g_error_free (error); -+ } - break; - case GTK_RESPONSE_CLOSE: - default: ---- evolution-2.10.1/widgets/misc/e-send-options.c.fix-help 2007-04-13 22:25:21.000000000 -0400 -+++ evolution-2.10.1/widgets/misc/e-send-options.c 2007-04-13 22:26:25.000000000 -0400 -@@ -588,34 +588,32 @@ - - static void e_send_options_cb (GtkDialog *dialog, gint state, gpointer func_data) - { -+ ESendOptionsDialogPrivate *priv; -+ ESendOptionsDialog *sod; -+ GError *error = NULL; - -- ESendOptionsDialogPrivate *priv; -- ESendOptionsDialog *sod; -- GError *error = NULL; -- -- sod = func_data; -- priv = sod->priv; -- -- switch (state) { -- case GTK_RESPONSE_OK: -- e_send_options_get_widgets_data (sod); -- case GTK_RESPONSE_CANCEL: -- gtk_widget_hide (priv->main); -- gtk_widget_destroy (priv->main); -- g_object_unref (priv->xml); -- break; -- case GTK_RESPONSE_HELP: -- gnome_help_display_desktop (NULL, -- "evolution-" BASE_VERSION, -- "evolution-" BASE_VERSION ".xml", -- priv->help_section, -- &error); -- if (error != NULL) -- g_warning ("%s", error->message); -- break; -- } -- g_signal_emit (G_OBJECT (func_data), signals[SOD_RESPONSE], 0, state); -+ sod = func_data; -+ priv = sod->priv; -+ -+ switch (state) { -+ case GTK_RESPONSE_OK: -+ e_send_options_get_widgets_data (sod); -+ case GTK_RESPONSE_CANCEL: -+ gtk_widget_hide (priv->main); -+ gtk_widget_destroy (priv->main); -+ g_object_unref (priv->xml); -+ break; -+ case GTK_RESPONSE_HELP: -+ gnome_help_display ( -+ "evolution.xml", priv->help_section, &error); -+ if (error != NULL) { -+ g_warning ("%s", error->message); -+ g_error_free (error); -+ } -+ break; -+ } - -+ g_signal_emit (G_OBJECT (func_data), signals[SOD_RESPONSE], 0, state); - } - - gboolean ---- evolution-2.10.1/plugins/exchange-operations/exchange-send-options.c.fix-help 2007-04-13 22:25:21.000000000 -0400 -+++ evolution-2.10.1/plugins/exchange-operations/exchange-send-options.c 2007-04-13 22:26:25.000000000 -0400 -@@ -191,21 +191,20 @@ - - switch (state) { - case GTK_RESPONSE_OK: -- exchange_send_options_get_widgets_data (sod); -+ exchange_send_options_get_widgets_data (sod); - case GTK_RESPONSE_CANCEL: -- gtk_widget_hide (priv->main); -- gtk_widget_destroy (priv->main); -- g_object_unref (priv->xml); -- break; -+ gtk_widget_hide (priv->main); -+ gtk_widget_destroy (priv->main); -+ g_object_unref (priv->xml); -+ break; - case GTK_RESPONSE_HELP: -- gnome_help_display_desktop (NULL, -- "evolution-" BASE_VERSION, -- "evolution-" BASE_VERSION ".xml", -- priv->help_section, -- &error); -- if (error != NULL) -- g_warning ("%s", error->message); -- break; -+ gnome_help_display ( -+ "evolution.xml", priv->help_section, &error); -+ if (error != NULL) { -+ g_warning ("%s", error->message); -+ g_error_free (error); -+ } -+ break; - } - g_signal_emit (G_OBJECT (func_data), signals[SOD_RESPONSE], 0, state); - ---- evolution-2.10.1/addressbook/gui/contact-editor/e-contact-editor.c.fix-help 2007-04-13 22:25:21.000000000 -0400 -+++ evolution-2.10.1/addressbook/gui/contact-editor/e-contact-editor.c 2007-04-13 22:26:02.000000000 -0400 -@@ -3235,13 +3235,12 @@ - { - GError *error = NULL; - -- gnome_help_display_desktop (NULL, -- "evolution-" BASE_VERSION, -- "evolution-" BASE_VERSION ".xml", -- "usage-contact-cards", -- &error); -- if (error != NULL) -+ gnome_help_display ( -+ "evolution.xml", "usage-contact-cards", &error); -+ if (error != NULL) { - g_warning ("%s", error->message); -+ g_error_free (error); -+ } - } - - static GList * ---- evolution-2.10.1/composer/e-msg-composer.c.fix-help 2007-04-13 22:25:21.000000000 -0400 -+++ evolution-2.10.1/composer/e-msg-composer.c 2007-04-13 22:26:25.000000000 -0400 -@@ -2886,13 +2886,12 @@ - GError *error = NULL; - EMsgComposerPrivate *p = composer->priv; - -- gnome_help_display_desktop (NULL, -- "evolution-" BASE_VERSION, -- "evolution-" BASE_VERSION ".xml", -- "usage-composer", -- &error); -- if (error != NULL) -+ gnome_help_display ( -+ "evolution.xml", "usage-composer", &error); -+ if (error != NULL) { - g_warning ("%s", error->message); -+ g_error_free (error); -+ } - } - - ---- evolution-2.10.1/shell/e-shell-window.c.fix-help 2007-04-13 22:25:21.000000000 -0400 -+++ evolution-2.10.1/shell/e-shell-window.c 2007-04-13 22:26:02.000000000 -0400 -@@ -1042,7 +1042,7 @@ - bonobo_ui_util_set_ui (priv->ui_component, - PREFIX, - xmlfile, -- "evolution-" BASE_VERSION, NULL); -+ "evolution", NULL); - g_free (xmlfile); - - e_shell_window_commands_setup (window); ---- evolution-2.10.1/calendar/gui/dialogs/comp-editor.c.fix-help 2007-04-13 22:25:21.000000000 -0400 -+++ evolution-2.10.1/calendar/gui/dialogs/comp-editor.c 2007-04-13 22:26:25.000000000 -0400 -@@ -1693,13 +1693,12 @@ - - priv = editor->priv; - -- gnome_help_display_desktop (NULL, -- "evolution-" BASE_VERSION, -- "evolution-" BASE_VERSION ".xml", -- priv->help_section, -- &error); -- if (error != NULL) -+ gnome_help_display ( -+ "evolution.xml", priv->help_section, &error); -+ if (error != NULL) { - g_warning ("%s", error->message); -+ g_error_free (error); -+ } - } - - diff --git a/evolution-2.10.1-send-recv-dialog.patch b/evolution-2.10.1-send-recv-dialog.patch deleted file mode 100644 index e8fb570..0000000 --- a/evolution-2.10.1-send-recv-dialog.patch +++ /dev/null @@ -1,101 +0,0 @@ ---- evolution-2.11.2/mail/mail-send-recv.c.send-recv-dialog 2007-05-18 16:03:24.000000000 -0400 -+++ evolution-2.11.2/mail/mail-send-recv.c 2007-05-18 16:08:58.000000000 -0400 -@@ -362,23 +362,6 @@ - return SEND_INVALID; - } - --static gboolean --dialog_map (GtkWidget *window, GdkEvent *event, GtkWidget *table) --{ -- int h, w; -- -- w = table->allocation.width + 30 /* Spacing around the table */; -- h = table->allocation.height + 60 /* Cancell All button and Seperator and outer spacing */; -- -- if (w > 750) -- w = 750; -- if (h > 400) -- h = 400; -- gtk_widget_set_size_request (window, w, h); -- -- return FALSE; --} -- - static struct _send_data * - build_dialog (EAccountList *accounts, CamelFolder *outbox, const char *destination) - { -@@ -444,7 +427,7 @@ - scrolled_window = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy ( - GTK_SCROLLED_WINDOW (scrolled_window), -- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); -+ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - - gtk_scrolled_window_add_with_viewport ( - GTK_SCROLLED_WINDOW (scrolled_window), table); -@@ -504,6 +487,8 @@ - "stock_mail-receive", E_ICON_SIZE_LARGE_TOOLBAR); - pretty_url = format_url (source->url, account->name); - label = gtk_label_new (NULL); -+ gtk_label_set_ellipsize ( -+ GTK_LABEL (label), PANGO_ELLIPSIZE_END); - gtk_label_set_markup (GTK_LABEL (label), pretty_url); - g_free (pretty_url); - -@@ -522,16 +507,16 @@ - - gtk_table_attach ( - GTK_TABLE (table), recv_icon, -- 0, 1, row, row+2, GTK_EXPAND | GTK_FILL, 0, 0, 0); -+ 0, 1, row, row+2, 0, 0, 0, 0); - gtk_table_attach ( - GTK_TABLE (table), label, - 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, 0, 0, 0); - gtk_table_attach ( - GTK_TABLE (table), progress_bar, -- 2, 3, row, row+2, GTK_EXPAND | GTK_FILL, 0, 0, 0); -+ 2, 3, row, row+2, 0, 0, 0, 0); - gtk_table_attach ( - GTK_TABLE (table), cancel_button, -- 3, 4, row, row+2, GTK_EXPAND | GTK_FILL, 0, 0, 0); -+ 3, 4, row, row+2, 0, 0, 0, 0); - gtk_table_attach ( - GTK_TABLE (table), status_label, - 1, 2, row+1, row+2, GTK_EXPAND | GTK_FILL, 0, 0, 0); -@@ -572,6 +557,8 @@ - "stock_mail-send", E_ICON_SIZE_LARGE_TOOLBAR); - pretty_url = format_url (destination, NULL); - label = gtk_label_new (NULL); -+ gtk_label_set_ellipsize ( -+ GTK_LABEL (label), PANGO_ELLIPSIZE_END); - gtk_label_set_markup (GTK_LABEL (label), pretty_url); - - g_free (pretty_url); -@@ -587,16 +574,16 @@ - - gtk_table_attach ( - GTK_TABLE (table), send_icon, -- 0, 1, row, row+2, GTK_EXPAND | GTK_FILL, 0, 0, 0); -+ 0, 1, row, row+2, 0, 0, 0, 0); - gtk_table_attach ( - GTK_TABLE (table), label, - 1, 2, row, row+1, GTK_EXPAND | GTK_FILL, 0, 0, 0); - gtk_table_attach ( - GTK_TABLE (table), progress_bar, -- 2, 3, row, row+2, GTK_EXPAND | GTK_FILL, 0, 0, 0); -+ 2, 3, row, row+2, 0, 0, 0, 0); - gtk_table_attach ( - GTK_TABLE (table), cancel_button, -- 3, 4, row, row+2, GTK_EXPAND | GTK_FILL, 0, 0, 0); -+ 3, 4, row, row+2, 0, 0, 0, 0); - gtk_table_attach ( - GTK_TABLE (table), status_label, - 1, 2, row+1, row+2, GTK_EXPAND | GTK_FILL, 0, 0, 0); -@@ -615,7 +602,6 @@ - gtk_widget_show (GTK_WIDGET (gd)); - - g_signal_connect (gd, "response", G_CALLBACK (dialog_response), data); -- g_signal_connect (gd, "map-event", G_CALLBACK (dialog_map), table); - - g_object_weak_ref ((GObject *) gd, (GWeakNotify) dialog_destroy_cb, data); - diff --git a/evolution-2.11.3-implicit-function-declaration.patch b/evolution-2.11.3-implicit-function-declaration.patch new file mode 100644 index 0000000..554191a --- /dev/null +++ b/evolution-2.11.3-implicit-function-declaration.patch @@ -0,0 +1,10 @@ +--- evolution-2.11.3/mail/mail-ops.h.implicit-function-declaration 2007-06-04 13:52:57.000000000 -0400 ++++ evolution-2.11.3/mail/mail-ops.h 2007-06-04 13:53:23.000000000 -0400 +@@ -156,6 +156,7 @@ void mail_prep_offline(const char *uri, + int mail_store_set_offline(CamelStore *store, gboolean offline, + void (*done)(CamelStore *, void *data), + void *data); ++int mail_store_prepare_offline (CamelStore *store); + + /* filter driver execute shell command async callback */ + void mail_execute_shell_command (CamelFilterDriver *driver, int argc, char **argv, void *data); diff --git a/evolution-2.4.1-hide-switcher-buttons-by-default.patch b/evolution-2.4.1-hide-switcher-buttons-by-default.patch index bada5b5..f5ac169 100644 --- a/evolution-2.4.1-hide-switcher-buttons-by-default.patch +++ b/evolution-2.4.1-hide-switcher-buttons-by-default.patch @@ -1,5 +1,5 @@ ---- evolution-2.4.1/shell/apps_evolution_shell.schemas.in.in.hide-switcher-buttons-by-default 2005-10-26 16:21:15.000000000 -0400 -+++ evolution-2.4.1/shell/apps_evolution_shell.schemas.in.in 2005-10-26 16:21:22.000000000 -0400 +--- evolution-2.4.1/shell/apps_evolution_shell.schemas.in.hide-switcher-buttons-by-default 2005-10-26 16:21:15.000000000 -0400 ++++ evolution-2.4.1/shell/apps_evolution_shell.schemas.in 2005-10-26 16:21:22.000000000 -0400 @@ -99,7 +99,7 @@ /apps/evolution/shell/view_defaults/buttons_visible evolution diff --git a/evolution-2.5.4-fix-conduit-dir.patch b/evolution-2.5.4-fix-conduit-dir.patch index cba890a..31726ab 100644 --- a/evolution-2.5.4-fix-conduit-dir.patch +++ b/evolution-2.5.4-fix-conduit-dir.patch @@ -1,88 +1,88 @@ ---- evolution-2.9.5/addressbook/conduit/Makefile.am.fix-conduit-dir 2007-01-03 10:32:47.000000000 -0500 -+++ evolution-2.9.5/addressbook/conduit/Makefile.am 2007-01-21 22:05:23.000000000 -0500 -@@ -28,7 +28,7 @@ +--- evolution-2.11.3/addressbook/conduit/Makefile.am.fix-conduit-dir 2007-06-03 11:07:44.000000000 -0400 ++++ evolution-2.11.3/addressbook/conduit/Makefile.am 2007-06-04 12:55:32.000000000 -0400 +@@ -28,7 +28,7 @@ e-address.conduit: e-address.conduit.in -e 's^\@BASE_VERSION\@^$(BASE_VERSION)^g' \ $< > $@ -conduitdir = $(datadir)/gnome-pilot/conduits/ +conduitdir = $(libdir)/gnome-pilot/conduits/ - conduit_DATA = e-address-$(BASE_VERSION).conduit + conduit_DATA = e-address.conduit BUILT_SOURCES = $(conduit_DATA) ---- evolution-2.9.5/addressbook/conduit/Makefile.in.fix-conduit-dir 2007-01-21 22:05:44.000000000 -0500 -+++ evolution-2.9.5/addressbook/conduit/Makefile.in 2007-01-21 22:06:04.000000000 -0500 -@@ -459,7 +459,7 @@ - $(top_builddir)/widgets/misc/libemiscwidgets.la \ +--- evolution-2.11.3/addressbook/conduit/Makefile.in.fix-conduit-dir 2007-06-04 07:36:46.000000000 -0400 ++++ evolution-2.11.3/addressbook/conduit/Makefile.in 2007-06-04 12:55:53.000000000 -0400 +@@ -459,7 +459,7 @@ libeaddress_conduit_la_LIBADD = \ + $(top_builddir)/widgets/misc/libemiscwidgets.la \ $(EVOLUTION_ADDRESSBOOK_CONDUIT_LIBS) -conduitdir = $(datadir)/gnome-pilot/conduits/ +conduitdir = $(libdir)/gnome-pilot/conduits/ - conduit_DATA = e-address-$(BASE_VERSION).conduit + conduit_DATA = e-address.conduit BUILT_SOURCES = $(conduit_DATA) CLEANFILES = $(BUILT_SOURCES) ---- evolution-2.9.5/calendar/conduits/todo/Makefile.am.fix-conduit-dir 2007-01-03 10:34:54.000000000 -0500 -+++ evolution-2.9.5/calendar/conduits/todo/Makefile.am 2007-01-21 22:05:23.000000000 -0500 -@@ -24,7 +24,7 @@ +--- evolution-2.11.3/calendar/conduits/todo/Makefile.am.fix-conduit-dir 2007-06-03 11:08:16.000000000 -0400 ++++ evolution-2.11.3/calendar/conduits/todo/Makefile.am 2007-06-04 12:56:19.000000000 -0400 +@@ -25,7 +25,7 @@ e-todo.conduit: e-todo.conduit.in -e 's^\@BASE_VERSION\@^$(BASE_VERSION)^g' \ $< > $@ -conduitdir = $(datadir)/gnome-pilot/conduits/ +conduitdir = $(libdir)/gnome-pilot/conduits/ - conduit_DATA = e-todo-$(BASE_VERSION).conduit + conduit_DATA = e-todo.conduit BUILT_SOURCES = $(conduit_DATA) ---- evolution-2.9.5/calendar/conduits/todo/Makefile.in.fix-conduit-dir 2007-01-21 22:06:31.000000000 -0500 -+++ evolution-2.9.5/calendar/conduits/todo/Makefile.in 2007-01-21 22:06:39.000000000 -0500 -@@ -454,7 +454,7 @@ - $(top_builddir)/widgets/misc/libemiscwidgets.la \ +--- evolution-2.11.3/calendar/conduits/todo/Makefile.in.fix-conduit-dir 2007-06-04 07:36:51.000000000 -0400 ++++ evolution-2.11.3/calendar/conduits/todo/Makefile.in 2007-06-04 12:56:28.000000000 -0400 +@@ -456,7 +456,7 @@ libetodo_conduit_la_LIBADD = \ + $(top_builddir)/widgets/misc/libemiscwidgets.la \ $(EVOLUTION_CALENDAR_CONDUIT_LIBS) -conduitdir = $(datadir)/gnome-pilot/conduits/ +conduitdir = $(libdir)/gnome-pilot/conduits/ - conduit_DATA = e-todo-$(BASE_VERSION).conduit + conduit_DATA = e-todo.conduit BUILT_SOURCES = $(conduit_DATA) CLEANFILES = $(BUILT_SOURCES) ---- evolution-2.9.5/calendar/conduits/memo/Makefile.am.fix-conduit-dir 2007-01-03 10:34:54.000000000 -0500 -+++ evolution-2.9.5/calendar/conduits/memo/Makefile.am 2007-01-21 22:05:23.000000000 -0500 -@@ -24,7 +24,7 @@ +--- evolution-2.11.3/calendar/conduits/memo/Makefile.am.fix-conduit-dir 2007-06-03 11:08:16.000000000 -0400 ++++ evolution-2.11.3/calendar/conduits/memo/Makefile.am 2007-06-04 12:56:49.000000000 -0400 +@@ -25,7 +25,7 @@ e-memo.conduit: e-memo.conduit.in -e 's^\@BASE_VERSION\@^$(BASE_VERSION)^g' \ $< > $@ -conduitdir = $(datadir)/gnome-pilot/conduits/ +conduitdir = $(libdir)/gnome-pilot/conduits/ - conduit_DATA = e-memo-$(BASE_VERSION).conduit + conduit_DATA = e-memo.conduit BUILT_SOURCES = $(conduit_DATA) ---- evolution-2.9.5/calendar/conduits/memo/Makefile.in.fix-conduit-dir 2007-01-21 22:06:46.000000000 -0500 -+++ evolution-2.9.5/calendar/conduits/memo/Makefile.in 2007-01-21 22:06:54.000000000 -0500 -@@ -454,7 +454,7 @@ - $(top_builddir)/widgets/misc/libemiscwidgets.la \ +--- evolution-2.11.3/calendar/conduits/memo/Makefile.in.fix-conduit-dir 2007-06-04 07:36:50.000000000 -0400 ++++ evolution-2.11.3/calendar/conduits/memo/Makefile.in 2007-06-04 12:56:40.000000000 -0400 +@@ -456,7 +456,7 @@ libememo_conduit_la_LIBADD = \ + $(top_builddir)/widgets/misc/libemiscwidgets.la \ $(EVOLUTION_CALENDAR_CONDUIT_LIBS) -conduitdir = $(datadir)/gnome-pilot/conduits/ +conduitdir = $(libdir)/gnome-pilot/conduits/ - conduit_DATA = e-memo-$(BASE_VERSION).conduit + conduit_DATA = e-memo.conduit BUILT_SOURCES = $(conduit_DATA) CLEANFILES = $(BUILT_SOURCES) ---- evolution-2.9.5/calendar/conduits/calendar/Makefile.am.fix-conduit-dir 2007-01-03 10:34:54.000000000 -0500 -+++ evolution-2.9.5/calendar/conduits/calendar/Makefile.am 2007-01-21 22:05:23.000000000 -0500 -@@ -24,7 +24,7 @@ +--- evolution-2.11.3/calendar/conduits/calendar/Makefile.am.fix-conduit-dir 2007-06-03 11:08:16.000000000 -0400 ++++ evolution-2.11.3/calendar/conduits/calendar/Makefile.am 2007-06-04 12:57:02.000000000 -0400 +@@ -25,7 +25,7 @@ e-calendar.conduit: e-calendar.conduit.i -e 's^\@BASE_VERSION\@^$(BASE_VERSION)^g' \ $< > $@ -conduitdir = $(datadir)/gnome-pilot/conduits/ +conduitdir = $(libdir)/gnome-pilot/conduits/ - conduit_DATA = e-calendar-$(BASE_VERSION).conduit + conduit_DATA = e-calendar.conduit BUILT_SOURCES = $(conduit_DATA) ---- evolution-2.9.5/calendar/conduits/calendar/Makefile.in.fix-conduit-dir 2007-01-21 22:06:15.000000000 -0500 -+++ evolution-2.9.5/calendar/conduits/calendar/Makefile.in 2007-01-21 22:06:23.000000000 -0500 -@@ -456,7 +456,7 @@ - $(top_builddir)/widgets/misc/libemiscwidgets.la \ +--- evolution-2.11.3/calendar/conduits/calendar/Makefile.in.fix-conduit-dir 2007-06-04 07:36:50.000000000 -0400 ++++ evolution-2.11.3/calendar/conduits/calendar/Makefile.in 2007-06-04 12:57:11.000000000 -0400 +@@ -458,7 +458,7 @@ libecalendar_conduit_la_LIBADD = \ + $(top_builddir)/widgets/misc/libemiscwidgets.la \ $(EVOLUTION_CALENDAR_CONDUIT_LIBS) -conduitdir = $(datadir)/gnome-pilot/conduits/ +conduitdir = $(libdir)/gnome-pilot/conduits/ - conduit_DATA = e-calendar-$(BASE_VERSION).conduit + conduit_DATA = e-calendar.conduit BUILT_SOURCES = $(conduit_DATA) CLEANFILES = $(BUILT_SOURCES) diff --git a/evolution-2.7.92-fix-prgname.patch b/evolution-2.7.92-fix-prgname.patch deleted file mode 100644 index 98689f4..0000000 --- a/evolution-2.7.92-fix-prgname.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- evolution-2.7.92/shell/main.c.fix-prgname 2006-08-28 11:04:44.000000000 -0400 -+++ evolution-2.7.92/shell/main.c 2006-08-28 11:04:56.000000000 -0400 -@@ -516,7 +516,7 @@ - - g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE); - -- program = gnome_program_init (PACKAGE "-" BASE_VERSION, VERSION, LIBGNOMEUI_MODULE, argc, argv, -+ program = gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE, argc, argv, - GNOME_PROGRAM_STANDARD_PROPERTIES, - GNOME_PARAM_GOPTION_CONTEXT, context, - GNOME_PARAM_HUMAN_READABLE_NAME, _("Evolution"), diff --git a/evolution-2.8.1-kill-ethread.patch b/evolution-2.8.1-kill-ethread.patch index be61226..1892023 100644 --- a/evolution-2.8.1-kill-ethread.patch +++ b/evolution-2.8.1-kill-ethread.patch @@ -1,6 +1,6 @@ ---- evolution-2.11.2/mail/mail-send-recv.c.kill-ethread 2007-04-20 00:28:22.000000000 -0400 -+++ evolution-2.11.2/mail/mail-send-recv.c 2007-05-18 15:34:09.000000000 -0400 -@@ -778,23 +778,22 @@ +--- evolution-2.11.3/mail/mail-send-recv.c.kill-ethread 2007-06-03 11:08:08.000000000 -0400 ++++ evolution-2.11.3/mail/mail-send-recv.c 2007-06-04 14:25:34.000000000 -0400 +@@ -764,23 +764,22 @@ receive_get_folder(CamelFilterDriver *d, /* ********************************************************************** */ struct _refresh_folders_msg { @@ -28,7 +28,7 @@ int i; CamelFolder *folder; CamelException ex = CAMEL_EXCEPTION_INITIALISER; -@@ -812,17 +811,14 @@ +@@ -802,17 +801,14 @@ refresh_folders_get (struct _mail_msg *m } static void @@ -48,7 +48,7 @@ int i; for (i=0;ifolders->len;i++) -@@ -831,11 +827,12 @@ +@@ -821,11 +817,12 @@ refresh_folders_free (struct _mail_msg * camel_object_unref(m->store); } @@ -66,7 +66,7 @@ }; static void -@@ -868,13 +865,13 @@ +@@ -858,13 +855,13 @@ receive_update_got_folderinfo(CamelStore get_folders(store, folders, info); @@ -82,9 +82,9 @@ } else { receive_done ("", data); } ---- evolution-2.11.2/mail/mail-component.c.kill-ethread 2007-05-13 13:41:10.000000000 -0400 -+++ evolution-2.11.2/mail/mail-component.c 2007-05-18 15:34:09.000000000 -0400 -@@ -1014,7 +1014,7 @@ +--- evolution-2.11.3/mail/mail-component.c.kill-ethread 2007-06-03 11:08:08.000000000 -0400 ++++ evolution-2.11.3/mail/mail-component.c 2007-06-04 14:25:34.000000000 -0400 +@@ -1014,7 +1014,7 @@ impl_handleURI (PortableServer_Servant s if (camel_url_get_param(url, "uid") != NULL) { char *curi = em_uri_to_camel(uri); @@ -93,8 +93,8 @@ g_free(curi); } else { g_warning("email uri's must include a uid parameter"); ---- evolution-2.11.2/mail/mail-ops.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/mail-ops.c 2007-05-18 15:34:09.000000000 -0400 +--- evolution-2.11.3/mail/mail-ops.c.kill-ethread 2007-06-01 03:08:56.000000000 -0400 ++++ evolution-2.11.3/mail/mail-ops.c 2007-06-04 14:25:34.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 */ @@ -104,7 +104,7 @@ CamelFolder *source_folder; /* where they come from */ GPtrArray *source_uids; /* uids to copy, or NULL == copy all */ -@@ -99,8 +99,8 @@ +@@ -99,8 +99,8 @@ struct _fetch_mail_msg { void *data; }; @@ -115,7 +115,7 @@ { return g_strdup (_("Filtering Selected Messages")); } -@@ -108,9 +108,8 @@ +@@ -108,9 +108,8 @@ em_filter_folder_element_describe (struc /* filter a folder, or a subset thereof, uses source_folder/source_uids */ /* this is shared with fetch_mail */ static void @@ -126,7 +126,7 @@ CamelFolder *folder; GPtrArray *uids, *folder_uids = NULL; -@@ -137,15 +136,15 @@ +@@ -137,15 +136,15 @@ em_filter_folder_element_filter (struct else folder_uids = uids = camel_folder_get_uids (folder); @@ -145,7 +145,7 @@ camel_folder_thaw (folder); if (m->destination) -@@ -161,15 +160,13 @@ +@@ -161,15 +160,13 @@ em_filter_folder_element_filter (struct } static void @@ -163,7 +163,7 @@ if (m->source_folder) camel_object_unref (m->source_folder); -@@ -188,11 +185,12 @@ +@@ -188,11 +185,12 @@ em_filter_folder_element_free (struct _m mail_session_flush_filter_log (); } @@ -181,7 +181,7 @@ }; void -@@ -202,7 +200,7 @@ +@@ -202,7 +200,7 @@ mail_filter_folder (CamelFolder *source_ { struct _filter_mail_msg *m; @@ -190,7 +190,7 @@ m->source_folder = source_folder; camel_object_ref (source_folder); m->source_uids = uids; -@@ -221,7 +219,7 @@ +@@ -221,7 +219,7 @@ mail_filter_folder (CamelFolder *source_ camel_filter_driver_remove_rule_by_name (m->driver, "new-mail-notification"); } @@ -199,7 +199,7 @@ } /* convenience functions for it */ -@@ -260,17 +258,16 @@ +@@ -260,17 +258,16 @@ uid_cachename_hack (CamelStore *store) return filename; } @@ -221,7 +221,7 @@ int i; if (m->cancel) -@@ -283,20 +280,20 @@ +@@ -283,20 +280,20 @@ fetch_mail_fetch (struct _mail_msg *mm) /* FIXME: this should support keep_on_server too, which would then perform a spool access thingy, right? problem is matching raw messages to uid's etc. */ if (!strncmp (m->source_uri, "mbox:", 5)) { @@ -247,7 +247,7 @@ if (folder) { /* this handles 'keep on server' stuff, if we have any new uid's to copy -@@ -322,17 +319,17 @@ +@@ -322,17 +319,17 @@ fetch_mail_fetch (struct _mail_msg *mm) camel_uid_cache_free_uids (cache_uids); fm->cache = cache; @@ -268,7 +268,7 @@ /* not keep on server - just delete all the actual messages on the server */ for (i=0;ilen;i++) { d(printf("force delete uid '%s'\n", (char *)folder_uids->pdata[i])); -@@ -348,7 +345,7 @@ +@@ -348,7 +345,7 @@ fetch_mail_fetch (struct _mail_msg *mm) camel_uid_cache_destroy (cache); camel_folder_free_uids (folder, folder_uids); } else { @@ -277,7 +277,7 @@ } /* we unref the source folder here since we -@@ -372,31 +369,28 @@ +@@ -372,31 +369,28 @@ fail: } static void @@ -318,7 +318,7 @@ }; /* ouch, a 'do everything' interface ... */ -@@ -409,7 +403,7 @@ +@@ -409,7 +403,7 @@ mail_fetch_mail (const char *source, int struct _fetch_mail_msg *m; struct _filter_mail_msg *fm; @@ -327,7 +327,7 @@ fm = (struct _filter_mail_msg *)m; m->source_uri = g_strdup (source); fm->delete = !keep; -@@ -426,7 +420,7 @@ +@@ -426,7 +420,7 @@ mail_fetch_mail (const char *source, int if (status) camel_filter_driver_set_status_func (fm->driver, status, status_data); @@ -336,7 +336,7 @@ } /* ********************************************************************** */ -@@ -657,7 +651,7 @@ +@@ -657,7 +651,7 @@ exit: /* ** SEND MAIL QUEUE ***************************************************** */ struct _send_queue_msg { @@ -345,7 +345,7 @@ CamelFolder *queue; char *destination; -@@ -689,9 +683,8 @@ +@@ -689,9 +683,8 @@ report_status (struct _send_queue_msg *m } static void @@ -356,7 +356,7 @@ CamelFolder *sent_folder = mail_component_get_folder(NULL, MAIL_COMPONENT_FOLDER_SENT); GPtrArray *uids, *send_uids = NULL; CamelException ex; -@@ -739,17 +732,17 @@ +@@ -739,17 +732,17 @@ send_queue_send(struct _mail_msg *mm) if (camel_exception_is_set (&ex)) { if (ex.id != CAMEL_EXCEPTION_USER_CANCEL) { /* merge exceptions into one */ @@ -378,7 +378,7 @@ break; } } -@@ -759,7 +752,7 @@ +@@ -759,7 +752,7 @@ send_queue_send(struct _mail_msg *mm) if (j > 0) report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Failed to send %d of %d messages"), j, send_uids->len); @@ -387,7 +387,7 @@ report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Canceled.")); else report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Complete.")); -@@ -785,19 +778,15 @@ +@@ -785,19 +778,15 @@ send_queue_send(struct _mail_msg *mm) } static void @@ -409,7 +409,7 @@ if (m->driver) camel_object_unref(m->driver); camel_object_unref(m->queue); -@@ -806,11 +795,12 @@ +@@ -806,11 +795,12 @@ send_queue_free(struct _mail_msg *mm) camel_operation_unref(m->cancel); } @@ -427,7 +427,7 @@ }; /* same interface as fetch_mail, just 'cause i'm lazy today (and we need to run it from the same spot?) */ -@@ -823,7 +813,7 @@ +@@ -823,7 +813,7 @@ mail_send_queue(CamelFolder *queue, cons { struct _send_queue_msg *m; @@ -436,7 +436,7 @@ m->queue = queue; camel_object_ref(queue); m->destination = g_strdup(destination); -@@ -839,13 +829,13 @@ +@@ -839,13 +829,13 @@ mail_send_queue(CamelFolder *queue, cons m->driver = camel_session_get_filter_driver (session, type, NULL); camel_filter_driver_set_folder_func (m->driver, get_folder, get_data); @@ -452,7 +452,7 @@ CamelFolder *folder; CamelMimeMessage *message; -@@ -856,45 +846,40 @@ +@@ -856,45 +846,40 @@ struct _append_msg { void *data; }; @@ -511,7 +511,7 @@ }; void -@@ -911,7 +896,7 @@ +@@ -911,7 +896,7 @@ mail_append_mail (CamelFolder *folder, C camel_medium_set_header (CAMEL_MEDIUM (message), "X-Mailer", "Evolution " VERSION SUB_VERSION " " VERSION_COMMENT); @@ -520,7 +520,7 @@ m->folder = folder; camel_object_ref(folder); m->message = message; -@@ -921,13 +906,13 @@ +@@ -921,13 +906,13 @@ mail_append_mail (CamelFolder *folder, C m->done = done; m->data = data; @@ -536,7 +536,7 @@ CamelFolder *source; GPtrArray *uids; -@@ -939,24 +924,21 @@ +@@ -939,24 +924,21 @@ struct _transfer_msg { void *data; }; @@ -566,7 +566,7 @@ return; if (dest == m->source) { -@@ -968,7 +950,7 @@ +@@ -968,7 +950,7 @@ transfer_messages_transfer (struct _mail camel_folder_freeze (m->source); camel_folder_freeze (dest); @@ -575,7 +575,7 @@ /* make sure all deleted messages are marked as seen */ -@@ -987,29 +969,26 @@ +@@ -987,29 +969,26 @@ transfer_messages_transfer (struct _mail } static void @@ -614,7 +614,7 @@ }; void -@@ -1026,7 +1005,7 @@ +@@ -1026,7 +1005,7 @@ mail_transfer_messages (CamelFolder *sou g_assert(uids != NULL); g_assert(dest_uri != NULL); @@ -623,7 +623,7 @@ m->source = source; camel_object_ref (source); m->uids = uids; -@@ -1036,13 +1015,13 @@ +@@ -1036,13 +1015,13 @@ mail_transfer_messages (CamelFolder *sou m->done = done; m->data = data; @@ -639,7 +639,7 @@ CamelStore *store; CamelFolderInfo *info; -@@ -1050,10 +1029,9 @@ +@@ -1050,10 +1029,9 @@ struct _get_folderinfo_msg { void *data; }; @@ -652,7 +652,7 @@ char *ret, *name; name = camel_service_get_name((CamelService *)m->store, TRUE); -@@ -1063,25 +1041,22 @@ +@@ -1063,25 +1041,22 @@ get_folderinfo_desc (struct _mail_msg *m } static void @@ -683,7 +683,7 @@ g_free (url); } -@@ -1090,20 +1065,19 @@ +@@ -1090,20 +1065,19 @@ get_folderinfo_got (struct _mail_msg *mm } static void @@ -711,7 +711,7 @@ }; int -@@ -1112,19 +1086,19 @@ +@@ -1112,19 +1086,19 @@ mail_get_folderinfo (CamelStore *store, struct _get_folderinfo_msg *m; int id; @@ -736,7 +736,7 @@ return id; } -@@ -1196,7 +1170,7 @@ +@@ -1196,7 +1170,7 @@ mail_build_attachment(CamelFolder *folde presumably create a folder ... */ struct _get_folder_msg { @@ -745,7 +745,7 @@ char *uri; guint32 flags; -@@ -1205,71 +1179,64 @@ +@@ -1205,71 +1179,64 @@ struct _get_folder_msg { void *data; }; @@ -834,7 +834,7 @@ char *uri; CamelStore *store; -@@ -1277,50 +1244,43 @@ +@@ -1277,50 +1244,43 @@ struct _get_store_msg { void *data; }; @@ -897,7 +897,7 @@ }; int -@@ -1329,25 +1289,25 @@ +@@ -1329,25 +1289,25 @@ mail_get_store (const char *uri, CamelOp struct _get_store_msg *m; int id; @@ -929,7 +929,7 @@ char *uri; gboolean removed; -@@ -1355,18 +1315,15 @@ +@@ -1355,18 +1315,15 @@ struct _remove_folder_msg { void *data; }; @@ -951,7 +951,7 @@ CamelStore *store; CamelFolder *folder; GPtrArray *uids; -@@ -1374,7 +1331,7 @@ +@@ -1374,7 +1331,7 @@ remove_folder_get (struct _mail_msg *mm) m->removed = FALSE; @@ -960,7 +960,7 @@ if (!folder) return; -@@ -1394,16 +1351,14 @@ +@@ -1394,16 +1351,14 @@ remove_folder_get (struct _mail_msg *mm) camel_store_unsubscribe_folder (store, folder->full_name, NULL); /* Then delete the folder from the store */ @@ -980,7 +980,7 @@ if (m->removed) { /* FIXME: Remove this folder from the folder cache ??? */ } -@@ -1413,18 +1368,17 @@ +@@ -1413,18 +1368,17 @@ remove_folder_got (struct _mail_msg *mm) } static void @@ -1006,7 +1006,7 @@ }; void -@@ -1432,59 +1386,56 @@ +@@ -1432,59 +1386,56 @@ mail_remove_folder (const char *uri, voi { struct _remove_folder_msg *m; @@ -1084,7 +1084,7 @@ }; void -@@ -1492,19 +1443,19 @@ +@@ -1492,19 +1443,19 @@ mail_sync_folder(CamelFolder *folder, vo { struct _sync_folder_msg *m; @@ -1107,7 +1107,7 @@ CamelStore *store; int expunge; -@@ -1512,9 +1463,9 @@ +@@ -1512,9 +1463,9 @@ struct _sync_store_msg { void *data; }; @@ -1119,7 +1119,7 @@ char *uri, *res; uri = camel_url_to_string(((CamelService *)m->store)->url, CAMEL_URL_HIDE_ALL); -@@ -1527,33 +1478,31 @@ +@@ -1527,33 +1478,31 @@ static char *sync_store_desc(struct _mai return res; } @@ -1166,7 +1166,7 @@ }; void -@@ -1561,36 +1510,37 @@ +@@ -1561,36 +1510,37 @@ mail_sync_store(CamelStore *store, int e { struct _sync_store_msg *m; @@ -1216,7 +1216,7 @@ }; void -@@ -1598,35 +1548,36 @@ +@@ -1598,35 +1548,36 @@ mail_refresh_folder(CamelFolder *folder, { struct _sync_folder_msg *m; @@ -1265,7 +1265,7 @@ }; void -@@ -1634,31 +1585,30 @@ +@@ -1634,31 +1585,30 @@ mail_expunge_folder(CamelFolder *folder, { struct _sync_folder_msg *m; @@ -1302,7 +1302,7 @@ return g_strdup_printf (_("Emptying trash in \'%s\'"), m->account ? m->account->name : _("Local Folders")); #else -@@ -1666,49 +1616,48 @@ +@@ -1666,49 +1616,48 @@ static char *empty_trash_desc(struct _ma #endif } @@ -1367,7 +1367,7 @@ }; void -@@ -1716,20 +1665,20 @@ +@@ -1716,20 +1665,20 @@ mail_empty_trash(EAccount *account, void { struct _empty_trash_msg *m; @@ -1391,7 +1391,7 @@ CamelFolder *folder; char *uid; -@@ -1739,32 +1688,28 @@ +@@ -1739,32 +1688,28 @@ struct _get_message_msg { CamelOperation *cancel; }; @@ -1433,7 +1433,7 @@ g_free (m->uid); camel_object_unref (m->folder); camel_operation_unref (m->cancel); -@@ -1773,21 +1718,22 @@ +@@ -1773,21 +1718,22 @@ static void get_message_free(struct _mai camel_object_unref (m->message); } @@ -1463,7 +1463,7 @@ m->folder = folder; camel_object_ref(folder); m->uid = g_strdup(uid); -@@ -1795,37 +1741,37 @@ +@@ -1795,37 +1741,37 @@ mail_get_message(CamelFolder *folder, co m->done = (void (*) (CamelFolder *, const char *, CamelMimeMessage *, void *)) done; m->cancel = camel_operation_new(NULL, NULL); @@ -1513,7 +1513,7 @@ m->folder = folder; camel_object_ref(folder); m->uid = g_strdup(uid); -@@ -1833,13 +1779,13 @@ +@@ -1833,13 +1779,13 @@ mail_get_messagex(CamelFolder *folder, c m->done = (void (*) (CamelFolder *, const char *, CamelMimeMessage *, void *)) done; m->cancel = camel_operation_new(NULL, NULL); @@ -1529,7 +1529,7 @@ CamelFolder *folder; GPtrArray *uids; -@@ -1849,26 +1795,25 @@ +@@ -1849,26 +1795,25 @@ struct _get_messages_msg { void *data; }; @@ -1562,7 +1562,7 @@ if (message == NULL) break; -@@ -1876,17 +1821,16 @@ +@@ -1876,17 +1821,16 @@ static void get_messages_get(struct _mai } } @@ -1584,7 +1584,7 @@ int i; em_utils_uids_free (m->uids); -@@ -1898,11 +1842,12 @@ +@@ -1898,11 +1842,12 @@ static void get_messages_free(struct _ma camel_object_unref(m->folder); } @@ -1602,7 +1602,7 @@ }; void -@@ -1912,7 +1857,7 @@ +@@ -1912,7 +1857,7 @@ mail_get_messages(CamelFolder *folder, G { struct _get_messages_msg *m; @@ -1611,7 +1611,7 @@ m->folder = folder; camel_object_ref(folder); m->uids = uids; -@@ -1920,13 +1865,13 @@ +@@ -1920,13 +1865,13 @@ mail_get_messages(CamelFolder *folder, G m->data = data; m->done = done; @@ -1627,7 +1627,7 @@ CamelFolder *folder; GPtrArray *uids; -@@ -1935,10 +1880,9 @@ +@@ -1935,10 +1880,9 @@ struct _save_messages_msg { void *data; }; @@ -1640,7 +1640,7 @@ return g_strdup_printf(ngettext("Saving %d message", "Saving %d messsages", m->uids->len), m->uids->len); -@@ -1977,9 +1921,8 @@ +@@ -1977,9 +1921,8 @@ save_prepare_part (CamelMimePart *mime_p } static void @@ -1651,7 +1651,7 @@ CamelStreamFilter *filtered_stream; CamelMimeFilterFrom *from_filter; CamelStream *stream; -@@ -1996,8 +1939,8 @@ +@@ -1996,8 +1939,8 @@ save_messages_save (struct _mail_msg *mm CamelMimeMessage *message; int pc = ((i+1) * 100) / m->uids->len; @@ -1662,7 +1662,7 @@ if (message == NULL) break; -@@ -2009,7 +1952,7 @@ +@@ -2009,7 +1952,7 @@ save_messages_save (struct _mail_msg *mm || camel_stream_flush(stream) == -1 || camel_data_wrapper_write_to_stream((CamelDataWrapper *)message, (CamelStream *)filtered_stream) == -1 || camel_stream_flush((CamelStream *)filtered_stream) == -1) { @@ -1671,7 +1671,7 @@ _("Error saving messages to: %s:\n %s"), m->path, strerror(errno)); g_free(from); camel_object_unref((CamelObject *)message); -@@ -2023,28 +1966,27 @@ +@@ -2023,28 +1966,27 @@ save_messages_save (struct _mail_msg *mm camel_object_unref(stream); } @@ -1710,7 +1710,7 @@ }; int -@@ -2054,7 +1996,7 @@ +@@ -2054,7 +1996,7 @@ mail_save_messages(CamelFolder *folder, struct _save_messages_msg *m; int id; @@ -1719,7 +1719,7 @@ m->folder = folder; camel_object_ref(folder); m->uids = uids; -@@ -2062,8 +2004,8 @@ +@@ -2062,8 +2004,8 @@ mail_save_messages(CamelFolder *folder, m->data = data; m->done = done; @@ -1730,7 +1730,7 @@ return id; } -@@ -2071,7 +2013,7 @@ +@@ -2071,7 +2013,7 @@ mail_save_messages(CamelFolder *folder, /* ** SAVE PART ******************************************************* */ struct _save_part_msg { @@ -1739,7 +1739,7 @@ CamelMimePart *part; char *path; -@@ -2080,27 +2022,27 @@ +@@ -2080,27 +2022,27 @@ struct _save_part_msg { gboolean readonly; }; @@ -1772,7 +1772,7 @@ _("Cannot create output file: %s:\n %s"), m->path, g_strerror (errno)); return; -@@ -2110,7 +2052,7 @@ +@@ -2110,7 +2052,7 @@ save_part_save (struct _mail_msg *mm) if (camel_data_wrapper_decode_to_stream (content, stream) == -1 || camel_stream_flush (stream) == -1) @@ -1781,7 +1781,7 @@ _("Could not write data: %s"), g_strerror (errno)); -@@ -2118,27 +2060,25 @@ +@@ -2118,27 +2060,25 @@ save_part_save (struct _mail_msg *mm) } static void @@ -1818,7 +1818,7 @@ }; int -@@ -2147,7 +2087,7 @@ +@@ -2147,7 +2087,7 @@ mail_save_part (CamelMimePart *part, con { struct _save_part_msg *m; int id; @@ -1827,7 +1827,7 @@ m->part = part; camel_object_ref (part); m->path = g_strdup (path); -@@ -2155,8 +2095,8 @@ +@@ -2155,8 +2095,8 @@ mail_save_part (CamelMimePart *part, con m->done = done; m->readonly = readonly; @@ -1838,7 +1838,7 @@ return id; } -@@ -2165,7 +2105,7 @@ +@@ -2165,7 +2105,7 @@ mail_save_part (CamelMimePart *part, con /* ** PREPARE OFFLINE ***************************************************** */ struct _prep_offline_msg { @@ -1847,7 +1847,7 @@ CamelOperation *cancel; char *uri; -@@ -2173,22 +2113,22 @@ +@@ -2173,22 +2113,22 @@ struct _prep_offline_msg { void *data; }; @@ -1875,7 +1875,7 @@ } /* prepare_for_offline should do this? */ /* of course it should all be atomic, but ... */ -@@ -2200,28 +2140,27 @@ +@@ -2200,28 +2140,27 @@ static void prep_offline_do(struct _mail camel_operation_unregister(m->cancel); } @@ -1914,7 +1914,7 @@ }; void -@@ -2232,7 +2171,7 @@ +@@ -2232,7 +2171,7 @@ mail_prep_offline(const char *uri, { struct _prep_offline_msg *m; @@ -1923,7 +1923,7 @@ m->cancel = cancel; if (cancel) camel_operation_ref(cancel); -@@ -2240,13 +2179,13 @@ +@@ -2240,13 +2179,13 @@ mail_prep_offline(const char *uri, m->data = data; m->done = done; @@ -1939,7 +1939,7 @@ CamelStore *store; gboolean offline; -@@ -2254,9 +2193,9 @@ +@@ -2254,9 +2193,9 @@ struct _set_offline_msg { void *data; }; @@ -1951,7 +1951,7 @@ char *service_name = camel_service_get_name (CAMEL_SERVICE (m->store), TRUE); char *msg; -@@ -2266,61 +2205,59 @@ +@@ -2266,61 +2205,59 @@ static char *set_offline_desc(struct _ma return msg; } @@ -2030,7 +2030,7 @@ }; int -@@ -2337,15 +2274,15 @@ +@@ -2337,61 +2274,59 @@ mail_store_set_offline (CamelStore *stor if (offline) camel_service_cancel_connect (CAMEL_SERVICE (store)); @@ -2049,7 +2049,89 @@ return id; } -@@ -2363,7 +2300,7 @@ + + /* ** Prepare OFFLINE ***************************************************** */ + +-static char *prepare_offline_desc(struct _mail_msg *mm, int done) ++static char * ++prepare_offline_desc (struct _set_offline_msg *m, int done) + { +- struct _set_offline_msg *m = (struct _set_offline_msg *)mm; + char *service_name = camel_service_get_name (CAMEL_SERVICE (m->store), TRUE); + char *msg; + +- msg = g_strdup_printf(_("Preparing account '%s' for offline"), service_name); ++ msg = g_strdup_printf (_("Preparing account '%s' for offline"), service_name); + g_free(service_name); + + return msg; + } + +-static void prepare_offline_do(struct _mail_msg *mm) ++static void ++prepare_offline_exec (struct _set_offline_msg *m) + { +- struct _set_offline_msg *m = (struct _set_offline_msg *)mm; +- + camel_disco_store_prepare_for_offline (CAMEL_DISCO_STORE (m->store), +- &mm->ex); ++ &m->base.ex); + } + +-static void prepare_offline_done(struct _mail_msg *mm) ++static void ++prepare_offline_done (struct _set_offline_msg *m) + { +- struct _set_offline_msg *m = (struct _set_offline_msg *)mm; +- + if (m->done) +- m->done(m->store, m->data); ++ m->done (m->store, m->data); + } + +-static void prepare_offline_free(struct _mail_msg *mm) ++static void ++prepare_offline_free (struct _set_offline_msg *m) + { +- struct _set_offline_msg *m = (struct _set_offline_msg *)mm; +- +- camel_object_unref(m->store); ++ camel_object_unref (m->store); + } + +-static struct _mail_msg_op prepare_offline_op = { +- prepare_offline_desc, +- prepare_offline_do, +- prepare_offline_done, +- prepare_offline_free, ++static MailMsgInfo prepare_offline_info = { ++ sizeof (struct _set_offline_msg), ++ (MailMsgDescFunc) prepare_offline_desc, ++ (MailMsgExecFunc) prepare_offline_exec, ++ (MailMsgDoneFunc) prepare_offline_done, ++ (MailMsgFreeFunc) prepare_offline_free + }; + + int +@@ -2404,14 +2339,14 @@ mail_store_prepare_offline (CamelStore * + * thread won't get queued behind a hung connect op. + */ + +- m = mail_msg_new(&prepare_offline_op, NULL, sizeof(*m)); ++ m = mail_msg_new(&prepare_offline_info); + m->store = store; + camel_object_ref(store); + m->data = NULL; + m->done = NULL; + +- id = m->msg.seq; +- e_thread_put(mail_thread_new, (EMsg *)m); ++ id = m->base.seq; ++ mail_msg_unordered_push (m); + + return id; + } +@@ -2428,7 +2363,7 @@ mail_execute_shell_command (CamelFilterD /* Async service-checking/authtype-lookup code. */ struct _check_msg { @@ -2058,7 +2140,7 @@ char *url; CamelProviderType type; -@@ -2373,51 +2310,47 @@ +@@ -2438,51 +2373,47 @@ struct _check_msg { void *data; }; @@ -2124,7 +2206,7 @@ }; int -@@ -2426,14 +2359,14 @@ +@@ -2491,14 +2422,14 @@ mail_check_service(const char *url, Came struct _check_msg *m; int id; @@ -2142,9 +2224,9 @@ return id; } ---- evolution-2.11.2/mail/em-folder-utils.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/em-folder-utils.c 2007-05-18 15:34:09.000000000 -0400 -@@ -84,7 +84,7 @@ +--- evolution-2.11.3/mail/em-folder-utils.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 ++++ evolution-2.11.3/mail/em-folder-utils.c 2007-06-04 14:25:34.000000000 -0400 +@@ -84,7 +84,7 @@ emfu_is_special_local_folder (const char } struct _EMCopyFolders { @@ -2153,7 +2235,7 @@ /* input data */ CamelStore *fromstore; -@@ -96,18 +96,15 @@ +@@ -96,18 +96,15 @@ struct _EMCopyFolders { int delete; }; @@ -2175,7 +2257,7 @@ guint32 flags = CAMEL_STORE_FOLDER_INFO_FAST | CAMEL_STORE_FOLDER_INFO_RECURSIVE | CAMEL_STORE_FOLDER_INFO_SUBSCRIBED; GList *pending = NULL, *deleting = NULL, *l; GString *fromname, *toname; -@@ -115,7 +112,7 @@ +@@ -115,7 +112,7 @@ emft_copy_folders__copy (struct _mail_ms const char *tmp; int fromlen; @@ -2184,7 +2266,7 @@ return; pending = g_list_append (pending, fi); -@@ -155,8 +152,8 @@ +@@ -155,8 +152,8 @@ emft_copy_folders__copy (struct _mail_ms if ((info->flags & CAMEL_FOLDER_NOSELECT) == 0) { d(printf ("this folder is selectable\n")); if (m->tostore == m->fromstore && m->delete) { @@ -2195,7 +2277,7 @@ goto exception; /* this folder no longer exists, unsubscribe it */ -@@ -165,16 +162,16 @@ +@@ -165,16 +162,16 @@ emft_copy_folders__copy (struct _mail_ms deleted = 1; } else { @@ -2215,7 +2297,7 @@ camel_folder_free_uids (fromfolder, uids); if (m->delete) -@@ -185,7 +182,7 @@ +@@ -185,7 +182,7 @@ emft_copy_folders__copy (struct _mail_ms } } @@ -2224,7 +2306,7 @@ goto exception; else if (m->delete && !deleted) deleting = g_list_prepend (deleting, info); -@@ -226,10 +223,8 @@ +@@ -226,10 +223,8 @@ emft_copy_folders__copy (struct _mail_ms } static void @@ -2236,7 +2318,7 @@ camel_object_unref (m->fromstore); camel_object_unref (m->tostore); -@@ -237,11 +232,12 @@ +@@ -237,11 +232,12 @@ emft_copy_folders__free (struct _mail_ms g_free (m->tobase); } @@ -2254,7 +2336,7 @@ }; int -@@ -250,7 +246,7 @@ +@@ -250,7 +246,7 @@ em_folder_utils_copy_folders(CamelStore struct _EMCopyFolders *m; int seq; @@ -2263,7 +2345,7 @@ camel_object_ref (fromstore); m->fromstore = fromstore; camel_object_ref (tostore); -@@ -258,9 +254,9 @@ +@@ -258,9 +254,9 @@ em_folder_utils_copy_folders(CamelStore m->frombase = g_strdup (frombase); m->tobase = g_strdup (tobase); m->delete = delete; @@ -2275,7 +2357,7 @@ return seq; } -@@ -557,7 +553,7 @@ +@@ -557,7 +553,7 @@ em_folder_utils_rename_folder (CamelFold } struct _EMCreateFolder { @@ -2284,7 +2366,7 @@ /* input data */ CamelStore *store; -@@ -573,41 +569,33 @@ +@@ -573,41 +569,33 @@ struct _EMCreateFolder { void *user_data; }; @@ -2333,7 +2415,7 @@ camel_store_free_folder_info (m->store, m->fi); camel_object_unref (m->store); g_free (m->full_name); -@@ -615,11 +603,12 @@ +@@ -615,11 +603,12 @@ emfu_create_folder__free (struct _mail_m g_free (m->name); } @@ -2351,7 +2433,7 @@ }; -@@ -640,7 +629,7 @@ +@@ -640,7 +629,7 @@ emfu_create_folder_real (CamelStore *sto parent = namebuf; } @@ -2360,7 +2442,7 @@ camel_object_ref (store); m->store = store; m->full_name = g_strdup (full_name); -@@ -651,8 +640,8 @@ +@@ -651,8 +640,8 @@ emfu_create_folder_real (CamelStore *sto g_free (namebuf); @@ -2371,8 +2453,8 @@ return id; } ---- evolution-2.11.2/mail/importers/elm-importer.c.kill-ethread 2007-04-18 06:17:29.000000000 -0400 -+++ evolution-2.11.2/mail/importers/elm-importer.c 2007-05-18 15:34:09.000000000 -0400 +--- evolution-2.11.3/mail/importers/elm-importer.c.kill-ethread 2007-04-18 06:17:29.000000000 -0400 ++++ evolution-2.11.3/mail/importers/elm-importer.c 2007-06-04 14:25:34.000000000 -0400 @@ -51,7 +51,7 @@ #define d(x) x @@ -2382,7 +2464,7 @@ EImport *import; EImportTargetHome *target; -@@ -186,8 +186,8 @@ +@@ -186,8 +186,8 @@ elm_supported(EImport *ei, EImportTarget return mailexists; } @@ -2393,7 +2475,7 @@ { return g_strdup (_("Importing Elm data")); } -@@ -198,9 +198,8 @@ +@@ -198,9 +198,8 @@ static MailImporterSpecial elm_special_f }; static void @@ -2404,7 +2486,7 @@ const char *maildir; char *elmdir; -@@ -218,13 +217,11 @@ +@@ -218,13 +217,11 @@ elm_import_import(struct _mail_msg *mm) } static void @@ -2420,7 +2502,7 @@ GConfClient *gconf; gconf = gconf_client_get_default(); -@@ -236,10 +233,8 @@ +@@ -236,10 +233,8 @@ elm_import_imported(struct _mail_msg *mm } static void @@ -2432,7 +2514,7 @@ camel_operation_unref(m->status); g_free(m->status_what); -@@ -288,11 +283,12 @@ +@@ -288,11 +283,12 @@ elm_status_timeout(void *data) return TRUE; } @@ -2450,7 +2532,7 @@ }; static int -@@ -301,7 +297,7 @@ +@@ -301,7 +297,7 @@ mail_importer_elm_import(EImport *ei, EI struct _elm_import_msg *m; int id; @@ -2459,7 +2541,7 @@ g_datalist_set_data(&target->data, "elm-msg", m); m->import = ei; g_object_ref(m->import); -@@ -310,9 +306,9 @@ +@@ -310,9 +306,9 @@ mail_importer_elm_import(EImport *ei, EI m->status_lock = g_mutex_new(); m->status = camel_operation_new(elm_status, m); @@ -2471,9 +2553,9 @@ return id; } ---- evolution-2.11.2/mail/importers/mail-importer.c.kill-ethread 2007-04-18 06:17:29.000000000 -0400 -+++ evolution-2.11.2/mail/importers/mail-importer.c 2007-05-18 15:34:09.000000000 -0400 -@@ -132,7 +132,7 @@ +--- evolution-2.11.3/mail/importers/mail-importer.c.kill-ethread 2007-06-03 11:08:07.000000000 -0400 ++++ evolution-2.11.3/mail/importers/mail-importer.c 2007-06-04 14:25:34.000000000 -0400 +@@ -132,7 +132,7 @@ struct _BonoboObject *mail_importer_fact } struct _import_mbox_msg { @@ -2482,7 +2564,7 @@ char *path; char *uri; -@@ -142,8 +142,8 @@ +@@ -142,8 +142,8 @@ struct _import_mbox_msg { void *done_data; }; @@ -2493,7 +2575,7 @@ { return g_strdup (_("Importing mailbox")); } -@@ -190,9 +190,8 @@ +@@ -190,9 +190,8 @@ decode_mozilla_status(const char *tmp) } static void @@ -2504,7 +2586,7 @@ CamelFolder *folder; CamelMimeParser *mp = NULL; struct stat st; -@@ -207,7 +206,7 @@ +@@ -207,7 +206,7 @@ import_mbox_import(struct _mail_msg *mm) if (m->uri == NULL || m->uri[0] == 0) folder = mail_component_get_folder(NULL, MAIL_COMPONENT_FOLDER_INBOX); else @@ -2513,7 +2595,7 @@ if (folder == NULL) return; -@@ -262,11 +261,11 @@ +@@ -262,11 +261,11 @@ import_mbox_import(struct _mail_msg *mm) flags |= decode_status(tmp); camel_message_info_set_flags(info, flags, ~0); @@ -2527,7 +2609,7 @@ break; camel_mime_parser_step(mp, 0, 0); -@@ -286,30 +285,27 @@ +@@ -286,30 +285,27 @@ fail1: } static void @@ -2567,7 +2649,7 @@ }; int -@@ -318,7 +314,7 @@ +@@ -318,7 +314,7 @@ mail_importer_import_mbox(const char *pa struct _import_mbox_msg *m; int id; @@ -2576,7 +2658,7 @@ m->path = g_strdup(path); m->uri = g_strdup(folderuri); m->done = done; -@@ -328,8 +324,8 @@ +@@ -328,8 +324,8 @@ mail_importer_import_mbox(const char *pa camel_operation_ref(cancel); } @@ -2587,7 +2669,7 @@ return id; } -@@ -339,7 +335,7 @@ +@@ -339,7 +335,7 @@ mail_importer_import_mbox_sync(const cha { struct _import_mbox_msg *m; @@ -2596,7 +2678,7 @@ m->path = g_strdup(path); m->uri = g_strdup(folderuri); if (cancel) { -@@ -347,9 +343,9 @@ +@@ -347,9 +343,9 @@ mail_importer_import_mbox_sync(const cha camel_operation_ref(cancel); } @@ -2609,8 +2691,8 @@ } struct _import_folders_data { ---- evolution-2.11.2/mail/importers/pine-importer.c.kill-ethread 2007-04-18 06:17:29.000000000 -0400 -+++ evolution-2.11.2/mail/importers/pine-importer.c 2007-05-18 15:34:09.000000000 -0400 +--- evolution-2.11.3/mail/importers/pine-importer.c.kill-ethread 2007-04-18 06:17:29.000000000 -0400 ++++ evolution-2.11.3/mail/importers/pine-importer.c 2007-06-04 14:25:34.000000000 -0400 @@ -56,7 +56,7 @@ #define d(x) x @@ -2620,7 +2702,7 @@ EImport *import; EImportTarget *target; -@@ -223,8 +223,8 @@ +@@ -223,8 +223,8 @@ import_contacts(void) g_object_unref(book); } @@ -2631,7 +2713,7 @@ { return g_strdup (_("Importing Pine data")); } -@@ -236,10 +236,8 @@ +@@ -236,10 +236,8 @@ static MailImporterSpecial pine_special_ }; static void @@ -2643,7 +2725,7 @@ if (GPOINTER_TO_INT(g_datalist_get_data(&m->target->data, "pine-do-addr"))) import_contacts(); -@@ -253,13 +251,11 @@ +@@ -253,13 +251,11 @@ pine_import_import(struct _mail_msg *mm) } static void @@ -2659,7 +2741,7 @@ GConfClient *gconf; gconf = gconf_client_get_default(); -@@ -274,10 +270,8 @@ +@@ -274,10 +270,8 @@ pine_import_imported(struct _mail_msg *m } static void @@ -2671,7 +2753,7 @@ camel_operation_unref(m->status); g_free(m->status_what); -@@ -326,11 +320,12 @@ +@@ -326,11 +320,12 @@ pine_status_timeout(void *data) return TRUE; } @@ -2689,7 +2771,7 @@ }; static int -@@ -339,7 +334,7 @@ +@@ -339,7 +334,7 @@ mail_importer_pine_import(EImport *ei, E struct _pine_import_msg *m; int id; @@ -2698,7 +2780,7 @@ g_datalist_set_data(&target->data, "pine-msg", m); m->import = ei; g_object_ref(m->import); -@@ -348,9 +343,9 @@ +@@ -348,9 +343,9 @@ mail_importer_pine_import(EImport *ei, E m->status_lock = g_mutex_new(); m->status = camel_operation_new(pine_status, m); @@ -2710,8 +2792,19 @@ return id; } ---- evolution-2.11.2/mail/mail-vfolder.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/mail-vfolder.c 2007-05-18 15:34:09.000000000 -0400 +--- evolution-2.11.3/mail/em-utils.c.kill-ethread 2007-06-04 14:25:09.000000000 -0400 ++++ evolution-2.11.3/mail/em-utils.c 2007-06-04 14:25:34.000000000 -0400 +@@ -1906,7 +1906,7 @@ em_utils_in_addressbook(CamelInternetAdd + ESource *source = s->data; + GList *contacts; + EBook *book; +- void *hook; ++ GHook *hook; + + d(printf(" checking '%s'\n", e_source_get_uri(source))); + +--- evolution-2.11.3/mail/mail-vfolder.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 ++++ evolution-2.11.3/mail/mail-vfolder.c 2007-06-04 14:25:34.000000000 -0400 @@ -21,7 +21,7 @@ */ @@ -2721,7 +2814,7 @@ #include #include -@@ -75,7 +75,7 @@ +@@ -75,7 +75,7 @@ static void rule_changed(FilterRule *rul /* ********************************************************************** */ struct _setup_msg { @@ -2730,7 +2823,7 @@ CamelFolder *folder; char *query; -@@ -83,18 +83,15 @@ +@@ -83,18 +83,15 @@ struct _setup_msg { GList *sources_folder; }; @@ -2752,7 +2845,7 @@ GList *l, *list = NULL; CamelFolder *folder; -@@ -105,12 +102,12 @@ +@@ -105,12 +102,12 @@ vfolder_setup_do(struct _mail_msg *mm) l = m->sources_uri; while (l && !shutdown) { d(printf(" Adding uri: %s\n", (char *)l->data)); @@ -2767,7 +2860,7 @@ } l = l->next; } -@@ -135,17 +132,13 @@ +@@ -135,17 +132,13 @@ vfolder_setup_do(struct _mail_msg *mm) } static void @@ -2787,7 +2880,7 @@ GList *l; camel_object_unref(m->folder); -@@ -166,11 +159,12 @@ +@@ -166,11 +159,12 @@ vfolder_setup_free (struct _mail_msg *mm g_list_free(m->sources_folder); } @@ -2805,7 +2898,7 @@ }; /* sources_uri should be camel uri's */ -@@ -180,15 +174,15 @@ +@@ -180,15 +174,15 @@ vfolder_setup(CamelFolder *folder, const struct _setup_msg *m; int id; @@ -2824,7 +2917,7 @@ return id; } -@@ -196,17 +190,16 @@ +@@ -196,17 +190,16 @@ vfolder_setup(CamelFolder *folder, const /* ********************************************************************** */ struct _adduri_msg { @@ -2845,7 +2938,7 @@ char *euri, *desc = NULL; /* Yuck yuck. Lookup the account name and use that to describe the path */ -@@ -250,9 +243,8 @@ +@@ -250,9 +243,8 @@ vfolder_adduri_desc(struct _mail_msg *mm } static void @@ -2856,7 +2949,7 @@ GList *l; CamelFolder *folder = NULL; -@@ -269,7 +261,7 @@ +@@ -269,7 +261,7 @@ vfolder_adduri_do(struct _mail_msg *mm) } if (folder == NULL) @@ -2865,7 +2958,7 @@ if (folder != NULL) { l = m->folders; -@@ -285,28 +277,24 @@ +@@ -285,28 +277,24 @@ vfolder_adduri_do(struct _mail_msg *mm) } static void @@ -2902,7 +2995,7 @@ }; -@@ -317,13 +305,13 @@ +@@ -317,13 +305,13 @@ vfolder_adduri(const char *uri, GList *f struct _adduri_msg *m; int id; @@ -2919,7 +3012,7 @@ return id; } -@@ -447,7 +435,7 @@ +@@ -447,7 +435,7 @@ mail_vfolder_add_uri(CamelStore *store, return; } @@ -2928,7 +3021,7 @@ is_ignore = uri_is_ignore(store, curi); -@@ -540,7 +528,7 @@ +@@ -540,7 +528,7 @@ mail_vfolder_delete_uri(CamelStore *stor d(printf ("Deleting uri to check: %s\n", uri)); @@ -2937,7 +3030,7 @@ changed = g_string_new (""); -@@ -615,7 +603,7 @@ +@@ -615,7 +603,7 @@ mail_vfolder_rename_uri(CamelStore *stor if (context == NULL || uri_is_spethal(store, cfrom) || uri_is_spethal(store, cto)) return; @@ -2946,9 +3039,9 @@ from = em_uri_from_camel(cfrom); to = em_uri_from_camel(cto); ---- evolution-2.11.2/mail/em-format-html.c.kill-ethread 2007-04-20 00:28:22.000000000 -0400 -+++ evolution-2.11.2/mail/em-format-html.c 2007-05-18 15:34:09.000000000 -0400 -@@ -165,7 +165,7 @@ +--- evolution-2.11.3/mail/em-format-html.c.kill-ethread 2007-06-03 11:08:08.000000000 -0400 ++++ evolution-2.11.3/mail/em-format-html.c 2007-06-04 14:25:34.000000000 -0400 +@@ -165,7 +165,7 @@ efh_gtkhtml_destroy(GtkHTML *html, EMFor if (efh->priv->format_timeout_id != 0) { g_source_remove(efh->priv->format_timeout_id); efh->priv->format_timeout_id = 0; @@ -2957,7 +3050,7 @@ efh->priv->format_timeout_msg = NULL; } -@@ -1179,7 +1179,7 @@ +@@ -1179,7 +1179,7 @@ efh_builtin_init(EMFormatHTMLClass *efhc /* Sigh, this is so we have a cancellable, async rendering thread */ struct _format_msg { @@ -2966,7 +3059,7 @@ EMFormatHTML *format; EMFormat *format_source; -@@ -1189,14 +1189,15 @@ +@@ -1189,14 +1189,15 @@ struct _format_msg { CamelMimeMessage *message; }; @@ -2985,7 +3078,7 @@ struct _EMFormatHTMLJob *job; struct _EMFormatPURITree *puri_level; int cancelled = FALSE; -@@ -1281,10 +1282,9 @@ +@@ -1281,10 +1282,9 @@ static void efh_format_do(struct _mail_m ((EMFormat *)m->format)->pending_uri_level = puri_level; } @@ -2998,7 +3091,7 @@ d(printf("formatting finished\n")); m->format->load_http_now = FALSE; -@@ -1292,10 +1292,9 @@ +@@ -1292,10 +1292,9 @@ static void efh_format_done(struct _mail g_signal_emit_by_name(m->format, "complete"); } @@ -3011,7 +3104,7 @@ d(printf("formatter freed\n")); g_object_unref(m->format); if (m->estream) { -@@ -1311,11 +1310,12 @@ +@@ -1311,11 +1310,12 @@ static void efh_format_free(struct _mail g_object_unref(m->format_source); } @@ -3029,7 +3122,7 @@ }; static gboolean -@@ -1326,7 +1326,7 @@ +@@ -1326,7 +1326,7 @@ efh_format_timeout(struct _format_msg *m struct _EMFormatHTMLPrivate *p = efh->priv; if (m->format->html == NULL) { @@ -3038,7 +3131,7 @@ return FALSE; } -@@ -1354,7 +1354,7 @@ +@@ -1354,7 +1354,7 @@ efh_format_timeout(struct _format_msg *m if (m->message == NULL) { hstream = gtk_html_begin(efh->html); gtk_html_stream_close(hstream, GTK_HTML_STREAM_OK); @@ -3047,7 +3140,7 @@ p->last_part = NULL; } else { hstream = NULL; -@@ -1373,8 +1373,8 @@ +@@ -1373,8 +1373,8 @@ efh_format_timeout(struct _format_msg *m p->last_part = m->message; } @@ -3058,7 +3151,7 @@ } efh->priv->format_timeout_id = 0; -@@ -1398,11 +1398,11 @@ +@@ -1398,11 +1398,11 @@ static void efh_format_clone(EMFormat *e d(printf(" timeout for last still active, removing ...\n")); g_source_remove(efh->priv->format_timeout_id); efh->priv->format_timeout_id = 0; @@ -3072,9 +3165,9 @@ m->format = (EMFormatHTML *)emf; g_object_ref(emf); m->format_source = emfsource; ---- evolution-2.11.2/mail/em-folder-properties.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/em-folder-properties.c 2007-05-18 15:34:09.000000000 -0400 -@@ -386,7 +386,7 @@ +--- evolution-2.11.3/mail/em-folder-properties.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 ++++ evolution-2.11.3/mail/em-folder-properties.c 2007-06-04 14:25:34.000000000 -0400 +@@ -386,7 +386,7 @@ em_folder_properties_show(GtkWindow *par } if (folder == NULL) @@ -3083,9 +3176,9 @@ else emfp_dialog_got_folder((char *)uri, folder, NULL); } ---- evolution-2.11.2/mail/em-folder-tree.c.kill-ethread 2007-05-13 13:41:10.000000000 -0400 -+++ evolution-2.11.2/mail/em-folder-tree.c 2007-05-18 15:34:09.000000000 -0400 -@@ -834,7 +834,7 @@ +--- evolution-2.11.3/mail/em-folder-tree.c.kill-ethread 2007-06-04 01:52:58.000000000 -0400 ++++ evolution-2.11.3/mail/em-folder-tree.c 2007-06-04 14:25:34.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 */ struct _DragDataReceivedAsync { @@ -3094,12 +3187,12 @@ /* input data */ GdkDragContext *context; -@@ -859,17 +859,16 @@ +@@ -859,17 +859,16 @@ emft_drop_folder(struct _DragDataReceive d(printf(" * Drop folder '%s' onto '%s'\n", m->selection->data, m->full_name)); -- if (!(src = mail_tool_uri_to_folder(m->selection->data, 0, &m->msg.ex))) -+ if (!(src = mail_tool_uri_to_folder(m->selection->data, 0, &m->base.ex))) +- if (!(src = mail_tool_uri_to_folder((char *)m->selection->data, 0, &m->msg.ex))) ++ if (!(src = mail_tool_uri_to_folder((char *)m->selection->data, 0, &m->base.ex))) return; em_folder_utils_copy_folders(src->parent_store, src->full_name, m->store, m->full_name?m->full_name:"", m->move); @@ -3115,7 +3208,7 @@ CamelURL *url; char *buf; -@@ -893,9 +892,8 @@ +@@ -893,9 +892,8 @@ emft_drop_async_desc (struct _mail_msg * } static void @@ -3126,7 +3219,7 @@ CamelFolder *folder; /* for types other than folder, we can't drop to the root path */ -@@ -903,14 +901,14 @@ +@@ -903,14 +901,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) { @@ -3145,7 +3238,7 @@ break; case DND_DROP_TYPE_MESSAGE_RFC822: /* import a message/rfc822 stream */ -@@ -928,9 +926,8 @@ +@@ -928,9 +926,8 @@ emft_drop_async_drop (struct _mail_msg * } static void @@ -3156,7 +3249,7 @@ gboolean success, delete; /* ?? */ -@@ -938,7 +935,7 @@ +@@ -938,7 +935,7 @@ emft_drop_async_done (struct _mail_msg * success = FALSE; delete = FALSE; } else { @@ -3165,7 +3258,7 @@ delete = success && m->move && !m->moved; } -@@ -946,10 +943,8 @@ +@@ -946,10 +943,8 @@ emft_drop_async_done (struct _mail_msg * } static void @@ -3177,7 +3270,7 @@ g_object_unref(m->context); camel_object_unref(m->store); g_free(m->full_name); -@@ -958,18 +953,19 @@ +@@ -958,18 +953,19 @@ emft_drop_async_free (struct _mail_msg * g_free(m->selection); } @@ -3203,7 +3296,7 @@ } static void -@@ -996,7 +992,7 @@ +@@ -996,7 +992,7 @@ emft_drop_popup_cancel(EPopup *ep, EPopu struct _DragDataReceivedAsync *m = data; m->aborted = TRUE; @@ -3212,7 +3305,7 @@ } static EPopupItem emft_drop_popup_menu[] = { -@@ -1052,7 +1048,7 @@ +@@ -1052,7 +1048,7 @@ tree_drag_data_received(GtkWidget *widge return; } @@ -3221,7 +3314,7 @@ m->context = context; g_object_ref(context); m->store = store; -@@ -1686,7 +1682,7 @@ +@@ -1686,7 +1682,7 @@ dump_fi (CamelFolderInfo *fi, int depth) #endif struct _EMFolderTreeGetFolderInfo { @@ -3230,7 +3323,7 @@ /* input data */ GtkTreeRowReference *root; -@@ -1699,10 +1695,9 @@ +@@ -1699,10 +1695,9 @@ struct _EMFolderTreeGetFolderInfo { CamelFolderInfo *fi; }; @@ -3243,7 +3336,7 @@ char *ret, *name; name = camel_service_get_name((CamelService *)m->store, TRUE); -@@ -1712,18 +1707,16 @@ +@@ -1712,18 +1707,16 @@ emft_get_folder_info__desc(struct _mail_ } static void @@ -3265,7 +3358,7 @@ struct _EMFolderTreePrivate *priv = m->emft->priv; struct _EMFolderTreeModelStoreInfo *si; GtkTreeIter root, iter; -@@ -1751,7 +1744,7 @@ +@@ -1751,7 +1744,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 */ @@ -3274,7 +3367,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 @@ +@@ -1806,10 +1799,8 @@ emft_get_folder_info__got (struct _mail_ } static void @@ -3286,7 +3379,7 @@ camel_store_free_folder_info (m->store, m->fi); gtk_tree_row_reference_free (m->root); -@@ -1818,11 +1809,12 @@ +@@ -1818,11 +1809,12 @@ emft_get_folder_info__free (struct _mail g_free (m->top); } @@ -3304,7 +3397,7 @@ }; static void -@@ -1909,7 +1901,7 @@ +@@ -1909,7 +1901,7 @@ emft_tree_row_expanded (GtkTreeView *tre gtk_tree_store_set((GtkTreeStore *)model, root, COL_BOOL_LOAD_SUBDIRS, FALSE, -1); @@ -3313,7 +3406,7 @@ m->root = gtk_tree_row_reference_new (model, tree_path); camel_object_ref (store); m->store = store; -@@ -1918,7 +1910,7 @@ +@@ -1918,7 +1910,7 @@ emft_tree_row_expanded (GtkTreeView *tre m->top = full_name; m->flags = CAMEL_STORE_FOLDER_INFO_RECURSIVE|CAMEL_STORE_FOLDER_INFO_FAST; @@ -3322,9 +3415,9 @@ } static gboolean ---- evolution-2.11.2/mail/em-folder-browser.c.kill-ethread 2007-05-13 13:41:10.000000000 -0400 -+++ evolution-2.11.2/mail/em-folder-browser.c 2007-05-18 15:34:09.000000000 -0400 -@@ -839,7 +839,7 @@ +--- evolution-2.11.3/mail/em-folder-browser.c.kill-ethread 2007-06-03 11:08:08.000000000 -0400 ++++ evolution-2.11.3/mail/em-folder-browser.c 2007-06-04 14:25:34.000000000 -0400 +@@ -839,7 +839,7 @@ get_view_query (ESearchBar *esb) struct _setup_msg { @@ -3333,7 +3426,7 @@ CamelFolder *folder; char *query; -@@ -847,16 +847,15 @@ +@@ -847,16 +847,15 @@ struct _setup_msg { GList *sources_folder; }; @@ -3353,7 +3446,7 @@ GList *l, *list = NULL; CamelFolder *folder; -@@ -867,12 +866,12 @@ +@@ -867,12 +866,12 @@ vfolder_setup_do(struct _mail_msg *mm) l = m->sources_uri; while (l) { d(printf(" Adding uri: %s\n", (char *)l->data)); @@ -3368,7 +3461,7 @@ } l = l->next; } -@@ -896,17 +895,13 @@ +@@ -896,17 +895,13 @@ vfolder_setup_do(struct _mail_msg *mm) } static void @@ -3388,7 +3481,7 @@ GList *l; camel_object_unref(m->folder); -@@ -927,11 +922,12 @@ +@@ -927,11 +922,12 @@ vfolder_setup_free (struct _mail_msg *mm g_list_free(m->sources_folder); } @@ -3406,7 +3499,7 @@ }; /* sources_uri should be camel uri's */ -@@ -941,15 +937,15 @@ +@@ -941,15 +937,15 @@ vfolder_setup(CamelFolder *folder, const struct _setup_msg *m; int id; @@ -3425,9 +3518,9 @@ return id; } ---- evolution-2.11.2/mail/message-list.c.kill-ethread 2007-05-10 05:27:32.000000000 -0400 -+++ evolution-2.11.2/mail/message-list.c 2007-05-18 15:34:09.000000000 -0400 -@@ -1801,7 +1801,7 @@ +--- evolution-2.11.3/mail/message-list.c.kill-ethread 2007-06-03 11:08:08.000000000 -0400 ++++ evolution-2.11.3/mail/message-list.c 2007-06-04 14:25:34.000000000 -0400 +@@ -1841,7 +1841,7 @@ ml_tree_drag_data_get (ETree *tree, int /* TODO: merge this with the folder tree stuff via empopup targets */ /* Drop handling */ struct _drop_msg { @@ -3436,7 +3529,7 @@ GdkDragContext *context; -@@ -1818,11 +1818,9 @@ +@@ -1858,11 +1858,9 @@ struct _drop_msg { unsigned int aborted:1; }; @@ -3450,7 +3543,7 @@ if (m->move) return g_strdup_printf(_("Moving messages into folder %s"), m->folder->full_name); else -@@ -1830,13 +1828,11 @@ +@@ -1870,13 +1868,11 @@ ml_drop_async_desc (struct _mail_msg *mm } static void @@ -3466,7 +3559,7 @@ break; case DND_MESSAGE_RFC822: em_utils_selection_get_message(m->selection, m->folder); -@@ -1848,9 +1844,8 @@ +@@ -1888,9 +1884,8 @@ ml_drop_async_drop(struct _mail_msg *mm) } static void @@ -3477,7 +3570,7 @@ gboolean success, delete; /* ?? */ -@@ -1858,7 +1853,7 @@ +@@ -1898,7 +1893,7 @@ ml_drop_async_done(struct _mail_msg *mm) success = FALSE; delete = FALSE; } else { @@ -3486,7 +3579,7 @@ delete = success && m->move && !m->moved; } -@@ -1866,10 +1861,8 @@ +@@ -1906,10 +1901,8 @@ ml_drop_async_done(struct _mail_msg *mm) } static void @@ -3498,7 +3591,7 @@ g_object_unref(m->context); camel_object_unref(m->folder); -@@ -1877,18 +1870,19 @@ +@@ -1917,18 +1910,19 @@ ml_drop_async_free(struct _mail_msg *mm) g_free(m->selection); } @@ -3524,7 +3617,7 @@ } static void -@@ -1915,7 +1909,7 @@ +@@ -1955,7 +1949,7 @@ ml_drop_popup_cancel(EPopup *ep, EPopupI struct _drop_msg *m = data; m->aborted = TRUE; @@ -3533,7 +3626,7 @@ } static EPopupItem ml_drop_popup_menu[] = { -@@ -1945,7 +1939,7 @@ +@@ -1985,7 +1979,7 @@ ml_tree_drag_data_received (ETree *tree, if (data->data == NULL || data->length == -1) return; @@ -3542,7 +3635,7 @@ m->context = context; g_object_ref(context); m->folder = ml->folder; -@@ -3674,7 +3668,7 @@ +@@ -3718,7 +3712,7 @@ save_hide_state (MessageList *ml) /* ** REGENERATE MESSAGELIST ********************************************** */ struct _regen_list_msg { @@ -3551,7 +3644,7 @@ int complete; -@@ -3702,16 +3696,15 @@ +@@ -3746,16 +3740,15 @@ struct _regen_list_msg { */ @@ -3571,7 +3664,7 @@ GPtrArray *uids, *uidnew, *showuids, *searchuids = NULL; CamelMessageInfo *info; int i; -@@ -3741,7 +3734,7 @@ +@@ -3785,7 +3778,7 @@ regen_list_regen (struct _mail_msg *mm) } else expr = "(match-all (not (system-flag \"deleted\")))"; } @@ -3580,7 +3673,7 @@ } else { char *expr; -@@ -3751,23 +3744,23 @@ +@@ -3795,23 +3788,23 @@ regen_list_regen (struct _mail_msg *mm) sprintf(expr, "(and (match-all (not (system-flag \"junk\")))\n %s)", m->search); } else expr = "(match-all (not (system-flag \"junk\")))"; @@ -3609,7 +3702,7 @@ if (uidnew) { MESSAGE_LIST_LOCK(m->ml, hide_lock); -@@ -3842,7 +3835,7 @@ +@@ -3886,7 +3879,7 @@ regen_list_regen (struct _mail_msg *mm) e_profile_event_emit("list.threaduids", m->folder->full_name, 0); @@ -3618,7 +3711,7 @@ /* update/build a new tree */ if (m->dotree) { if (m->tree) -@@ -3871,17 +3864,15 @@ +@@ -3915,17 +3908,15 @@ regen_list_regen (struct _mail_msg *mm) } static void @@ -3638,7 +3731,7 @@ return; if (m->ml->folder != m->folder) -@@ -3932,9 +3923,8 @@ +@@ -3976,9 +3967,8 @@ regen_list_regened (struct _mail_msg *mm } static void @@ -3649,7 +3742,7 @@ int i; e_profile_event_emit("list.regenerated", m->folder->full_name, 0); -@@ -3962,11 +3952,12 @@ +@@ -4006,11 +3996,12 @@ regen_list_free (struct _mail_msg *mm) g_object_unref(m->ml); } @@ -3667,7 +3760,7 @@ }; static gboolean -@@ -3976,7 +3967,7 @@ +@@ -4020,7 +4011,7 @@ ml_regen_timeout(struct _regen_list_msg m->ml->regen = g_list_prepend(m->ml->regen, m); /* TODO: we should manage our own thread stuff, would make cancelling outstanding stuff easier */ @@ -3676,7 +3769,7 @@ m->ml->regen_timeout_msg = NULL; m->ml->regen_timeout_id = 0; -@@ -3992,7 +3983,7 @@ +@@ -4036,7 +4027,7 @@ mail_regen_cancel(MessageList *ml) GList *l = ml->regen; while (l) { @@ -3685,7 +3778,7 @@ if (mm->cancel) camel_operation_cancel(mm->cancel); -@@ -4004,7 +3995,7 @@ +@@ -4048,7 +4039,7 @@ mail_regen_cancel(MessageList *ml) if (ml->regen_timeout_id) { g_source_remove(ml->regen_timeout_id); ml->regen_timeout_id = 0; @@ -3694,7 +3787,7 @@ ml->regen_timeout_msg = NULL; } } -@@ -4039,7 +4030,7 @@ +@@ -4083,7 +4074,7 @@ mail_regen_list (MessageList *ml, const } #endif @@ -3703,9 +3796,9 @@ m->ml = ml; m->search = g_strdup (search); m->hideexpr = g_strdup (hideexpr); ---- evolution-2.11.2/mail/em-sync-stream.h.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/em-sync-stream.h 2007-05-18 15:34:09.000000000 -0400 -@@ -29,41 +29,45 @@ +--- evolution-2.11.3/mail/em-sync-stream.h.kill-ethread 2007-04-18 06:17:32.000000000 -0400 ++++ evolution-2.11.3/mail/em-sync-stream.h 2007-06-04 14:25:34.000000000 -0400 +@@ -29,41 +29,45 @@ requests are always handled in the main #ifndef EM_SYNC_STREAM_H #define EM_SYNC_STREAM_H @@ -3781,9 +3874,9 @@ +G_END_DECLS #endif /* EM_SYNC_STREAM_H */ ---- evolution-2.11.2/mail/em-format-html-print.c.kill-ethread 2007-04-22 13:20:08.000000000 -0400 -+++ evolution-2.11.2/mail/em-format-html-print.c 2007-05-18 15:38:28.000000000 -0400 -@@ -224,7 +224,7 @@ +--- evolution-2.11.3/mail/em-format-html-print.c.kill-ethread 2007-04-22 13:20:08.000000000 -0400 ++++ evolution-2.11.3/mail/em-format-html-print.c 2007-06-04 14:25:34.000000000 -0400 +@@ -224,7 +224,7 @@ em_format_html_print_message (EMFormatHT g_object_ref (efhp); mail_get_message ( @@ -3792,8 +3885,8 @@ } void ---- evolution-2.11.2/mail/em-sync-stream.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/em-sync-stream.c 2007-05-18 15:34:09.000000000 -0400 +--- evolution-2.11.3/mail/em-sync-stream.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 ++++ evolution-2.11.3/mail/em-sync-stream.c 2007-06-04 14:25:34.000000000 -0400 @@ -25,42 +25,17 @@ #include #endif @@ -3841,7 +3934,7 @@ enum _write_msg_t { EMSS_WRITE, EMSS_FLUSH, -@@ -68,275 +43,168 @@ +@@ -68,275 +43,168 @@ enum _write_msg_t { }; struct _write_msg { @@ -4219,9 +4312,9 @@ + g_string_free (emss->buffer, TRUE); + emss->buffer = g_string_sized_new (size); } ---- evolution-2.11.2/mail/em-subscribe-editor.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/em-subscribe-editor.c 2007-05-18 15:34:09.000000000 -0400 -@@ -175,7 +175,7 @@ +--- evolution-2.11.3/mail/em-subscribe-editor.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 ++++ evolution-2.11.3/mail/em-subscribe-editor.c 2007-06-04 14:25:34.000000000 -0400 +@@ -175,7 +175,7 @@ sub_unref(EMSubscribe *sub) /* ** Subscribe folder operation **************************************** */ struct _zsubscribe_msg { @@ -4230,7 +4323,7 @@ EMSubscribe *sub; EMSubscribeNode *node; -@@ -184,20 +184,18 @@ +@@ -184,20 +184,18 @@ struct _zsubscribe_msg { }; static void @@ -4256,7 +4349,7 @@ GtkTreeIter iter; GtkTreeModel *model; EMSubscribeNode *node; -@@ -207,7 +205,7 @@ +@@ -207,7 +205,7 @@ sub_folder_subscribed (struct _mail_msg if (m->sub->cancel) return; @@ -4265,7 +4358,7 @@ if (m->subscribe) m->node->info->flags |= CAMEL_FOLDER_SUBSCRIBED; else -@@ -228,8 +226,8 @@ +@@ -228,8 +226,8 @@ sub_folder_subscribed (struct _mail_msg /* queue any further ones, or if out, update the ui */ next = (struct _zsubscribe_msg *)e_dlist_remhead(&m->sub->subscribe); if (next) { @@ -4276,7 +4369,7 @@ } else { /* should it go off the model instead? */ sub_selection_changed(gtk_tree_view_get_selection(m->sub->tree), m->sub); -@@ -237,19 +235,18 @@ +@@ -237,19 +235,18 @@ sub_folder_subscribed (struct _mail_msg } static void @@ -4303,7 +4396,7 @@ }; /* spath is tree path in string form */ -@@ -259,18 +256,18 @@ +@@ -259,18 +256,18 @@ sub_subscribe_folder (EMSubscribe *sub, struct _zsubscribe_msg *m; int id; @@ -4325,7 +4418,7 @@ } else { d(printf("queueing subscribe folder '%s'\n", spath)); e_dlist_addtail(&sub->subscribe, (EDListNode *)m); -@@ -341,7 +338,7 @@ +@@ -341,7 +338,7 @@ sub_fill_level(EMSubscribe *sub, CamelFo /* async query of folderinfo */ struct _emse_folderinfo_msg { @@ -4334,7 +4427,7 @@ int seq; -@@ -351,31 +348,29 @@ +@@ -351,31 +348,29 @@ struct _emse_folderinfo_msg { }; static void @@ -4373,7 +4466,7 @@ } if (m->info) { -@@ -396,10 +391,8 @@ +@@ -396,10 +391,8 @@ sub_folderinfo_got(struct _mail_msg *mm) } static void @@ -4385,7 +4478,7 @@ if (m->info) m->sub->info_list = g_slist_prepend(m->sub->info_list, m->info); -@@ -415,11 +408,12 @@ +@@ -415,11 +408,12 @@ sub_folderinfo_free(struct _mail_msg *mm sub_unref(m->sub); } @@ -4403,7 +4496,7 @@ }; static int -@@ -431,19 +425,19 @@ +@@ -431,19 +425,19 @@ sub_queue_fill_level(EMSubscribe *sub, E d(printf("%s:%d:%s: Starting get folderinfo of '%s'\n", __FILE__, __LINE__, __GNUC_PRETTY_FUNCTION__, node?node->info->full_name:"")); @@ -4427,7 +4520,7 @@ return id; } -@@ -573,7 +567,7 @@ +@@ -573,7 +567,7 @@ sub_destroy(GtkWidget *w, EMSubscribe *s mail_msg_cancel(sub->subscribe_id); while ( (m = (struct _zsubscribe_msg *)e_dlist_remhead(&sub->subscribe)) ) @@ -4436,9 +4529,9 @@ sub_unref(sub); } ---- evolution-2.11.2/mail/mail-mt.h.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/mail-mt.h 2007-05-18 15:34:09.000000000 -0400 -@@ -23,43 +23,60 @@ +--- evolution-2.11.3/mail/mail-mt.h.kill-ethread 2007-04-18 06:17:32.000000000 -0400 ++++ evolution-2.11.3/mail/mail-mt.h 2007-06-04 14:25:34.000000000 -0400 +@@ -23,47 +23,64 @@ #ifndef _MAIL_MT #define _MAIL_MT @@ -4515,9 +4608,16 @@ +void mail_msg_slow_ordered_push (gpointer msg); + /* To implement the stop button */ - void *mail_cancel_hook_add(GDestroyNotify func, void *data); - void mail_cancel_hook_remove(void *handle); -@@ -112,24 +129,6 @@ +-void *mail_cancel_hook_add(GDestroyNotify func, void *data); +-void mail_cancel_hook_remove(void *handle); +-void mail_cancel_all(void); ++GHook * mail_cancel_hook_add (GHookFunc func, gpointer data); ++void mail_cancel_hook_remove (GHook *hook); ++void mail_cancel_all (void); + + /* request a string/password */ + char *mail_get_password (CamelService *service, const char *prompt, +@@ -112,24 +129,6 @@ void *mail_call_main(mail_call_t type, M void mail_enable_stop(void); void mail_disable_stop(void); @@ -4542,9 +4642,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.11.2/mail/mail-ops.h.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/mail-ops.h 2007-05-18 15:34:09.000000000 -0400 -@@ -30,13 +30,14 @@ +--- evolution-2.11.3/mail/mail-ops.h.kill-ethread 2007-04-18 06:17:32.000000000 -0400 ++++ evolution-2.11.3/mail/mail-ops.h 2007-06-04 14:25:34.000000000 -0400 +@@ -30,13 +30,14 @@ extern "C" { #pragma } #endif /* __cplusplus */ @@ -4560,7 +4660,7 @@ #include "libedataserver/e-account.h" void mail_append_mail (CamelFolder *folder, CamelMimeMessage *message, CamelMessageInfo *info, -@@ -55,12 +56,12 @@ +@@ -55,12 +56,12 @@ void mail_transfer_messages (CamelFolder void mail_get_message (CamelFolder *folder, const char *uid, void (*done) (CamelFolder *folder, const char *uid, CamelMimeMessage *msg, void *data), void *data, @@ -4575,7 +4675,7 @@ /* get several messages */ void mail_get_messages (CamelFolder *folder, GPtrArray *uids, -@@ -70,7 +71,7 @@ +@@ -70,7 +71,7 @@ void mail_get_messages (CamelFolder *fol /* same for a folder */ int mail_get_folder (const char *uri, guint32 flags, void (*done) (char *uri, CamelFolder *folder, void *data), void *data, @@ -4584,9 +4684,9 @@ /* and for a store */ int mail_get_store (const char *uri, CamelOperation *op, ---- evolution-2.11.2/mail/em-composer-utils.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/em-composer-utils.c 2007-05-18 15:34:09.000000000 -0400 -@@ -534,7 +534,7 @@ +--- evolution-2.11.3/mail/em-composer-utils.c.kill-ethread 2007-06-03 11:08:08.000000000 -0400 ++++ evolution-2.11.3/mail/em-composer-utils.c 2007-06-04 14:25:34.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; @@ -4595,7 +4695,7 @@ mail_msg_wait (id); if (!folder || !account->enabled) { -@@ -1085,7 +1085,7 @@ +@@ -1085,7 +1085,7 @@ em_utils_redirect_message_by_uid (CamelF g_return_if_fail (CAMEL_IS_FOLDER (folder)); g_return_if_fail (uid != NULL); @@ -4604,7 +4704,7 @@ } static void -@@ -1116,7 +1116,7 @@ +@@ -1116,7 +1116,7 @@ em_utils_handle_receipt (CamelFolder *fo } if (msg == NULL) { @@ -4613,7 +4713,7 @@ camel_message_info_free(info); return; } -@@ -1916,7 +1916,7 @@ +@@ -1922,7 +1922,7 @@ em_utils_reply_to_message(CamelFolder *f rd->source = source; if (rd->source) g_object_ref(rd->source); @@ -4622,16 +4722,16 @@ return; } -@@ -2088,5 +2088,5 @@ +@@ -2094,5 +2094,5 @@ em_utils_post_reply_to_message_by_uid (C g_return_if_fail (CAMEL_IS_FOLDER (folder)); g_return_if_fail (uid != NULL); - 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.11.2/mail/mail-folder-cache.c.kill-ethread 2007-05-09 00:14:42.000000000 -0400 -+++ evolution-2.11.2/mail/mail-folder-cache.c 2007-05-18 15:34:09.000000000 -0400 -@@ -844,15 +844,14 @@ +--- evolution-2.11.3/mail/mail-folder-cache.c.kill-ethread 2007-06-03 11:08:08.000000000 -0400 ++++ evolution-2.11.3/mail/mail-folder-cache.c 2007-06-04 14:25:34.000000000 -0400 +@@ -860,15 +860,14 @@ update_folders(CamelStore *store, CamelF struct _ping_store_msg { @@ -4650,7 +4750,7 @@ char *service_name = camel_service_get_name (CAMEL_SERVICE (m->store), TRUE); char *msg; -@@ -863,10 +862,9 @@ +@@ -879,10 +878,9 @@ ping_store_desc (struct _mail_msg *mm, i } static void @@ -4662,7 +4762,7 @@ if (CAMEL_SERVICE (m->store)->status == CAMEL_SERVICE_CONNECTED) { if (CAMEL_IS_DISCO_STORE (m->store) && -@@ -877,22 +875,21 @@ +@@ -893,22 +891,21 @@ ping_store_ping (struct _mail_msg *mm) online = TRUE; } if (online) @@ -4693,7 +4793,7 @@ }; static void -@@ -904,11 +901,11 @@ +@@ -920,11 +917,11 @@ ping_store (gpointer key, gpointer val, if (CAMEL_SERVICE (store)->status != CAMEL_SERVICE_CONNECTED) return; @@ -4707,7 +4807,7 @@ } static gboolean -@@ -953,7 +950,7 @@ +@@ -969,7 +966,7 @@ mail_note_store(CamelStore *store, Camel int hook = 0; g_assert(CAMEL_IS_STORE(store)); @@ -4716,9 +4816,9 @@ LOCK(info_lock); ---- evolution-2.11.2/mail/em-folder-view.c.kill-ethread 2007-05-10 05:27:32.000000000 -0400 -+++ evolution-2.11.2/mail/em-folder-view.c 2007-05-18 15:39:28.000000000 -0400 -@@ -69,6 +69,7 @@ +--- evolution-2.11.3/mail/em-folder-view.c.kill-ethread 2007-06-03 11:08:08.000000000 -0400 ++++ evolution-2.11.3/mail/em-folder-view.c 2007-06-04 14:25:34.000000000 -0400 +@@ -71,6 +71,7 @@ #include #include @@ -4726,7 +4826,7 @@ #include "menus/gal-view-etable.h" #include "menus/gal-view-factory-etable.h" -@@ -693,7 +694,7 @@ +@@ -695,7 +696,7 @@ emfv_got_folder(char *uri, CamelFolder * static void emfv_set_folder_uri(EMFolderView *emfv, const char *uri) { @@ -4735,7 +4835,7 @@ } static void -@@ -1614,7 +1615,7 @@ +@@ -1632,7 +1633,7 @@ filter_type_uid (CamelFolder *folder, co data->type = type; data->source = source; @@ -4744,7 +4844,7 @@ } static void -@@ -1712,7 +1713,7 @@ +@@ -1730,7 +1731,7 @@ vfolder_type_uid (CamelFolder *folder, c data->type = type; data->uri = g_strdup (uri); @@ -4753,17 +4853,17 @@ } static void -@@ -2355,7 +2356,7 @@ - emfv->priv->selected_uid); +@@ -2373,7 +2374,7 @@ emfv_message_selected_timeout(void *data + emfv->displayed_uid); gtk_html_stream_close(hstream, GTK_HTML_STREAM_OK); - + */ - mail_get_messagex(emfv->folder, emfv->displayed_uid, emfv_list_done_message_selected, emfv, mail_thread_queued); + mail_get_messagex(emfv->folder, emfv->displayed_uid, emfv_list_done_message_selected, emfv, mail_msg_fast_ordered_push); } else { e_profile_event_emit("goto.empty", "", 0); g_free(emfv->priv->selected_uid); ---- evolution-2.11.2/mail/mail-session.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/mail-session.c 2007-05-18 15:34:09.000000000 -0400 +--- evolution-2.11.3/mail/mail-session.c.kill-ethread 2007-06-03 11:08:08.000000000 -0400 ++++ evolution-2.11.3/mail/mail-session.c 2007-06-04 14:25:34.000000000 -0400 @@ -35,7 +35,7 @@ #include @@ -4773,7 +4873,7 @@ #include /* FIXME: this is where camel_init is defined, it shouldn't include everything else */ #include -@@ -258,21 +258,22 @@ +@@ -258,21 +258,22 @@ forget_password (CamelSession *session, /* ********************************************************************** */ @@ -4800,7 +4900,7 @@ /* clicked, send back the reply */ static void -@@ -280,122 +281,116 @@ +@@ -280,122 +281,116 @@ user_message_response (GtkDialog *dialog { gtk_widget_destroy ((GtkWidget *) dialog); @@ -4980,7 +5080,7 @@ } else ret = TRUE; -@@ -535,7 +530,7 @@ +@@ -535,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 */ @@ -4989,7 +5089,7 @@ static void *ms_thread_msg_new(CamelSession *session, CamelSessionThreadOps *ops, unsigned int size) { -@@ -544,7 +539,7 @@ +@@ -544,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) { @@ -4998,7 +5098,7 @@ msg->data = m; camel_operation_unref(msg->op); -@@ -557,7 +552,7 @@ +@@ -557,7 +552,7 @@ static void *ms_thread_msg_new(CamelSess static void ms_thread_msg_free(CamelSession *session, CamelSessionThreadMsg *m) { @@ -5007,7 +5107,7 @@ ms_parent_class->thread_msg_free(session, m); } -@@ -680,22 +675,23 @@ +@@ -680,22 +675,23 @@ mail_session_set_interactive (gboolean i MAIL_SESSION (session)->interactive = interactive; if (!interactive) { @@ -5037,8 +5137,8 @@ } } } ---- evolution-2.11.2/mail/mail-mt.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 -+++ evolution-2.11.2/mail/mail-mt.c 2007-05-18 15:34:09.000000000 -0400 +--- evolution-2.11.3/mail/mail-mt.c.kill-ethread 2007-04-18 06:17:32.000000000 -0400 ++++ evolution-2.11.3/mail/mail-mt.c 2007-06-04 14:25:34.000000000 -0400 @@ -29,8 +29,8 @@ #include #include @@ -5049,7 +5149,7 @@ #include #include -@@ -63,7 +63,7 @@ +@@ -63,7 +63,7 @@ static void mail_operation_status(struct #endif /* background operation status stuff */ @@ -5058,7 +5158,7 @@ int activity_state; /* sigh sigh sigh, we need to keep track of the state external to the pointer itself for locking/race conditions */ int activity_id; -@@ -82,15 +82,12 @@ +@@ -82,15 +82,12 @@ static GHashTable *mail_msg_active_table static pthread_mutex_t mail_msg_lock = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t mail_msg_cond = PTHREAD_COND_INITIALIZER; @@ -5077,7 +5177,7 @@ MAIL_MT_LOCK(mail_msg_lock); -@@ -112,7 +109,6 @@ +@@ -112,7 +109,6 @@ void *mail_msg_new(mail_msg_op_t *ops, E fprintf(log, "Logging async operations\n"); if (log_locks) { @@ -5085,7 +5185,7 @@ fprintf(log, "%" G_GINT64_MODIFIER "x: lock mail_msg_lock\n", e_util_pthread_id(pthread_self())); } } else { -@@ -122,13 +118,13 @@ +@@ -122,14 +118,15 @@ void *mail_msg_new(mail_msg_op_t *ops, E } } #endif @@ -5101,9 +5201,11 @@ - msg->priv = g_malloc0(sizeof(*msg->priv)); + msg->priv = g_slice_new (MailMsgPrivate); ++ g_debug ("Inserting message %u", msg->seq); g_hash_table_insert(mail_msg_active_table, GINT_TO_POINTER(msg->seq), msg); -@@ -143,12 +139,15 @@ + d(printf("New message %p\n", msg)); +@@ -143,12 +140,15 @@ void *mail_msg_new(mail_msg_op_t *ops, E return msg; } @@ -5122,7 +5224,7 @@ e_activity_handler_operation_finished (activity_handler, activity_id); } -@@ -177,58 +176,84 @@ +@@ -177,58 +177,85 @@ checkmem(void *p) } #endif @@ -5185,6 +5287,7 @@ #endif - g_hash_table_remove(mail_msg_active_table, GINT_TO_POINTER(m->seq)); - pthread_cond_broadcast(&mail_msg_cond); ++ g_debug ("Removing message %u", mail_msg->seq); + g_hash_table_remove ( + mail_msg_active_table, GINT_TO_POINTER (mail_msg->seq)); + pthread_cond_broadcast (&mail_msg_cond); @@ -5233,7 +5336,7 @@ } /* hash table of ops->dialogue of active errors */ -@@ -244,9 +269,10 @@ +@@ -244,9 +271,10 @@ static void error_response(GtkObject *o, gtk_widget_destroy((GtkWidget *)o); } @@ -5246,7 +5349,7 @@ char *what; GtkDialog *gd; -@@ -271,27 +297,27 @@ +@@ -271,27 +299,27 @@ void mail_msg_check_error(void *msg) /* check to see if we have dialogue already running for this operation */ /* we key on the operation pointer, which is at least accurate enough for the operation type, although it could be on a different object. */ @@ -5281,7 +5384,7 @@ MAIL_MT_LOCK(mail_msg_lock); m = g_hash_table_lookup(mail_msg_active_table, GINT_TO_POINTER(msgid)); -@@ -304,13 +330,12 @@ +@@ -304,13 +332,12 @@ void mail_msg_cancel(unsigned int msgid) /* waits for a message to be finished processing (freed) @@ -5298,7 +5401,7 @@ MAIL_MT_LOCK(mail_msg_lock); m = g_hash_table_lookup(mail_msg_active_table, GINT_TO_POINTER(msgid)); while (m) { -@@ -347,9 +372,7 @@ +@@ -347,9 +374,7 @@ int mail_msg_active(unsigned int msgid) void mail_msg_wait_all(void) { @@ -5309,8 +5412,81 @@ MAIL_MT_LOCK(mail_msg_lock); while (g_hash_table_size(mail_msg_active_table) > 0) { MAIL_MT_UNLOCK(mail_msg_lock); -@@ -420,241 +443,183 @@ - MAIL_MT_UNLOCK(mail_msg_lock); +@@ -367,294 +392,239 @@ void mail_msg_wait_all(void) + } + + /* **************************************** */ +-struct _cancel_hook_data { +- struct _cancel_hook_data *next; +- struct _cancel_hook_data *prev; + +- GDestroyNotify func; +- void *data; +-}; ++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) + { +- struct _cancel_hook_data *d; ++ GHook *hook; + +- d = g_malloc0(sizeof(*d)); +- d->func = func; +- d->data = data; ++ MAIL_MT_LOCK (mail_msg_lock); + +- MAIL_MT_LOCK(mail_msg_lock); +- e_dlist_addtail(&cancel_hook_list, (EDListNode *)d); +- MAIL_MT_UNLOCK(mail_msg_lock); ++ if (!cancel_hook_list.is_setup) ++ g_hook_list_init (&cancel_hook_list, sizeof (GHook)); + +- return (void *)d; +-} ++ hook = g_hook_alloc (&cancel_hook_list); ++ hook->func = func; ++ hook->data = data; + +-void mail_cancel_hook_remove(void *handle) +-{ +- struct _cancel_hook_data *d = handle; ++ g_hook_append (&cancel_hook_list, hook); + +- MAIL_MT_LOCK(mail_msg_lock); +- e_dlist_remove((EDListNode *)d); +- MAIL_MT_UNLOCK(mail_msg_lock); +- g_free(d); ++ MAIL_MT_UNLOCK (mail_msg_lock); ++ ++ return hook; + } + +-void mail_cancel_all(void) ++void ++mail_cancel_hook_remove (GHook *hook) + { +- struct _cancel_hook_data *d, *n; ++ MAIL_MT_LOCK (mail_msg_lock); + +- camel_operation_cancel(NULL); ++ g_assert (cancel_hook_list.is_setup); ++ g_hook_destroy_link (&cancel_hook_list, hook); + +- /* I can ssee a deadlock coming on ... */ +- MAIL_MT_LOCK(mail_msg_lock); +- d = (struct _cancel_hook_data *)cancel_hook_list.head; +- n = d->next; +- while (n) { +- d->func(d->data); +- d = n; +- n = n->next; +- } +- MAIL_MT_UNLOCK(mail_msg_lock); ++ MAIL_MT_UNLOCK (mail_msg_lock); } -EMsgPort *mail_gui_port; @@ -5337,39 +5513,36 @@ -#ifdef G_OS_WIN32 -EThread * -mail_win32_get_mail_thread_queued (void) -+#define PERIODIC_RATE_HZ 10 -+static guint periodic_source_id = 0; ++void ++mail_cancel_all (void) + { +- return mail_thread_queued; ++ camel_operation_cancel (NULL); ++ ++ MAIL_MT_LOCK (mail_msg_lock); ++ ++ if (cancel_hook_list.is_setup) ++ g_hook_list_invoke (&cancel_hook_list, FALSE); ++ ++ MAIL_MT_UNLOCK (mail_msg_lock); + } +-#endif ++ ++static guint idle_source_id = 0; ++G_LOCK_DEFINE_STATIC (idle_source_id); +static GAsyncQueue *main_loop_queue = NULL; +static GAsyncQueue *msg_reply_queue = NULL; +static GThread *main_thread = NULL; -+ -+static void -+periodic_cleanup (void) - { -- return mail_thread_queued; -+ periodic_source_id = 0; -+ -+ g_assert (main_loop_queue != NULL); -+ g_async_queue_unref (main_loop_queue); -+ main_loop_queue = NULL; -+ -+ g_assert (msg_reply_queue != NULL); -+ g_async_queue_unref (msg_reply_queue); -+ msg_reply_queue = NULL; - } --#endif static gboolean -mail_msgport_replied(GIOChannel *source, GIOCondition cond, void *d) -+periodic_processing (void) ++mail_msg_idle_cb (void) { - EMsgPort *port = (EMsgPort *)d; - mail_msg_t *m; -+ MailMsg *msg; - +- - while (( m = (mail_msg_t *)e_msgport_get(port))) { -+ g_assert (main_loop_queue != NULL); -+ g_assert (msg_reply_queue != NULL); ++ MailMsg *msg; -#ifdef MALLOC_CHECK - checkmem(m); @@ -5382,11 +5555,17 @@ - fprintf(log, "%p: Replied to GUI thread (exception `%s'\n", m, - camel_exception_get_description(&m->ex)?camel_exception_get_description(&m->ex):"None"); -#endif -- ++ g_assert (main_loop_queue != NULL); ++ g_assert (msg_reply_queue != NULL); + - if (m->ops->reply_msg) - m->ops->reply_msg(m); - mail_msg_check_error(m); - mail_msg_free(m); ++ G_LOCK (idle_source_id); ++ idle_source_id = 0; ++ G_UNLOCK (idle_source_id); ++ + /* check the main loop queue */ + while ((msg = g_async_queue_try_pop (main_loop_queue)) != NULL) { + if (msg->info->exec != NULL) @@ -5404,7 +5583,8 @@ + mail_msg_unref (msg); } - return TRUE; +- return TRUE; ++ return FALSE; } -static gboolean @@ -5414,6 +5594,28 @@ { - EMsgPort *port = (EMsgPort *)d; - mail_msg_t *m; +- +- while (( m = (mail_msg_t *)e_msgport_get(port))) { +-#ifdef MALLOC_CHECK +- checkmem(m); +- checkmem(m->cancel); +- checkmem(m->priv); +-#endif +- +-#ifdef LOG_OPS +- if (log_ops) +- fprintf(log, "%p: Received at GUI thread\n", m); +-#endif +- +- if (m->ops->receive_msg) +- m->ops->receive_msg(m); +- if (m->msg.reply_port) +- e_msgport_reply((EMsg *)m); +- else { +- if (m->ops->reply_msg) +- m->ops->reply_msg(m); +- mail_msg_free(m); +- } + if (msg->info->desc != NULL) { + gchar *text = msg->info->desc (msg); + camel_operation_register (msg->cancel); @@ -5434,137 +5636,107 @@ + camel_operation_unref (msg->cancel); + msg->cancel = NULL; + MAIL_MT_UNLOCK (mail_msg_lock); -+ } - -- while (( m = (mail_msg_t *)e_msgport_get(port))) { --#ifdef MALLOC_CHECK -- checkmem(m); -- checkmem(m->cancel); -- checkmem(m->priv); --#endif -+ g_async_queue_push (msg_reply_queue, msg); -+} - --#ifdef LOG_OPS -- if (log_ops) -- fprintf(log, "%p: Received at GUI thread\n", m); --#endif -+void -+mail_msg_cleanup (void) -+{ -+ GSource *source; - -- if (m->ops->receive_msg) -- m->ops->receive_msg(m); -- if (m->msg.reply_port) -- e_msgport_reply((EMsg *)m); -- else { -- if (m->ops->reply_msg) -- m->ops->reply_msg(m); -- mail_msg_free(m); -- } -- } -+ mail_msg_wait_all(); + } - return TRUE; -+ /* stop periodic processing */ -+ source = g_main_context_find_source_by_id ( -+ g_main_context_default (), periodic_source_id); -+ g_assert (source != NULL); -+ g_source_destroy (source); ++ g_async_queue_push (msg_reply_queue, msg); ++ ++ G_LOCK (idle_source_id); ++ if (idle_source_id == 0) ++ idle_source_id = g_idle_add ( ++ (GSourceFunc) mail_msg_idle_cb, NULL); ++ G_UNLOCK (idle_source_id); } -/* Test code, lighterwight, more configurable calls */ -static gboolean -mail_msgport_received2(GIOChannel *source, GIOCondition cond, void *d) +void -+mail_msg_init (void) ++mail_msg_cleanup (void) { - EMsgPort *port = (EMsgPort *)d; - mail_msg_t *m; -+ main_loop_queue = g_async_queue_new (); -+ msg_reply_queue = g_async_queue_new (); ++ mail_msg_wait_all(); - while (( m = (mail_msg_t *)e_msgport_get(port))) { -#ifdef LOG_OPS - if (log_ops) - fprintf(log, "%p: Received at GUI2 thread\n", m); -#endif -+ /* start periodic processing */ -+ periodic_source_id = g_timeout_add_full ( -+ G_PRIORITY_DEFAULT, -+ 1000 / PERIODIC_RATE_HZ, -+ (GSourceFunc) periodic_processing, NULL, -+ (GDestroyNotify) periodic_cleanup); ++ G_LOCK (idle_source_id); ++ if (idle_source_id != 0) { ++ GSource *source; - if (m->ops->receive_msg) - m->ops->receive_msg(m); - else - mail_msg_free(m); -- } -+ mail_msg_active_table = g_hash_table_new (NULL, NULL); -+ main_thread = g_thread_self (); ++ /* Cancel the idle source. */ ++ source = g_main_context_find_source_by_id ( ++ g_main_context_default (), idle_source_id); ++ g_assert (source != NULL); ++ g_source_destroy (source); ++ idle_source_id = 0; + } ++ G_UNLOCK (idle_source_id); - return TRUE; -+ mail_async_event = mail_async_event_new (); - } +-} ++ g_assert (main_loop_queue != NULL); ++ g_async_queue_unref (main_loop_queue); ++ main_loop_queue = NULL; + ++ g_assert (msg_reply_queue != NULL); ++ g_async_queue_unref (msg_reply_queue); ++ msg_reply_queue = NULL; ++} -- -static void -mail_msg_destroy(EThread *e, EMsg *msg, void *data) -+static gint -+mail_msg_compare (const MailMsg *msg1, const MailMsg *msg2) ++void ++mail_msg_init (void) { - mail_msg_t *m = (mail_msg_t *)msg; -+ gint priority1 = msg1->priority; -+ gint priority2 = msg2->priority; ++ main_loop_queue = g_async_queue_new (); ++ msg_reply_queue = g_async_queue_new (); -#ifdef MALLOC_CHECK - checkmem(m); - checkmem(m->cancel); - checkmem(m->priv); -#endif -+ if (priority1 == priority2) -+ return 0; ++ mail_msg_active_table = g_hash_table_new (NULL, NULL); ++ main_thread = g_thread_self (); - mail_msg_free(m); -+ return (priority1 < priority2) ? 1 : -1; ++ mail_async_event = mail_async_event_new (); } -static void -mail_msg_received(EThread *e, EMsg *msg, void *data) -+static gpointer -+create_thread_pool (gpointer data) ++static gint ++mail_msg_compare (const MailMsg *msg1, const MailMsg *msg2) { - mail_msg_t *m = (mail_msg_t *)msg; -+ GThreadPool *thread_pool; -+ gint max_threads = GPOINTER_TO_INT (data); - +- -#ifdef MALLOC_CHECK - checkmem(m); - checkmem(m->cancel); - checkmem(m->priv); -#endif -+ /* once created, run forever */ -+ thread_pool = g_thread_pool_new ( -+ (GFunc) mail_msg_proxy, NULL, max_threads, FALSE, NULL); -+ g_thread_pool_set_sort_function ( -+ thread_pool, (GCompareDataFunc) mail_msg_compare, NULL); ++ gint priority1 = msg1->priority; ++ gint priority2 = msg2->priority; - if (m->ops->describe_msg) { - char *text = m->ops->describe_msg(m, FALSE); -+ return thread_pool; -+} ++ if (priority1 == priority2) ++ return 0; -#ifdef LOG_OPS - if (log_ops) - fprintf(log, "%p: Received at thread %" G_GINT64_MODIFIER "x: '%s'\n", m, e_util_pthread_id(pthread_self()), text); -#endif -+void -+mail_msg_main_loop_push (gpointer msg) -+{ -+ g_async_queue_push_sorted (main_loop_queue, msg, -+ (GCompareDataFunc) mail_msg_compare, NULL); ++ return (priority1 < priority2) ? 1 : -1; +} - d(printf("message received at thread\n")); @@ -5577,17 +5749,22 @@ - if (log_ops) - fprintf(log, "%p: Received at thread %" G_GINT64_MODIFIER "x\n", m, e_util_pthread_id(pthread_self())); -#endif -+void -+mail_msg_unordered_push (gpointer msg) ++static gpointer ++create_thread_pool (gpointer data) +{ -+ static GOnce once = G_ONCE_INIT; ++ GThreadPool *thread_pool; ++ gint max_threads = GPOINTER_TO_INT (data); - if (m->ops->receive_msg) { - mail_enable_stop(); - m->ops->receive_msg(m); - mail_disable_stop(); - } -+ g_once (&once, (GThreadFunc) create_thread_pool, GINT_TO_POINTER (10)); ++ /* once created, run forever */ ++ thread_pool = g_thread_pool_new ( ++ (GFunc) mail_msg_proxy, NULL, max_threads, FALSE, NULL); ++ g_thread_pool_set_sort_function ( ++ thread_pool, (GCompareDataFunc) mail_msg_compare, NULL); - if (m->ops->describe_msg) { - camel_operation_end(m->cancel); @@ -5597,33 +5774,45 @@ - m->cancel = NULL; - MAIL_MT_UNLOCK(mail_msg_lock); - } -+ g_thread_pool_push ((GThreadPool *) once.retval, msg, NULL); ++ return thread_pool; } -void mail_msg_cleanup(void) +void -+mail_msg_fast_ordered_push (gpointer msg) ++mail_msg_main_loop_push (gpointer msg) { - mail_msg_wait_all(); -- ++ g_async_queue_push_sorted (main_loop_queue, msg, ++ (GCompareDataFunc) mail_msg_compare, NULL); + - e_thread_destroy(mail_thread_queued_slow); - e_thread_destroy(mail_thread_queued); - e_thread_destroy(mail_thread_new); -+ static GOnce once = G_ONCE_INIT; ++ G_LOCK (idle_source_id); ++ if (idle_source_id == 0) ++ idle_source_id = g_idle_add ( ++ (GSourceFunc) mail_msg_idle_cb, NULL); ++ G_UNLOCK (idle_source_id); ++} - g_io_channel_unref(mail_gui_channel); - g_io_channel_unref(mail_gui_reply_channel); -+ g_once (&once, (GThreadFunc) create_thread_pool, GINT_TO_POINTER (1)); ++void ++mail_msg_unordered_push (gpointer msg) ++{ ++ static GOnce once = G_ONCE_INIT; - e_msgport_destroy(mail_gui_port); - e_msgport_destroy(mail_gui_reply_port); ++ g_once (&once, (GThreadFunc) create_thread_pool, GINT_TO_POINTER (10)); ++ + g_thread_pool_push ((GThreadPool *) once.retval, msg, NULL); } -static guint -em_channel_setup(EMsgPort **port, GIOChannel **channel, GIOFunc func) +void -+mail_msg_slow_ordered_push (gpointer msg) ++mail_msg_fast_ordered_push (gpointer msg) { - GSource *source; - guint id; @@ -5647,8 +5836,8 @@ } -void mail_msg_init(void) -+gboolean -+mail_in_main_thread (void) ++void ++mail_msg_slow_ordered_push (gpointer msg) { - em_channel_setup(&mail_gui_reply_port, &mail_gui_reply_channel, mail_msgport_replied); - mail_gui_watch = em_channel_setup(&mail_gui_port, &mail_gui_channel, mail_msgport_received); @@ -5669,16 +5858,24 @@ - e_thread_set_msg_received(mail_thread_new, mail_msg_received, 0); - e_thread_set_reply_port(mail_thread_new, mail_gui_reply_port); - e_thread_set_queue_limit(mail_thread_new, 10); -- ++ static GOnce once = G_ONCE_INIT; ++ ++ g_once (&once, (GThreadFunc) create_thread_pool, GINT_TO_POINTER (1)); + - mail_msg_active_table = g_hash_table_new(NULL, NULL); - mail_gui_thread = pthread_self(); -- ++ g_thread_pool_push ((GThreadPool *) once.retval, msg, NULL); ++} + - mail_async_event = mail_async_event_new(); ++gboolean ++mail_in_main_thread (void) ++{ + return (g_thread_self () == main_thread); } /* ********************************************************************** */ -@@ -665,7 +630,8 @@ +@@ -665,7 +635,8 @@ static pthread_mutex_t status_lock = PTH /* ********************************************************************** */ struct _proxy_msg { @@ -5688,7 +5885,7 @@ MailAsyncEvent *ea; mail_async_event_t type; -@@ -679,10 +645,8 @@ +@@ -679,10 +650,8 @@ struct _proxy_msg { }; static void @@ -5700,7 +5897,7 @@ m->thread = pthread_self(); m->have_thread = TRUE; m->func(m->o, m->event_data, m->data); -@@ -697,16 +661,17 @@ +@@ -697,16 +666,17 @@ static int idle_async_event(void *mm) { do_async_event(mm); @@ -5724,7 +5921,7 @@ }; MailAsyncEvent *mail_async_event_new(void) -@@ -723,10 +688,9 @@ +@@ -723,10 +693,9 @@ int mail_async_event_emit(MailAsyncEvent { struct _proxy_msg *m; int id; @@ -5736,7 +5933,7 @@ m->func = func; m->o = o; m->event_data = event_data; -@@ -735,7 +699,7 @@ +@@ -735,7 +704,7 @@ int mail_async_event_emit(MailAsyncEvent m->type = type; m->have_thread = FALSE; @@ -5745,7 +5942,7 @@ g_mutex_lock(ea->lock); ea->tasks = g_slist_prepend(ea->tasks, m); g_mutex_unlock(ea->lock); -@@ -743,12 +707,12 @@ +@@ -743,12 +712,12 @@ int mail_async_event_emit(MailAsyncEvent /* We use an idle function instead of our own message port only because the gui message ports's notification buffer might overflow and deadlock us */ if (type == MAIL_ASYNC_GUI) { @@ -5761,7 +5958,7 @@ return id; } -@@ -762,7 +726,7 @@ +@@ -762,7 +731,7 @@ int mail_async_event_destroy(MailAsyncEv g_mutex_lock(ea->lock); while (ea->tasks) { m = ea->tasks->data; @@ -5770,7 +5967,7 @@ if (m->have_thread && pthread_equal(m->thread, thread)) { g_warning("Destroying async event from inside an event, returning EDEADLK"); g_mutex_unlock(ea->lock); -@@ -784,17 +748,18 @@ +@@ -784,17 +753,18 @@ int mail_async_event_destroy(MailAsyncEv /* ********************************************************************** */ struct _call_msg { @@ -5792,7 +5989,7 @@ void *p1, *p2, *p3, *p4, *p5; int i1; va_list ap; -@@ -842,45 +807,48 @@ +@@ -842,45 +812,48 @@ do_call(struct _mail_msg *mm) m->ret = m->func(p1, p2, i1, p3, p4, p5); break; } @@ -5860,7 +6057,7 @@ return ret; } -@@ -889,40 +857,42 @@ +@@ -889,40 +862,42 @@ void *mail_call_main(mail_call_t type, M /* locked via status_lock */ static int busy_state; @@ -5915,7 +6112,7 @@ } MAIL_MT_UNLOCK(status_lock); } -@@ -930,7 +900,7 @@ +@@ -930,7 +905,7 @@ void mail_disable_stop(void) /* ******************************************************************************** */ struct _op_status_msg { @@ -5924,7 +6121,7 @@ struct _CamelOperation *op; char *what; -@@ -938,16 +908,16 @@ +@@ -938,16 +913,16 @@ struct _op_status_msg { void *data; }; @@ -5946,7 +6143,7 @@ MAIL_MT_LOCK (mail_msg_lock); -@@ -986,8 +956,8 @@ +@@ -986,8 +961,8 @@ static void do_op_status(struct _mail_ms progress_icon = e_icon_factory_get_icon ("stock_mail-unread", E_ICON_SIZE_MENU); MAIL_MT_UNLOCK (mail_msg_lock); @@ -5957,7 +6154,7 @@ /* uncommenting because message is not very useful for a user, see bug 271734*/ else { what = g_strdup(""); -@@ -1021,18 +991,17 @@ +@@ -1021,18 +996,17 @@ static void do_op_status(struct _mail_ms } static void @@ -5983,7 +6180,7 @@ }; static void -@@ -1042,7 +1011,7 @@ +@@ -1042,7 +1016,7 @@ mail_operation_status (struct _CamelOper d(printf("got operation statys: %s %d%%\n", what, pc)); @@ -5992,7 +6189,7 @@ m->op = op; m->what = g_strdup(what); switch (pc) { -@@ -1055,7 +1024,7 @@ +@@ -1055,7 +1029,7 @@ mail_operation_status (struct _CamelOper } m->pc = pc; m->data = data; @@ -6001,9 +6198,9 @@ } /* ******************** */ ---- evolution-2.11.2/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread 2007-04-18 06:17:14.000000000 -0400 -+++ evolution-2.11.2/plugins/folder-unsubscribe/folder-unsubscribe.c 2007-05-18 15:34:09.000000000 -0400 -@@ -44,32 +44,30 @@ +--- evolution-2.11.3/plugins/folder-unsubscribe/folder-unsubscribe.c.kill-ethread 2007-04-18 06:17:14.000000000 -0400 ++++ evolution-2.11.3/plugins/folder-unsubscribe/folder-unsubscribe.c 2007-06-04 14:25:34.000000000 -0400 +@@ -44,32 +44,30 @@ void org_gnome_mail_folder_unsubscribe ( struct _folder_unsub_t { @@ -6044,7 +6241,7 @@ if (((CamelService *) store)->provider->url_flags & CAMEL_URL_FRAGMENT_IS_PATH) path = url->fragment; else if (url->path && url->path[0]) -@@ -82,18 +80,17 @@ +@@ -82,18 +80,17 @@ folder_unsubscribe__unsub (struct _mail_ } static void @@ -6071,7 +6268,7 @@ }; -@@ -105,8 +102,8 @@ +@@ -105,8 +102,8 @@ org_gnome_mail_folder_unsubscribe (EPlug if (target->uri == NULL) return; @@ -6082,9 +6279,9 @@ - e_thread_put (mail_thread_new, (EMsg *) unsub); + mail_msg_unordered_push (unsub); } ---- evolution-2.11.2/plugins/mark-all-read/mark-all-read.c.kill-ethread 2007-05-14 00:24:02.000000000 -0400 -+++ evolution-2.11.2/plugins/mark-all-read/mark-all-read.c 2007-05-18 15:34:09.000000000 -0400 -@@ -44,7 +44,7 @@ +--- evolution-2.11.3/plugins/mark-all-read/mark-all-read.c.kill-ethread 2007-05-14 00:24:02.000000000 -0400 ++++ evolution-2.11.3/plugins/mark-all-read/mark-all-read.c 2007-06-04 14:25:34.000000000 -0400 +@@ -44,7 +44,7 @@ org_gnome_mark_all_read (EPlugin *ep, EM return; } @@ -6093,9 +6290,9 @@ } static void ---- evolution-2.11.2/plugins/exchange-operations/exchange-folder.c.kill-ethread 2007-05-13 13:41:07.000000000 -0400 -+++ evolution-2.11.2/plugins/exchange-operations/exchange-folder.c 2007-05-18 15:34:09.000000000 -0400 -@@ -140,7 +140,7 @@ +--- evolution-2.11.3/plugins/exchange-operations/exchange-folder.c.kill-ethread 2007-05-13 13:41:07.000000000 -0400 ++++ evolution-2.11.3/plugins/exchange-operations/exchange-folder.c 2007-06-04 14:25:34.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 */ @@ -6104,18 +6301,18 @@ } ---- evolution-2.11.2/plugins/save-attachments/save-attachments.c.kill-ethread 2007-04-18 06:17:20.000000000 -0400 -+++ evolution-2.11.2/plugins/save-attachments/save-attachments.c 2007-05-18 15:34:09.000000000 -0400 -@@ -403,5 +403,5 @@ +--- evolution-2.11.3/plugins/save-attachments/save-attachments.c.kill-ethread 2007-04-18 06:17:20.000000000 -0400 ++++ evolution-2.11.3/plugins/save-attachments/save-attachments.c 2007-06-04 14:25:34.000000000 -0400 +@@ -403,5 +403,5 @@ org_gnome_save_attachments_save(EPlugin camel_object_ref(data->folder); data->uid = g_strdup(target->uids->pdata[0]); - 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.11.2/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread 2007-04-18 06:17:17.000000000 -0400 -+++ evolution-2.11.2/plugins/mailing-list-actions/mailing-list-actions.c 2007-05-18 15:34:09.000000000 -0400 -@@ -89,7 +89,7 @@ +--- evolution-2.11.3/plugins/mailing-list-actions/mailing-list-actions.c.kill-ethread 2007-04-18 06:17:17.000000000 -0400 ++++ evolution-2.11.3/plugins/mailing-list-actions/mailing-list-actions.c 2007-06-04 14:25:34.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), @@ -6124,9 +6321,9 @@ } void emla_list_action_do (CamelFolder *folder, const char *uid, CamelMimeMessage *msg, void *data) ---- evolution-2.11.2/plugins/groupwise-features/share-folder-common.c.kill-ethread 2007-04-18 06:17:15.000000000 -0400 -+++ evolution-2.11.2/plugins/groupwise-features/share-folder-common.c 2007-05-18 15:34:09.000000000 -0400 -@@ -121,7 +121,7 @@ +--- evolution-2.11.3/plugins/groupwise-features/share-folder-common.c.kill-ethread 2007-04-18 06:17:15.000000000 -0400 ++++ evolution-2.11.3/plugins/groupwise-features/share-folder-common.c 2007-06-04 14:25:34.000000000 -0400 +@@ -121,7 +121,7 @@ shared_folder_abort (EPlugin *ep, EConfi } struct _EMCreateFolder { @@ -6135,7 +6332,7 @@ /* input data */ CamelStore *store; -@@ -137,31 +137,26 @@ +@@ -137,31 +137,26 @@ struct _EMCreateFolder { void *user_data; }; @@ -6173,7 +6370,7 @@ struct ShareInfo *ssi = (struct ShareInfo *) m->user_data; CamelStore *store = CAMEL_STORE (m->store) ; EGwConnection *ccnc; -@@ -180,10 +175,8 @@ +@@ -180,10 +175,8 @@ create_folder__created (struct _mail_msg } static void @@ -6185,7 +6382,7 @@ camel_store_free_folder_info (m->store, m->fi); camel_object_unref (m->store); g_free (m->full_name); -@@ -191,11 +184,12 @@ +@@ -191,11 +184,12 @@ create_folder__free (struct _mail_msg *m g_free (m->name); } @@ -6203,7 +6400,7 @@ }; static void -@@ -229,7 +223,7 @@ +@@ -229,7 +223,7 @@ create_folder (CamelStore *store, const parent = namebuf; } @@ -6212,7 +6409,7 @@ camel_object_ref (store); m->store = store; m->full_name = g_strdup (full_name); -@@ -238,8 +232,8 @@ +@@ -238,8 +232,8 @@ create_folder (CamelStore *store, const m->user_data = (struct ShareInfo *) user_data; m->done = done; g_free (namebuf); @@ -6223,9 +6420,9 @@ return id; } ---- evolution-2.11.2/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread 2007-04-18 06:18:37.000000000 -0400 -+++ evolution-2.11.2/calendar/gui/alarm-notify/alarm-notify.h 2007-05-18 15:34:09.000000000 -0400 -@@ -39,19 +39,6 @@ +--- evolution-2.11.3/calendar/gui/alarm-notify/alarm-notify.h.kill-ethread 2007-04-18 06:18:37.000000000 -0400 ++++ evolution-2.11.3/calendar/gui/alarm-notify/alarm-notify.h 2007-06-04 14:25:34.000000000 -0400 +@@ -39,19 +39,6 @@ typedef struct _AlarmNotifyClass AlarmNo typedef struct _AlarmNotifyPrivate AlarmNotifyPrivate; @@ -6245,9 +6442,9 @@ struct _AlarmNotify { BonoboObject object; ---- evolution-2.11.2/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread 2007-04-18 06:18:37.000000000 -0400 -+++ evolution-2.11.2/calendar/gui/alarm-notify/alarm-notify.c 2007-05-18 15:34:09.000000000 -0400 -@@ -45,10 +45,6 @@ +--- evolution-2.11.3/calendar/gui/alarm-notify/alarm-notify.c.kill-ethread 2007-04-18 06:18:37.000000000 -0400 ++++ evolution-2.11.3/calendar/gui/alarm-notify/alarm-notify.c 2007-06-04 14:25:34.000000000 -0400 +@@ -45,10 +45,6 @@ struct _AlarmNotifyPrivate { GMutex *mutex; }; @@ -6258,7 +6455,7 @@ #define d(x) x -@@ -286,72 +282,12 @@ +@@ -286,72 +282,12 @@ alarm_notify_finalize (GObject *object) g_mutex_free (priv->mutex); g_free (priv); @@ -6331,7 +6528,7 @@ /** * alarm_notify_new: * -@@ -363,23 +299,10 @@ +@@ -363,23 +299,10 @@ alarm_msg_received(EThread *e, EMsg *msg AlarmNotify * alarm_notify_new (void) { @@ -6359,9 +6556,9 @@ } static void ---- evolution-2.11.2/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread 2007-05-09 00:14:46.000000000 -0400 -+++ evolution-2.11.2/calendar/gui/alarm-notify/alarm-queue.c 2007-05-18 15:34:09.000000000 -0400 -@@ -115,9 +115,6 @@ +--- evolution-2.11.3/calendar/gui/alarm-notify/alarm-queue.c.kill-ethread 2007-06-01 03:09:22.000000000 -0400 ++++ evolution-2.11.3/calendar/gui/alarm-notify/alarm-queue.c 2007-06-04 14:25:34.000000000 -0400 +@@ -97,9 +97,6 @@ static int tray_blink_id = -1; static int tray_blink_state = FALSE; static AlarmNotify *an; @@ -6371,7 +6568,7 @@ /* Structure that stores a client we are monitoring */ typedef struct { /* Monitored client */ -@@ -199,6 +196,40 @@ +@@ -181,6 +178,40 @@ static void on_dialog_objs_removed_cb (E static void load_alarms_for_today (ClientAlarms *ca); static void midnight_refresh_cb (gpointer alarm_id, time_t trigger, gpointer data); @@ -6412,7 +6609,7 @@ /* Queues an alarm trigger for midnight so that we can load the next day's worth * of alarms. */ -@@ -237,47 +268,41 @@ +@@ -219,47 +250,41 @@ add_client_alarms_cb (gpointer key, gpoi } struct _midnight_refresh_msg { @@ -6470,7 +6667,7 @@ } /* Looks up a client in the client alarms hash table */ -@@ -636,6 +661,7 @@ +@@ -618,6 +643,7 @@ remove_comp (ClientAlarms *ca, ECalCompo * alarms. */ struct _query_msg { @@ -6478,7 +6675,7 @@ ECal *client; GList *objects; gpointer data; -@@ -669,7 +695,7 @@ +@@ -651,7 +677,7 @@ duplicate_ecal (GList *in_list) } static void @@ -6487,7 +6684,7 @@ { ClientAlarms *ca; time_t from, day_end; -@@ -678,13 +704,12 @@ +@@ -660,13 +686,12 @@ query_objects_changed_async (EThread *e, icaltimezone *zone; CompQueuedAlarms *cqa; GList *l; @@ -6504,7 +6701,7 @@ from = config_data_get_last_notification_time (); if (from == -1) -@@ -773,43 +798,38 @@ +@@ -755,43 +780,38 @@ query_objects_changed_async (EThread *e, comp = NULL; } g_list_free (objects); @@ -6561,7 +6758,7 @@ d(printf("%s:%d (query_objects_removed_async) - Removing %d objects\n",__FILE__, __LINE__, g_list_length(objects))); -@@ -822,27 +842,22 @@ +@@ -804,27 +824,22 @@ query_objects_removed_async (EThread *e, } g_list_free (objects); @@ -6598,7 +6795,7 @@ } -@@ -989,20 +1004,19 @@ +@@ -966,20 +981,19 @@ free_tray_icon_data (TrayIconData *tray_ } static void @@ -6623,7 +6820,7 @@ e_cal_component_get_uid (tray_data->comp, &our_uid); g_return_if_fail (our_uid && *our_uid); -@@ -1020,37 +1034,33 @@ +@@ -997,37 +1011,33 @@ on_dialog_objs_removed_async (EThread *e tray_data = NULL; } } @@ -6673,7 +6870,7 @@ GList *list = tray_icons_list; d(printf("%s:%d (tray_list_remove_cqa_async) - Removing CQA %p from tray list\n",__FILE__, __LINE__, cqa)); -@@ -1089,28 +1099,25 @@ +@@ -1066,28 +1076,25 @@ tray_list_remove_cqa_async(EThread *e, A gtk_tree_selection_select_iter (sel, &iter); } } @@ -6711,7 +6908,7 @@ { GList *list = tray_icons_list; -@@ -1140,55 +1147,50 @@ +@@ -1117,55 +1124,50 @@ tray_list_remove_async(EThread *e, Alarm } else list = list->next; } @@ -6785,7 +6982,7 @@ } static void -@@ -1412,29 +1414,24 @@ +@@ -1372,29 +1374,24 @@ tray_icon_blink_cb (gpointer data) /* Add a new data to tray list */ static void @@ -6826,7 +7023,7 @@ } /* Performs notification of a display alarm */ -@@ -1862,21 +1859,13 @@ +@@ -1791,21 +1788,13 @@ check_midnight_refresh (gpointer user_da new_midnight = time_day_end_with_zone (time (NULL), zone); if (new_midnight > midnight) { @@ -6853,7 +7050,7 @@ } return TRUE; -@@ -2007,14 +1996,15 @@ +@@ -1936,14 +1925,15 @@ hash_ids (gpointer a) } struct _alarm_client_msg { @@ -6872,7 +7069,7 @@ g_return_if_fail (alarm_queue_inited); g_return_if_fail (client != NULL); -@@ -2045,6 +2035,8 @@ +@@ -1974,6 +1964,8 @@ static void alarm_queue_add_async (EThre G_CALLBACK (cal_opened_cb), ca); } @@ -6881,7 +7078,7 @@ } /** -@@ -2064,20 +2056,13 @@ +@@ -1993,20 +1985,13 @@ static void alarm_queue_add_async (EThre void alarm_queue_add_client (ECal *client) { @@ -6907,7 +7104,7 @@ } /* Removes a component an its alarms */ -@@ -2129,11 +2114,10 @@ +@@ -2058,11 +2043,10 @@ remove_client_alarms (ClientAlarms *ca) * Removes a calendar client from the alarm queueing system. **/ static void @@ -6921,7 +7118,7 @@ g_return_if_fail (alarm_queue_inited); g_return_if_fail (client != NULL); -@@ -2170,24 +2154,20 @@ +@@ -2099,24 +2083,20 @@ alarm_queue_remove_async (EThread *e, Al g_free (ca); g_hash_table_remove (client_alarms_hash, client); diff --git a/evolution-2.9.1-kill-ememory.patch b/evolution-2.9.1-kill-ememory.patch index d873dba..753fe08 100644 --- a/evolution-2.9.1-kill-ememory.patch +++ b/evolution-2.9.1-kill-ememory.patch @@ -56,7 +56,7 @@ - const unsigned char *subject; - - subject = (const unsigned char *) string; -- while (!g_ascii_strncasecmp (subject, "Re:", 3)) { +- while (!g_ascii_strncasecmp ((char *)subject, "Re:", 3)) { - subject += 3; - - /* jump over any spaces */ diff --git a/evolution.spec b/evolution.spec index 71efb8c..01393f1 100644 --- a/evolution.spec +++ b/evolution.spec @@ -44,8 +44,8 @@ ### Abstract ### Name: evolution -Version: 2.11.2 -Release: 2%{?dist} +Version: 2.11.3 +Release: 1%{?dist} License: GPL Group: Applications/Productivity Summary: GNOME's next-generation groupware suite @@ -95,9 +95,6 @@ Patch20: evolution-2.7.3-replicated-cjk-input.patch # RH bug #178295 / GNOME bug #348638 Patch21: evolution-2.7.4-deleting-preedit-buffer.patch -# RH bug #202289 -Patch22: evolution-2.7.92-fix-prgname.patch - # RH bug #161885 / GNOME bug #309166 Patch23: evolution-2.8.0-indic-cursor-movement.patch @@ -134,14 +131,8 @@ Patch33: evolution-2.10.0-e-passwords.patch # GNOME bug #417999 Patch34: evolution-2.10.0-e-source-combo-box.patch -# RH bug #235878 / GNOME bug #386503 -Patch35: evolution-2.10.1-fix-help.patch - -# RH bug #238155 / GNOME bug #427232 -Patch36: evolution-2.10.1-check-uri-before-strcmp.patch - -# RH bug #240147 / GNOME bug #335241 -Patch37: evolution-2.10.1-send-recv-dialog.patch +# Upstream really needs to use -Werror-implicit-function-declaration. +Patch35: evolution-2.11.3-implicit-function-declaration.patch ## Dependencies ### @@ -270,7 +261,6 @@ Development files needed for building things which link against evolution. %patch19 -p1 -b .candidate-window-position-calendar %patch20 -p1 -b .replicated-cjk-input %patch21 -p1 -b .deleting-preedit-buffer -%patch22 -p1 -b .fix-prgname %patch23 -p1 -b .indic-cursor-movement %patch24 -p1 -b .fix-indic-printing %patch25 -p1 -b .kill-ethread @@ -283,9 +273,7 @@ Development files needed for building things which link against evolution. %patch32 -p1 -b .view-message-source %patch33 -p1 -b .e-passwords %patch34 -p1 -b .e-source-combo-box -%patch35 -p1 -b .fix-help -%patch36 -p1 -b .check-uri-before-strcmp -%patch37 -p1 -b .send-recv-dialog +%patch35 -p1 -b .implicit-function-declaration mkdir -p krb5-fakeprefix/include mkdir -p krb5-fakeprefix/lib @@ -428,9 +416,6 @@ rm -f $RPM_BUILD_ROOT/%{_datadir}/applications/evolution.desktop rm -f $RPM_BUILD_ROOT%{_datadir}/mime-info/evolution.keys rm -f $RPM_BUILD_ROOT%{_datadir}/mime-info/evolution.mime -# evolution link -ln -sf ./evolution-%{evo_major} $RPM_BUILD_ROOT/%{_bindir}/evolution - for serverfile in $RPM_BUILD_ROOT%{_libdir}/bonobo/servers/*.server; do sed -i -e 's|location *= *"/usr/lib\(64\)*/|location="/usr/$LIB/|' $serverfile done @@ -442,12 +427,13 @@ scrollkeeper-update -q touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` -gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/apps-evolution-mail-prompts-checkdefault-%{evo_major}.schemas > /dev/null -gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/apps_evolution_addressbook-%{evo_major}.schemas > /dev/null -gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/apps_evolution_calendar-%{evo_major}.schemas > /dev/null -gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/apps_evolution_shell-%{evo_major}.schemas > /dev/null -gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/bogo-junk-plugin-%{evo_major}.schemas > /dev/null -gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/evolution-mail-%{evo_major}.schemas > /dev/null +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/apps-evolution-mail-notification.schemas > /dev/null +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/apps-evolution-mail-prompts-checkdefault.schemas > /dev/null +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/apps_evolution_addressbook.schemas > /dev/null +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/apps_evolution_calendar.schemas > /dev/null +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/apps_evolution_shell.schemas > /dev/null +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/bogo-junk-plugin.schemas > /dev/null +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/evolution-mail.schemas > /dev/null %postun /sbin/ldconfig @@ -463,15 +449,15 @@ rm -rf $RPM_BUILD_ROOT %doc AUTHORS COPYING ChangeLog NEWS README # GConf schemas: -%{_sysconfdir}/gconf/schemas/apps-evolution-mail-prompts-checkdefault-%{evo_major}.schemas -%{_sysconfdir}/gconf/schemas/apps_evolution_addressbook-%{evo_major}.schemas -%{_sysconfdir}/gconf/schemas/apps_evolution_calendar-%{evo_major}.schemas -%{_sysconfdir}/gconf/schemas/apps_evolution_shell-%{evo_major}.schemas -%{_sysconfdir}/gconf/schemas/bogo-junk-plugin-%{evo_major}.schemas -%{_sysconfdir}/gconf/schemas/evolution-mail-%{evo_major}.schemas +%{_sysconfdir}/gconf/schemas/apps-evolution-mail-notification.schemas +%{_sysconfdir}/gconf/schemas/apps-evolution-mail-prompts-checkdefault.schemas +%{_sysconfdir}/gconf/schemas/apps_evolution_addressbook.schemas +%{_sysconfdir}/gconf/schemas/apps_evolution_calendar.schemas +%{_sysconfdir}/gconf/schemas/apps_evolution_shell.schemas +%{_sysconfdir}/gconf/schemas/bogo-junk-plugin.schemas +%{_sysconfdir}/gconf/schemas/evolution-mail.schemas -# The main executable and a symlink: -%{_bindir}/evolution-%{evo_major} +# The main executable %{_bindir}/evolution # Desktop files: @@ -506,11 +492,11 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/evolution/%{evo_major} # Bonobo components: -%{_libdir}/bonobo/servers/GNOME_Evolution_Addressbook_%{evo_major}.server -%{_libdir}/bonobo/servers/GNOME_Evolution_Calendar_%{evo_major}.server -%{_libdir}/bonobo/servers/GNOME_Evolution_Calendar_AlarmNotify_%{evo_major}.server -%{_libdir}/bonobo/servers/GNOME_Evolution_Mail_%{evo_major}.server -%{_libdir}/bonobo/servers/GNOME_Evolution_Shell_%{evo_major}.server +%{_libdir}/bonobo/servers/GNOME_Evolution_Addressbook.server +%{_libdir}/bonobo/servers/GNOME_Evolution_Calendar.server +%{_libdir}/bonobo/servers/GNOME_Evolution_Calendar_AlarmNotify.server +%{_libdir}/bonobo/servers/GNOME_Evolution_Mail.server +%{_libdir}/bonobo/servers/GNOME_Evolution_Shell.server %dir %{_libdir}/evolution %dir %{_libdir}/evolution/%{evo_major} %dir %{_libdir}/evolution/%{evo_major}/components @@ -556,16 +542,16 @@ rm -rf $RPM_BUILD_ROOT %dir %{_libdir}/evolution/%{evo_major}/conduits %{_libdir}/evolution/%{evo_major}/conduits/libeaddress_conduit.so -%{_libdir}/gnome-pilot/conduits/e-address-%{evo_major}.conduit +%{_libdir}/gnome-pilot/conduits/e-address.conduit %{_libdir}/evolution/%{evo_major}/conduits/libecalendar_conduit.so -%{_libdir}/gnome-pilot/conduits/e-calendar-%{evo_major}.conduit +%{_libdir}/gnome-pilot/conduits/e-calendar.conduit %{_libdir}/evolution/%{evo_major}/conduits/libememo_conduit.so -%{_libdir}/gnome-pilot/conduits/e-memo-%{evo_major}.conduit +%{_libdir}/gnome-pilot/conduits/e-memo.conduit %{_libdir}/evolution/%{evo_major}/conduits/libetodo_conduit.so -%{_libdir}/gnome-pilot/conduits/e-todo-%{evo_major}.conduit +%{_libdir}/gnome-pilot/conduits/e-todo.conduit %endif # The plugin directory: @@ -695,8 +681,8 @@ rm -rf $RPM_BUILD_ROOT %files devel %defattr(-, root, root) %{_includedir}/evolution-%{evo_major} -%{_libdir}/pkgconfig/evolution-plugin-%{evo_major}.pc -%{_libdir}/pkgconfig/evolution-shell-%{evo_major}.pc +%{_libdir}/pkgconfig/evolution-plugin.pc +%{_libdir}/pkgconfig/evolution-shell.pc %{_libdir}/evolution/%{evo_major}/libeabutil.so %{_libdir}/evolution/%{evo_major}/libeconduit.so %{_libdir}/evolution/%{evo_major}/libecontacteditor.so @@ -721,6 +707,14 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/evolution/%{evo_major}/libmenus.so %changelog +* Mon Jun 04 2007 Matthew Barnes - 2.11.3-1.fc8 +- Update to 2.11.3 +- Evolution no longer has versioned file names. +- Remove patch for RH bug #202289 (fixed upstream). +- Remove patch for RH bug #235878 (fixed upstream). +- Remove patch for RH bug #238155 (fixed upstream). +- Remove patch for RH bug #240147 (fixed upstream). + * Thu May 31 2007 Matthew Barnes - 2.11.2-2.fc8 - Evolution no longer requires libgnomeprint[ui]. diff --git a/sources b/sources index f210fd0..5e28d1d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7f684d90627bacd6e4a7997592112484 evolution-2.11.2.tar.bz2 +4aa1a1a4b4cf51d64eb259ae3769c8d0 evolution-2.11.3.tar.bz2