From 40f0b1c7106cc1fed13f14e80f083ecd69c416f5 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 1 May 2011 22:33:26 +0000 Subject: Sun May 1 22:33:26 UTC 2011 --- .../mail-notification-5.4-evolution.patch | 244 +++++++++++++++++++++ 1 file changed, 244 insertions(+) create mode 100644 extra/mail-notification/mail-notification-5.4-evolution.patch (limited to 'extra/mail-notification/mail-notification-5.4-evolution.patch') diff --git a/extra/mail-notification/mail-notification-5.4-evolution.patch b/extra/mail-notification/mail-notification-5.4-evolution.patch new file mode 100644 index 000000000..87514c22d --- /dev/null +++ b/extra/mail-notification/mail-notification-5.4-evolution.patch @@ -0,0 +1,244 @@ +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-10-12 16:50:15.000000000 +0400 +@@ -25,7 +25,10 @@ + #line 24 "src/mn-evolution-folder-tree-server.gob" + + #include ++#include ++#if !EDS_CHECK_VERSION(2,29,0) + #include ++#endif + #include + #include "mn-evolution-plugin.h" + #include "mn-evolution.h" +@@ -441,10 +444,17 @@ + { + #line 61 "src/mn-evolution-folder-tree-server.gob" + ++#if EDS_CHECK_VERSION(2,91,0) ++ selfp->session = e_mail_session_new(); ++ selfp->tree = em_folder_tree_new(selfp->session); ++#elif 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); + gtk_container_add(GTK_CONTAINER(selfp->plug), selfp->tree); +@@ -469,6 +479,10 @@ + { + #line 80 "src/mn-evolution-folder-tree-server.gob" + ++#if EDS_CHECK_VERSION(2,91,0) ++ g_object_unref(selfp->session); ++ selfp->session = NULL; ++#endif + g_signal_handlers_disconnect_by_func(selfp->plug, self_plug_destroy_h, self); + }} + #line 475 "mn-evolution-folder-tree-server.c" +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-10-12 16:50:40.000000000 +0400 +@@ -27,12 +27,22 @@ + #include + #include + #include ++#include + #include ++#if EDS_CHECK_VERSION(2,29,0) ++#include ++#include ++#else + #include + #include + #include ++#endif + #include ++#if EDS_CHECK_VERSION(2,91,0) ++#include ++#else + #include ++#endif + #include + #include "mn-evolution.h" + #include "mn-evolution-folder-tree-server.h" +@@ -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 +@@ -469,7 +492,11 @@ + + if (! folder) + { +- folder = mail_tool_uri_to_folder(uri, 0, NULL); ++ folder = mail_tool_uri_to_folder(uri, 0, ++#if EDS_CHECK_VERSION(2,91,0) ++ NULL, ++#endif ++ NULL); + if (folder) + self_cache_folder(uri, folder); + else +@@ -595,14 +622,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 +674,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 +713,19 @@ + folder = self_lookup_folder(folder_uri, err); + if (folder) + { ++#if EDS_CHECK_VERSION(2,29,0) ++ EShell *shell; ++ EShellBackend *shell_backend; ++ GtkWidget *browser; ++ ++ shell = e_shell_get_default (); ++ shell_backend = e_shell_get_backend_by_name (shell, "mail"); ++ ++ browser = e_mail_browser_new (shell_backend); ++ e_mail_reader_set_folder (E_MAIL_READER (browser), folder, folder_uri); ++ e_mail_reader_set_message (E_MAIL_READER (browser), message_uid); ++ gtk_widget_show (browser); ++#else + GtkWidget *browser; + + /* modelled after Evolution's handleuri_got_folder() */ +@@ -683,8 +736,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 + } + + GDK_THREADS_LEAVE(); +@@ -721,7 +779,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-10-12 16:50:15.000000000 +0400 +@@ -204,7 +204,7 @@ + } + + int +-e_plugin_lib_enable (EPluginLib *ep, int enable) ++e_plugin_lib_enable (EPlugin *ep, int enable) + { + static gboolean enabled = FALSE; + GError *err = NULL; +--- mail-notification-5.4/build/src/mn-evolution-folder-tree-server-private.h.orig 2010-11-13 13:55:01.571934066 +0100 ++++ mail-notification-5.4/build/src/mn-evolution-folder-tree-server-private.h 2010-11-13 13:56:07.019487418 +0100 +@@ -4,6 +4,10 @@ + #define __MN_EVOLUTION_FOLDER_TREE_SERVER_PRIVATE_H__ + + #include "mn-evolution-folder-tree-server.h" ++#include ++#if EDS_CHECK_VERSION(2,91,0) ++#include ++#endif + + #ifdef __cplusplus + extern "C" { +@@ -23,6 +23,9 @@ + #line 41 "src/mn-evolution-folder-tree-server.gob" + GtkWidget * tree; + #line 26 "mn-evolution-folder-tree-server-private.h" ++#if EDS_CHECK_VERSION(2,91,0) ++ EMailSession * session; ++#endif + }; + + #ifdef __cplusplus -- cgit v1.2.3-54-g00ecf