diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mcd-connection.c | 9 | ||||
-rw-r--r-- | src/mcd-service.c | 7 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/mcd-connection.c b/src/mcd-connection.c index 6106eaba..9c00c2d8 100644 --- a/src/mcd-connection.c +++ b/src/mcd-connection.c @@ -1065,10 +1065,6 @@ _mcd_connection_setup (McdConnection * connection) g_hash_table_destroy (params); g_object_unref (profile); - mcd_presence_frame_set_account_status (priv->presence_frame, - priv->account, - TP_CONN_STATUS_CONNECTING, - TP_CONN_STATUS_REASON_REQUESTED); if (!priv->tp_conn) { g_warning ("%s: tp_connmgr_new_connection returned NULL", G_STRFUNC); @@ -1079,6 +1075,11 @@ _mcd_connection_setup (McdConnection * connection) return; } + mcd_presence_frame_set_account_status (priv->presence_frame, + priv->account, + TP_CONN_STATUS_CONNECTING, + TP_CONN_STATUS_REASON_REQUESTED); + /* Setup signals */ g_signal_connect (priv->tp_conn, "destroy", G_CALLBACK (proxy_destroyed), connection); diff --git a/src/mcd-service.c b/src/mcd-service.c index b25d06ce..cb2d825d 100644 --- a/src/mcd-service.c +++ b/src/mcd-service.c @@ -110,6 +110,13 @@ static gboolean mcd_service_set_presence (GObject * obj, gint presence, gchar * message, GError ** error) { + if (presence >= LAST_MC_PRESENCE) + { + g_set_error (error, MC_ERROR, MC_PRESENCE_FAILURE_ERROR, + "Invalid presence"); + return FALSE; + } + mcd_master_request_presence (MCD_MASTER (obj), presence, message); return TRUE; } |