diff options
-rw-r--r-- | libempathy/empathy-idle.c | 11 |
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), |