aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy/empathy-idle.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libempathy/empathy-idle.c b/libempathy/empathy-idle.c
index bc40cc899..d9c8178e8 100644
--- a/libempathy/empathy-idle.c
+++ b/libempathy/empathy-idle.c
@@ -402,11 +402,16 @@ empathy_idle_init (EmpathyIdle *idle)
idle->priv = priv;
priv->is_idle = FALSE;
priv->mc = empathy_mission_control_new ();
- priv->state = mission_control_get_presence_actual (priv->mc, NULL);
- priv->status = mission_control_get_presence_message_actual (priv->mc, NULL);
- if (G_STR_EMPTY (priv->status)) {
+ priv->state = mission_control_get_presence_actual (priv->mc, &error);
+ if (error) {
+ priv->state = MC_PRESENCE_UNSET;
+ g_clear_error (&error);
+ }
+ priv->status = mission_control_get_presence_message_actual (priv->mc, &error);
+ if (error) {
g_free (priv->status);
priv->status = NULL;
+ g_clear_error (&error);
}
dbus_g_proxy_connect_signal (DBUS_G_PROXY (priv->mc),