From 706a2dd299f22f4b741255f8bbadfb74733f7e7e Mon Sep 17 00:00:00 2001 From: buc Date: Sep 17 2010 13:56:42 +0000 Subject: add support for evolution 2.31+ --- diff --git a/mail-notification-5.4-evolution.patch b/mail-notification-5.4-evolution.patch index 073818a..2900186 100644 --- a/mail-notification-5.4-evolution.patch +++ b/mail-notification-5.4-evolution.patch @@ -1,29 +1,9 @@ ---- build/src/mn-evolution-server.c.orig 2008-09-30 15:30:07.756216978 +0200 -+++ build/src/mn-evolution-server.c 2008-09-30 15:30:49.950220711 +0200 -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -595,7 +596,12 @@ - - for (i = 0; i < summary->len; i++) - { -+#if EDS_CHECK_VERSION(2,23,5) -+ char *uid = summary->pdata[i]; -+ CamelMessageInfo *info = camel_folder_get_message_info(folder, uid); -+#else - CamelMessageInfo *info = summary->pdata[i]; -+#endif +diff -Nrbu mail-notification-5.4/build/src/mn-evolution-folder-tree-server.c mail-notification-5.4-OK/build/src/mn-evolution-folder-tree-server.c +--- mail-notification-5.4/build/src/mn-evolution-folder-tree-server.c 2008-05-22 19:47:48.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-evolution-folder-tree-server.c 2010-09-17 17:45:05.000000000 +0400 +@@ -25,7 +25,10 @@ + #line 24 "src/mn-evolution-folder-tree-server.gob" - if ((camel_message_info_flags(info) & CAMEL_MESSAGE_SEEN) == 0) - g_ptr_array_add(*ret, self_camel_message_info_to_dbus_struct(info)); ---- build/src/mn-evolution-folder-tree-server.c.evolution 2010-02-01 10:00:12.128683776 -0500 -+++ build/src/mn-evolution-folder-tree-server.c 2010-02-01 10:02:32.809697243 -0500 -@@ -26,5 +26,8 @@ #include +#include +#if !EDS_CHECK_VERSION(2,29,0) @@ -32,23 +12,29 @@ #include #include "mn-evolution-plugin.h" #include "mn-evolution.h" -@@ -396,7 +399,11 @@ mn_evolution_folder_tree_server_construc +@@ -441,10 +444,14 @@ + { + #line 61 "src/mn-evolution-folder-tree-server.gob" +#if EDS_CHECK_VERSION(2,29,0) + selfp->tree = em_folder_tree_new(); +#else EMFolderTreeModel *model; - + model = mail_component_peek_tree_model(mail_component_peek()); selfp->tree = em_folder_tree_new_with_model(model); +#endif selfp->plug = gtk_plug_new((GdkNativeWindow) selfp->id); ---- build/src/mn-evolution-server.c.evolution 2010-02-01 10:06:36.484698060 -0500 -+++ build/src/mn-evolution-server.c 2010-02-01 10:09:01.946682081 -0500 -@@ -28,9 +28,14 @@ + gtk_container_add(GTK_CONTAINER(selfp->plug), selfp->tree); +diff -Nrbu mail-notification-5.4/build/src/mn-evolution-server.c mail-notification-5.4-OK/build/src/mn-evolution-server.c +--- mail-notification-5.4/build/src/mn-evolution-server.c 2008-05-22 19:47:48.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-evolution-server.c 2010-09-17 17:45:32.000000000 +0400 +@@ -27,10 +27,16 @@ + #include + #include #include - #include ++#include #include +#if EDS_CHECK_VERSION(2,29,0) +#include @@ -61,7 +47,88 @@ #include #include #include -@@ -568,6 +573,19 @@ mn_evolution_server_open_message (MNEvol +@@ -391,10 +397,18 @@ + info = g_new0(FolderInfo, 1); + info->uri = g_strdup(uri); + info->folder = folder; ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_ref(folder); ++#else + camel_object_ref(folder); ++#endif + + /* uncache the folder when it is deleted */ ++#if EDS_CHECK_VERSION(2,31,0) ++ g_signal_connect(folder, "deleted", G_CALLBACK(self_folder_deleted_cb), info); ++#else + camel_object_hook_event(folder, "deleted", self_folder_deleted_cb, info); ++#endif + + g_hash_table_replace(folders, info->uri, info); + }} +@@ -413,8 +427,13 @@ + { + #line 105 "src/mn-evolution-server.gob" + ++#if EDS_CHECK_VERSION(2,31,0) ++ g_signal_handlers_disconnect_by_func(info->folder, self_folder_deleted_cb, info); ++ g_object_unref(info->folder); ++#else + camel_object_unhook_event(info->folder, "deleted", self_folder_deleted_cb, info); + camel_object_unref(info->folder); ++#endif + g_free(info->uri); + g_free(info); + }} +@@ -461,7 +480,11 @@ + if (info) + { + folder = info->folder; ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_ref(folder); ++#else + camel_object_ref(folder); ++#endif + } + } + else +@@ -595,14 +618,23 @@ + + for (i = 0; i < summary->len; i++) + { ++#if EDS_CHECK_VERSION(2,23,5) ++ char *uid = summary->pdata[i]; ++ CamelMessageInfo *info = camel_folder_get_message_info(folder, uid); ++#else + CamelMessageInfo *info = summary->pdata[i]; ++#endif + + if ((camel_message_info_flags(info) & CAMEL_MESSAGE_SEEN) == 0) + g_ptr_array_add(*ret, self_camel_message_info_to_dbus_struct(info)); + } + + camel_folder_free_summary(folder, summary); ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_unref(folder); ++#else + camel_object_unref(folder); ++#endif + } + + GDK_THREADS_LEAVE(); +@@ -638,7 +670,11 @@ + if (folder) + { + *ret = g_strdup(camel_folder_get_name(folder)); ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_unref(folder); ++#else + camel_object_unref(folder); ++#endif + } + + GDK_THREADS_LEAVE(); +@@ -673,6 +709,19 @@ folder = self_lookup_folder(folder_uri, err); if (folder) { @@ -81,17 +148,36 @@ GtkWidget *browser; /* modelled after Evolution's handleuri_got_folder() */ -@@ -578,6 +596,7 @@ mn_evolution_server_open_message (MNEvol +@@ -683,8 +732,13 @@ em_folder_view_set_folder((EMFolderView *) browser, folder, folder_uri); em_folder_view_set_message((EMFolderView *) browser, message_uid, FALSE); gtk_widget_show(((EMMessageBrowser *) browser)->window); +#endif ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_unref(folder); ++#else camel_object_unref(folder); ++#endif } ---- src/mn-evolution-plugin.c.evolution 2008-05-22 11:45:35.000000000 -0400 -+++ src/mn-evolution-plugin.c 2010-02-01 11:52:06.141664757 -0500 -@@ -204,7 +204,7 @@ connect_to_session_bus (void) + + GDK_THREADS_LEAVE(); +@@ -721,7 +775,11 @@ + if (folder) + { + status = camel_folder_set_message_flags(folder, message_uid, flags, flags); ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_unref(folder); ++#else + camel_object_unref(folder); ++#endif + + if (! status) + g_set_error(err, +diff -Nrbu mail-notification-5.4/src/mn-evolution-plugin.c mail-notification-5.4-OK/src/mn-evolution-plugin.c +--- mail-notification-5.4/src/mn-evolution-plugin.c 2008-05-22 19:45:35.000000000 +0400 ++++ mail-notification-5.4-OK/src/mn-evolution-plugin.c 2010-09-17 17:45:05.000000000 +0400 +@@ -204,7 +204,7 @@ } int diff --git a/mail-notification.spec b/mail-notification.spec index 9f8ffeb..fb764ee 100644 --- a/mail-notification.spec +++ b/mail-notification.spec @@ -1,6 +1,6 @@ Name: mail-notification Version: 5.4 -Release: 23%{?dist} +Release: 24%{?dist} Summary: Status icon that informs you if you have new mail Group: Applications/Internet @@ -60,7 +60,7 @@ Evolution support for Mail Notification. %prep %setup -q -%patch0 -p0 -b .evolution +%patch0 -p1 -b .evolution %patch1 -p1 -b .gmime %patch2 -p1 -b .sasl_encode64 %patch3 -p1 -b .gtkhtml @@ -192,6 +192,11 @@ export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` %changelog +* Fri Sep 17 2010 Dmitry Butskoy - 5.4-24 +- add support for evolution 2.31+ + (#633507, by Erik van Pienbroek ) + Combined with common evolution patch + * Thu Sep 9 2010 Dmitry Butskoy - 5.4-23 - rebuild with new evolution-data-server