Mercurial > pidgin
diff pidgin/gtkmain.c @ 22729:4c731c4dcc0b
Pop up the buddylist of the running instance instead of exiting quietly
when started a second time. References #3417.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Fri, 25 Apr 2008 16:23:35 +0000 |
parents | 487105d73907 |
children | ac66a8c73845 |
line wrap: on
line diff
--- a/pidgin/gtkmain.c Fri Apr 25 05:53:48 2008 +0000 +++ b/pidgin/gtkmain.c Fri Apr 25 16:23:35 2008 +0000 @@ -27,6 +27,7 @@ #include "account.h" #include "conversation.h" #include "core.h" +#include "dbus-server.h" #include "debug.h" #include "eventloop.h" #include "ft.h" @@ -783,6 +784,15 @@ } if (opt_si && !purple_core_ensure_single_instance()) { +#ifdef HAVE_DBUS + DBusConnection *conn = purple_dbus_get_connection(); + DBusMessage *message = dbus_message_new_method_call(DBUS_SERVICE_PURPLE, DBUS_PATH_PURPLE, + DBUS_INTERFACE_PURPLE, "PurpleBlistSetVisible"); + gboolean tr = TRUE; + dbus_message_append_args(message, DBUS_TYPE_UINT32, &tr, DBUS_TYPE_INVALID); + dbus_connection_send_with_reply_and_block(conn, message, -1, NULL); + dbus_message_unref(message); +#endif purple_debug_info("main", "exiting because another libpurple client is already running\n"); purple_core_quit(); #ifdef HAVE_SIGNAL_H