diff -up xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotify07 xchat-2.8.8/src/fe-gtk/plugin-tray.c
--- xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotify07	2010-11-15 17:32:15.708325783 -0500
+++ xchat-2.8.8/src/fe-gtk/plugin-tray.c	2010-11-15 18:05:17.322141789 -0500
@@ -125,8 +125,9 @@ static void *nn_mod = NULL;
 /* prototypes */
 static gboolean (*nn_init) (char *);
 static void (*nn_uninit) (void);
-static void *(*nn_new_with_status_icon) (const gchar *summary, const gchar *message, const gchar *icon, GtkStatusIcon *status_icon);
-static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, GtkWidget *attach);
+/* recent versions of libnotify don't take the fourth GtkWidget argument, but passing an
+ * extra NULL argument will be fine */
+static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, gpointer dummy);
 static gboolean (*nn_show) (void *noti, GError **error);
 static void (*nn_set_timeout) (void *noti, gint timeout);
 
@@ -160,8 +161,6 @@ libnotify_notify_new (const char *title,
 			goto bad;
 		if (!g_module_symbol (nn_mod, "notify_uninit", (gpointer)&nn_uninit))
 			goto bad;
-		if (!g_module_symbol (nn_mod, "notify_notification_new_with_status_icon", (gpointer)&nn_new_with_status_icon))
-			goto bad;
 		if (!g_module_symbol (nn_mod, "notify_notification_new", (gpointer)&nn_new))
 			goto bad;
 		if (!g_module_symbol (nn_mod, "notify_notification_show", (gpointer)&nn_show))