diff --git a/ChangeLog b/ChangeLog index 75f093d660eb1b31cea8309f0b0aa515e157dd32..e38a2458818dc620e1b2385771118a33d1a992bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-07-30: Ali aliov@xfce.org + * Fix a typo that prevents from getting the correct + critical configuration. + * Emit a warning and exit normally if failed to register + DBus names instead of exiting abnormally so the session + will try to restart us. + 2009-07-27: Ali aliov@xfce.org * src/xfpm-battery.c don't notify when starting up. * src/xfpm-engine.c fix a typo output message. diff --git a/NEWS b/NEWS index b1c124ab45f76554c04cb97b215887d9477ed2f5..18771f9314c91a58f7ce3ccdab94af1b91676dd4 100644 --- a/NEWS +++ b/NEWS @@ -2,3 +2,4 @@ Current ======= - Make it possible to compile without network manager support. - Add never show icon to the system tray configuration (bug #5613). +- Fix a typo that prevents from getting the correct critical configuration (bug #5619). diff --git a/src/xfpm-manager.c b/src/xfpm-manager.c index 70323d6203aeb827d497335cf2e59db7ef5fabce..5c65221bdaca7ffc8005437c6533fa7cb885c4e3 100644 --- a/src/xfpm-manager.c +++ b/src/xfpm-manager.c @@ -181,20 +181,21 @@ xfpm_manager_quit (XfpmManager *manager) return TRUE; } -static void +static gboolean xfpm_manager_reserve_names (XfpmManager *manager) { - if ( !xfpm_dbus_register_name (dbus_g_connection_get_connection(manager->priv->session_bus), - "org.xfce.PowerManager") ) - { - g_error ("Unable to reserve bus name: Xfce Power Manager\n"); - } - - if (!xfpm_dbus_register_name (dbus_g_connection_get_connection(manager->priv->session_bus), + if ( !xfpm_dbus_register_name (dbus_g_connection_get_connection (manager->priv->session_bus), + "org.xfce.PowerManager") || + !xfpm_dbus_register_name (dbus_g_connection_get_connection (manager->priv->session_bus), "org.freedesktop.PowerManagement") ) { - g_error ("Unable to reserve bus name: PowerManagement\n"); + g_warning ("Unable to reserve bus name: Maybe any already running instance?\n"); + xfpm_session_quit (manager->priv->session); + g_object_unref (G_OBJECT (manager)); + gtk_main_quit (); + return FALSE; } + return TRUE; } XfpmManager * @@ -215,8 +216,9 @@ void xfpm_manager_start (XfpmManager *manager) { gboolean hal_running; - xfpm_manager_reserve_names (manager); - + if ( !xfpm_manager_reserve_names (manager) ) + goto out; + dbus_g_error_domain_register (XFPM_ERROR, NULL, XFPM_TYPE_ERROR); diff --git a/src/xfpm-supply.c b/src/xfpm-supply.c index 4d03acc91c7c0739193bb440cf446680bfaf6fc5..d33a0df0c074346d46a450913297f57bfc8eb649 100644 --- a/src/xfpm-supply.c +++ b/src/xfpm-supply.c @@ -392,7 +392,7 @@ xfpm_supply_handle_primary_critical (XfpmSupply *supply, XfpmBattery *battery) { XfpmShutdownRequest critical_action; - g_object_get (G_OBJECT (supply), + g_object_get (G_OBJECT (supply->priv->conf), CRITICAL_BATT_ACTION_CFG, &critical_action, NULL);