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,

Reply via email to