From baa156f189bd72dde0b56b39e2e18b37145f59ab Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 12 Jan 2011 01:44:08 +0000 Subject: [PATCH] okay, so to check for udisks I've done the following: 1) set a signal handler to watch for udisks starting 2) check for udisks already running 3) send dbus method call to udisks regardless of run state 4) free error which is 100% guaranteed to occur 5) either pick up udisks from signal handler or from random dbus call 6) finally start efm 7) drink heavily. SVN revision: 56055 --- src/bin/e_fm/e_fm_main_udisks.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/e_fm/e_fm_main_udisks.c b/src/bin/e_fm/e_fm_main_udisks.c index f41f08948..d15b1aba4 100644 --- a/src/bin/e_fm/e_fm_main_udisks.c +++ b/src/bin/e_fm/e_fm_main_udisks.c @@ -936,8 +936,9 @@ _e_fm_main_udisks_init(void) E_DBUS_FDO_INTERFACE, "NameOwnerChanged", _e_fm_main_udisks_poll, NULL); - msg = dbus_message_new_method_call(E_UDISKS_BUS, E_UDISKS_PATH, E_UDISKS_BUS, NULL); - e_dbus_method_call_send(_e_fm_main_udisks_conn, msg, NULL, (E_DBus_Callback_Func)_e_fm_main_udisks_test, NULL, -1, NULL); + e_dbus_get_name_owner(_e_fm_main_udisks_conn, E_UDISKS_BUS, _e_fm_main_udisks_test, NULL); /* test for already running udisks */ + msg = dbus_message_new_method_call(E_UDISKS_BUS, E_UDISKS_PATH, E_UDISKS_BUS, "suuuuuup"); + e_dbus_method_call_send(_e_fm_main_udisks_conn, msg, NULL, (E_DBus_Callback_Func)_e_fm_main_udisks_test, NULL, -1, NULL); /* test for not running udisks */ dbus_message_unref(msg); }