Package: mail-notification-evolution Version: 5.4.dfsg.1-2.3 Severity: grave Tags: patch
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The evolution plugin fails to load: (evolution:5726): evolution-plugin-lib-WARNING **: can't load plugin '/usr/lib/evolution/2.32/plugins/liborg-jylefort-mail-notification.so': /usr/lib/evolution/2.32/plugins/liborg-jylefort-mail-notification.so: /undefined symbol: camel_object_unref (evolution:5726): evolution-plugin-lib-WARNING **: Cannot resolve symbol 'org_jylefort_mail_notification_folder_changed' in plugin '/usr/lib/evolution/2.32/plugins/liborg-jylefort-mail-notification.so' (not exported?) The attached patch fixes this. It also contains a fix for #547287 that I came up with at some point but failed to submit. :( - -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (102, 'experimental') Architecture: powerpc (ppc) Kernel: Linux 2.6.37.2+ Locale: LANG=de_CH.UTF-8, LC_CTYPE=de_CH.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages mail-notification-evolution depends on: ii libatk1.0-0 1.32.0-2 The ATK accessibility toolkit ii libc6 2.11.2-11 Embedded GNU C Library: Shared lib ii libcairo2 1.10.2-4 The Cairo 2D vector graphics libra ii libcamel1.2-19 2.32.2-2 The Evolution MIME message handlin ii libdbus-1-3 1.4.6-1 simple interprocess messaging syst ii libdbus-glib-1-2 0.88-2.1 simple interprocess messaging syst ii libedataserver1.2-14 2.32.2-2 Utility library for evolution data ii libenchant1c2a 1.6.0-1 a wrapper library for various spel ii libevolution 2.32.2-1 evolution libraries ii libfontconfig1 2.8.0-2.1 generic font configuration library ii libfreetype6 2.4.4-1 FreeType 2 font engine, shared lib ii libgconf2-4 2.32.1-2 GNOME configuration database syste ii libglib2.0-0 2.28.1-1+b1 The GLib library of C routines ii libgtk2.0-0 2.24.1-1 The GTK+ graphical user interface ii libgtkhtml-editor-3.14-0 3.32.2-1 HTML rendering/editing library - e ii libgtkhtml3.14-19 3.32.2-1 HTML rendering/editing library - r ii libnspr4-0d 4.8.7-2 NetScape Portable Runtime Library ii libnss3-1d 3.12.9-2 Network Security Service libraries ii libpango1.0-0 1.28.3-4 Layout and rendering of internatio ii libsoup2.4-1 2.30.2-1 an HTTP library implementation in ii libsqlite3-0 3.7.5-1 SQLite 3 shared library ii libunique-1.0-0 1.1.6-2 Library for writing single instanc ii libxml2 2.7.8.dfsg-2 GNOME XML library ii mail-notification 5.4.dfsg.1-2.3 mail notification in system tray mail-notification-evolution recommends no packages. mail-notification-evolution suggests no packages. - -- no debconf information -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iD8DBQFNee3NWoGvjmrbsgARAoskAJ4qTO95HBIB0KEuh6b4XnBtkVchTACghfHk hONQN2YfV4Zi0XYRCHsDnK4= =tVQv -----END PGP SIGNATURE-----
diff -up -ru mail-notification-5.4.dfsg.1/src/mn-evolution-server.gob mail-notification-5.4.dfsg.1-2.2+nmu0/src/mn-evolution-server.gob --- mail-notification-5.4.dfsg.1/src/mn-evolution-server.gob 2011-03-11 09:43:36.000000000 +0100 +++ mail-notification-5.4.dfsg.1-2.2+nmu0/src/mn-evolution-server.gob 2011-02-21 12:19:59.000000000 +0100 @@ -98,10 +98,10 @@ class MN:Evolution:Server from G:Object info = g_new0(FolderInfo, 1); info->uri = g_strdup(uri); info->folder = folder; - camel_object_ref(folder); + g_object_ref(folder); /* uncache the folder when it is deleted */ - camel_object_hook_event(folder, "deleted", self_folder_deleted_cb, info); + g_signal_connect(folder, "deleted", G_CALLBACK(self_folder_deleted_cb), info); g_hash_table_replace(folders, info->uri, info); } @@ -109,8 +109,8 @@ class MN:Evolution:Server from G:Object private void folder_info_free (FolderInfo *info (check null)) { - camel_object_unhook_event(info->folder, "deleted", self_folder_deleted_cb, info); - camel_object_unref(info->folder); + g_signal_handlers_disconnect_by_func(info->folder, self_folder_deleted_cb, info); + g_object_unref(info->folder); g_free(info->uri); g_free(info); } @@ -140,7 +140,7 @@ class MN:Evolution:Server from G:Object if (info) { folder = info->folder; - camel_object_ref(folder); + g_object_ref(folder); } } else @@ -248,12 +248,12 @@ class MN:Evolution:Server from G:Object CamelMessageInfo *info = summary->pdata[i]; #endif - if ((camel_message_info_flags(info) & CAMEL_MESSAGE_SEEN) == 0) + if ((camel_message_info_flags(info) & (CAMEL_MESSAGE_SEEN | CAMEL_MESSAGE_JUNK)) == 0) g_ptr_array_add(*ret, self_camel_message_info_to_dbus_struct(info)); } camel_folder_free_summary(folder, summary); - camel_object_unref(folder); + g_object_unref(folder); } GDK_THREADS_LEAVE(); @@ -275,7 +275,7 @@ class MN:Evolution:Server from G:Object if (folder) { *ret = g_strdup(camel_folder_get_name(folder)); - camel_object_unref(folder); + g_object_unref(folder); } GDK_THREADS_LEAVE(); @@ -321,7 +321,7 @@ class MN:Evolution:Server from G:Object gtk_widget_show(((EMMessageBrowser *) browser)->window); #endif - camel_object_unref(folder); + g_object_unref(folder); } GDK_THREADS_LEAVE(); @@ -345,7 +345,7 @@ class MN:Evolution:Server from G:Object if (folder) { status = camel_folder_set_message_flags(folder, message_uid, flags, flags); - camel_object_unref(folder); + g_object_unref(folder); if (! status) g_set_error(err,