diff options
author | Alberto Mardegan <mardy@users.sourceforge.net> | 2007-05-02 11:57:06 +0000 |
---|---|---|
committer | Alberto Mardegan <mardy@users.sourceforge.net> | 2007-05-02 11:57:06 +0000 |
commit | 7d67540a9c10038fb31fa96dfc8d99aeb3787875 (patch) | |
tree | 2edd1fb475399d3e4558d8c774ebbb6bf1db1165 /src | |
parent | 37a837788ef6335e202ce0f74144343427b942a7 (diff) |
* src/mcd-connection.c:
Don't set account status to CONNECTING if we don't have a Telepathy
connection.
* src/mcd-service.c:
Make sure only valid presence values can be requested. Fixes #1711163.
git-svn-id: https://mission-control.svn.sourceforge.net/svnroot/mission-control/trunk@33 d91c8aed-3f2b-0410-a83d-924a1c20a0ba
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; } |