diff --git a/ChangeLog b/ChangeLog index c93de12bfab633c1f5f37543df132d2592ab569f..9426dd13dd2d6a96cebb2d7a2e256958dd30f528 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2009-05-19 12:30 + * : Use GError in the get brightness method. + 2009-05-19 12:00 * : check brightness value and only display relevent values in the brightness popup. diff --git a/src/xfpm-brightness-hal.c b/src/xfpm-brightness-hal.c index 305d248a89557590e6f3672432824905864c16f0..cd1fb3568d64b29476642afc5b5483a53928c733 100644 --- a/src/xfpm-brightness-hal.c +++ b/src/xfpm-brightness-hal.c @@ -86,23 +86,16 @@ static guint signals [LAST_SIGNAL] = { 0 }; G_DEFINE_TYPE(XfpmBrightnessHal, xfpm_brightness_hal, G_TYPE_OBJECT) static gint -xfpm_brightness_hal_get_level (XfpmBrightnessHal *brg) +xfpm_brightness_hal_get_level (XfpmBrightnessHal *brg, GError **error) { - GError *error = NULL; gint level = 0; gboolean ret = FALSE; - ret = dbus_g_proxy_call (brg->priv->proxy, "GetBrightness", &error, + ret = dbus_g_proxy_call (brg->priv->proxy, "GetBrightness", error, G_TYPE_INVALID, G_TYPE_INT, &level, G_TYPE_INVALID); - if ( error ) - { - g_critical ("Error getting brightness level: %s\n", error->message); - g_error_free (error); - } - if (!ret) { g_warning("GetBrightness failed\n"); @@ -195,7 +188,7 @@ xfpm_brightness_hal_setup (XfpmBrightnessHal *brg) xfpm_brightness_hal_get_device (brg, udi[0]); xfpm_brightness_hal_set_proxy (brg, udi[0]); - brg->priv->hw_level = xfpm_brightness_hal_get_level (brg); + brg->priv->hw_level = xfpm_brightness_hal_get_level (brg, NULL); TRACE ("Current hw level =%d\n", brg->priv->hw_level); hal_manager_free_string_array (udi); @@ -205,6 +198,8 @@ xfpm_brightness_hal_setup (XfpmBrightnessHal *brg) static void xfpm_brightness_hal_up (XfpmBrightnessHal *brg) { + GError *error = NULL; + gboolean enable_brightness = xfpm_xfconf_get_property_bool (brg->priv->conf, ENABLE_BRIGHTNESS_CONTROL); if ( enable_brightness == FALSE || brg->priv->brightness_in_hw) @@ -217,14 +212,23 @@ xfpm_brightness_hal_up (XfpmBrightnessHal *brg) } signal: - brg->priv->hw_level = xfpm_brightness_hal_get_level (brg); - if ( G_LIKELY ( brg->priv->hw_level != 0 ) ) - g_signal_emit (G_OBJECT (brg), signals [BRIGHTNESS_UP], 0, brg->priv->hw_level); + brg->priv->hw_level = xfpm_brightness_hal_get_level (brg, &error); + + if ( error ) + { + g_warning ("Error getting brightness level: %s\n", error->message); + g_error_free (error); + return; + } + + g_signal_emit (G_OBJECT (brg), signals [BRIGHTNESS_UP], 0, brg->priv->hw_level); } static void xfpm_brightness_hal_down (XfpmBrightnessHal *brg) { + GError *error = NULL; + gboolean enable_brightness = xfpm_xfconf_get_property_bool (brg->priv->conf, ENABLE_BRIGHTNESS_CONTROL); if ( enable_brightness == FALSE || brg->priv->brightness_in_hw) @@ -237,9 +241,15 @@ xfpm_brightness_hal_down (XfpmBrightnessHal *brg) } signal: - brg->priv->hw_level = xfpm_brightness_hal_get_level (brg); - if ( G_LIKELY ( brg->priv->hw_level != 0 ) ) - g_signal_emit (G_OBJECT (brg), signals [BRIGHTNESS_DOWN], 0, brg->priv->hw_level); + brg->priv->hw_level = xfpm_brightness_hal_get_level (brg, &error); + + if ( error ) + { + g_warning ("Error getting brightness level: %s\n", error->message); + g_error_free (error); + return; + } + g_signal_emit (G_OBJECT (brg), signals [BRIGHTNESS_UP], 0, brg->priv->hw_level); } static void @@ -260,6 +270,7 @@ xfpm_brightness_hal_button_pressed_cb (XfpmButton *button, XfpmButtonKey type, X static void xfpm_brightness_hal_reset_cb (XfpmIdle *idle, XfpmBrightnessHal *brg) { + GError *error = NULL; guint level; if (brg->priv->block) @@ -268,7 +279,14 @@ xfpm_brightness_hal_reset_cb (XfpmIdle *idle, XfpmBrightnessHal *brg) if ( brg->priv->inhibited ) return; - level = xfpm_brightness_hal_get_level(brg); + level = xfpm_brightness_hal_get_level (brg, &error); + + if ( error ) + { + g_warning ("Error getting brightness level: %s\n", error->message); + g_error_free (error); + return; + } if ( level != brg->priv->hw_level ) { @@ -280,12 +298,20 @@ xfpm_brightness_hal_reset_cb (XfpmIdle *idle, XfpmBrightnessHal *brg) static void xfpm_brightness_timeout_on_ac (XfpmBrightnessHal *brg) { + GError *error = NULL; guint level; if ( brg->priv->on_battery ) return; - level = xfpm_brightness_hal_get_level(brg); + level = xfpm_brightness_hal_get_level (brg, &error); + + if ( error ) + { + g_warning ("Error getting brightness level: %s\n", error->message); + g_error_free (error); + return; + } if ( level != 0 && level != brg->priv->step ) { @@ -297,12 +323,20 @@ xfpm_brightness_timeout_on_ac (XfpmBrightnessHal *brg) static void xfpm_brightness_timeout_on_battery (XfpmBrightnessHal *brg) { + GError *error = NULL; guint level; if ( !brg->priv->on_battery ) return; - level = xfpm_brightness_hal_get_level(brg); + level = xfpm_brightness_hal_get_level (brg, &error); + + if ( error ) + { + g_warning ("Error getting brightness level: %s\n", error->message); + g_error_free (error); + return; + } if ( level != 0 && level != brg->priv->step ) {