Mercurial > pidgin
changeset 31303:e81c1e7ed278
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 <rekkanoryo@rekkanoryo.org>
author | davidben@mit.edu |
---|---|
date | Sun, 06 Mar 2011 03:10:40 +0000 |
parents | d1012a6b9f4a |
children | 814ddf7d1071 |
files | configure.ac pidgin/Makefile.am pidgin/gtkdialogs.c pidgin/gtkmain.c |
diffstat | 4 files changed, 5 insertions(+), 82 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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
--- 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, " <b>Perl:</b> Disabled<br/>"); -#ifndef _WIN32 -#ifdef HAVE_STARTUP_NOTIFICATION - g_string_append(str, " <b>Startup Notification:</b> Enabled<br/>"); -#else - g_string_append(str, " <b>Startup Notification:</b> Disabled<br/>"); -#endif -#endif - if (purple_plugins_find_with_id("core-tcl") != NULL) { g_string_append(str, " <b>Tcl:</b> Enabled<br/>"); #ifdef HAVE_TK
--- 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 <getopt.h> -#ifdef HAVE_STARTUP_NOTIFICATION -# define SN_API_NOT_YET_FROZEN -# include <libsn/sn-launchee.h> -# include <gdk/gdkx.h> -#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();