summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mcd-connection.c9
-rw-r--r--src/mcd-service.c7
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;
}