# HG changeset patch # User davidben@mit.edu # Date 1299381040 0 # Node ID e81c1e7ed278a538604f1d9ad4d027ced3613a53 # Parent d1012a6b9f4a3485c267891c0bb7a1f34eb35159 Remove the dependency on libstartup-notification. Our use of it had some bugs and we don't need it anyway, as GTK+ has included startup notification support since their 2.2.0. Fixes #13245. committer: John Bailey diff -r d1012a6b9f4a -r e81c1e7ed278 configure.ac --- a/configure.ac Sun Mar 06 03:01:16 2011 +0000 +++ b/configure.ac Sun Mar 06 03:10:40 2011 +0000 @@ -541,27 +541,6 @@ fi dnl ####################################################################### - dnl # Check for startup notification - dnl ####################################################################### - if test "x$enable_startup_notification" = "xyes"; then - PKG_CHECK_MODULES(STARTUP_NOTIFICATION, [libstartup-notification-1.0 >= 0.5], , [ - AC_MSG_RESULT(no) - enable_startup_notification="no" - if test "x$force_deps" = "xyes" ; then - AC_MSG_ERROR([ -Startup notification development headers not found. -Use --disable-startup-notification if you do not need it. -]) - fi]) - - if test "x$enable_startup_notification" = "xyes"; then - AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, [Define if we're using libstartup-notification.]) - AC_SUBST(STARTUP_NOTIFICATION_CFLAGS) - AC_SUBST(STARTUP_NOTIFICATION_LIBS) - fi - fi - - dnl ####################################################################### dnl # Check for GtkSpell dnl ####################################################################### if test "x$enable_gtkspell" = "xyes" ; then diff -r d1012a6b9f4a -r e81c1e7ed278 pidgin/Makefile.am --- a/pidgin/Makefile.am Sun Mar 06 03:01:16 2011 +0000 +++ b/pidgin/Makefile.am Sun Mar 06 03:10:40 2011 +0000 @@ -156,7 +156,6 @@ $(SM_LIBS) \ $(INTLLIBS) \ $(GTKSPELL_LIBS) \ - $(STARTUP_NOTIFICATION_LIBS) \ $(LIBXML_LIBS) \ $(GTK_LIBS) \ $(top_builddir)/libpurple/libpurple.la @@ -180,7 +179,6 @@ $(GTK_CFLAGS) \ $(DBUS_CFLAGS) \ $(GTKSPELL_CFLAGS) \ - $(STARTUP_NOTIFICATION_CFLAGS) \ $(LIBXML_CFLAGS) \ $(INTGG_CFLAGS) endif # ENABLE_GTK diff -r d1012a6b9f4a -r e81c1e7ed278 pidgin/gtkdialogs.c --- a/pidgin/gtkdialogs.c Sun Mar 06 03:01:16 2011 +0000 +++ b/pidgin/gtkdialogs.c Sun Mar 06 03:10:40 2011 +0000 @@ -650,14 +650,6 @@ else g_string_append(str, " Perl: Disabled
"); -#ifndef _WIN32 -#ifdef HAVE_STARTUP_NOTIFICATION - g_string_append(str, " Startup Notification: Enabled
"); -#else - g_string_append(str, " Startup Notification: Disabled
"); -#endif -#endif - if (purple_plugins_find_with_id("core-tcl") != NULL) { g_string_append(str, " Tcl: Enabled
"); #ifdef HAVE_TK diff -r d1012a6b9f4a -r e81c1e7ed278 pidgin/gtkmain.c --- a/pidgin/gtkmain.c Sun Mar 06 03:01:16 2011 +0000 +++ b/pidgin/gtkmain.c Sun Mar 06 03:10:40 2011 +0000 @@ -76,18 +76,6 @@ #include -#ifdef HAVE_STARTUP_NOTIFICATION -# define SN_API_NOT_YET_FROZEN -# include -# include -#endif - - - -#ifdef HAVE_STARTUP_NOTIFICATION -static SnLauncheeContext *sn_context = NULL; -static SnDisplay *sn_display = NULL; -#endif #ifdef HAVE_SIGNAL_H @@ -472,42 +460,6 @@ g_free(text); } -#ifdef HAVE_STARTUP_NOTIFICATION -static void -sn_error_trap_push(SnDisplay *display, Display *xdisplay) -{ - gdk_error_trap_push(); -} - -static void -sn_error_trap_pop(SnDisplay *display, Display *xdisplay) -{ - gdk_error_trap_pop(); -} - -static void -startup_notification_complete(void) -{ - Display *xdisplay; - - xdisplay = GDK_DISPLAY(); - sn_display = sn_display_new(xdisplay, - sn_error_trap_push, - sn_error_trap_pop); - sn_context = - sn_launchee_context_new_from_environment(sn_display, - DefaultScreen(xdisplay)); - - if (sn_context != NULL) - { - sn_launchee_context_complete(sn_context); - sn_launchee_context_unref(sn_context); - - sn_display_unref(sn_display); - } -} -#endif /* HAVE_STARTUP_NOTIFICATION */ - /* FUCKING GET ME A TOWEL! */ #ifdef _WIN32 /* suppress gcc "no previous prototype" warning */ @@ -876,6 +828,7 @@ dbus_connection_send_with_reply_and_block(conn, message, -1, NULL); dbus_message_unref(message); #endif + gdk_notify_startup_complete(); purple_core_quit(); g_printerr(_("Exiting because another libpurple client is already running.\n")); #ifdef HAVE_SIGNAL_H @@ -967,9 +920,10 @@ g_list_free(active_accounts); } -#ifdef HAVE_STARTUP_NOTIFICATION - startup_notification_complete(); -#endif + /* GTK clears the notification for us when opening the first window, + * but we may have launched with only a status icon, so clear the it + * just in case. */ + gdk_notify_startup_complete(); #ifdef _WIN32 winpidgin_post_init();