diff pidgin/gtkmain.c @ 23126:2f4b10ee752b

propagate from branch 'im.pidgin.pidgin' (head caaa65e1c157e6cb43219237f88a4ad298f3bbf5) to branch 'im.pidgin.pidgin.custom_smiley' (head 762e0e84f778841d4021f4d8ea5c39bff5e173b2)
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Mon, 28 Apr 2008 00:01:07 +0000
parents b30f54a72031 de58bebea31a
children 849c3d109a38
line wrap: on
line diff
--- a/pidgin/gtkmain.c	Mon Mar 31 21:23:57 2008 +0000
+++ b/pidgin/gtkmain.c	Mon Apr 28 00:01:07 2008 +0000
@@ -27,6 +27,7 @@
 #include "account.h"
 #include "conversation.h"
 #include "core.h"
+#include "dbus-maybe.h"
 #include "debug.h"
 #include "eventloop.h"
 #include "ft.h"
@@ -300,7 +301,7 @@
 	purple_sound_set_ui_ops(pidgin_sound_get_ui_ops());
 	purple_connections_set_ui_ops(pidgin_connections_get_ui_ops());
 	purple_whiteboard_set_ui_ops(pidgin_whiteboard_get_ui_ops());
-#ifdef USE_SCREENSAVER
+#if defined(USE_SCREENSAVER) || defined(HAVE_IOKIT)
 	purple_idle_set_ui_ops(pidgin_idle_get_ui_ops());
 #endif
 
@@ -786,6 +787,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