this should activate udisks if it wasn't previously running

SVN revision: 56054
This commit is contained in:
Mike Blumenkrantz 2011-01-11 23:38:42 +00:00
parent 1e829ad070
commit e232eefc31
1 changed files with 13 additions and 8 deletions

View File

@ -140,11 +140,7 @@ _e_fm_main_udisks_test(void *data __UNUSED__,
if ((error) && (dbus_error_is_set(error))) if ((error) && (dbus_error_is_set(error)))
{ {
dbus_error_free(error); dbus_error_free(error);
if (!_udisks_poll)
_udisks_poll = e_dbus_signal_handler_add(_e_fm_main_udisks_conn,
E_DBUS_FDO_BUS, E_DBUS_FDO_PATH,
E_DBUS_FDO_INTERFACE,
"NameOwnerChanged", _e_fm_main_udisks_poll, NULL);
#ifdef HAVE_EEZE_MOUNT #ifdef HAVE_EEZE_MOUNT
_e_fm_main_eeze_init(); /* check for eeze while listening for udisks */ _e_fm_main_eeze_init(); /* check for eeze while listening for udisks */
#endif #endif
@ -928,12 +924,21 @@ _e_fm_main_udisks_volume_mount(E_Volume *v)
void void
_e_fm_main_udisks_init(void) _e_fm_main_udisks_init(void)
{ {
DBusMessage *msg;
e_dbus_init(); e_dbus_init();
e_ukit_init(); e_ukit_init();
_e_fm_main_udisks_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM); _e_fm_main_udisks_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM);
/* previously, this assumed that if dbus was running, udisks was running. */ if (!_e_fm_main_udisks_conn) return;
if (_e_fm_main_udisks_conn) if (!_udisks_poll)
e_dbus_get_name_owner(_e_fm_main_udisks_conn, E_UDISKS_BUS, _e_fm_main_udisks_test, NULL); _udisks_poll = e_dbus_signal_handler_add(_e_fm_main_udisks_conn,
E_DBUS_FDO_BUS, E_DBUS_FDO_PATH,
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);
dbus_message_unref(msg);
} }
void void