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,