diff options
author | Eion Robb <eion@robbmob.com> | 2017-03-25 12:29:07 +0300 |
---|---|---|
committer | Eion Robb <eion@robbmob.com> | 2017-03-25 12:29:07 +0300 |
commit | 150bca864946616200cb1d775ce04fbb6bdb51af (patch) | |
tree | a2ea21bb3871efc77c23f71e5730dbf2b67500f7 | |
parent | 432af345350a183817af0a5cfc3893eb5491f842 (diff) |
Mark idle users as online but idle instead of offline
Fixes issue #531
-rw-r--r-- | skypeweb/skypeweb_messages.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/skypeweb/skypeweb_messages.c b/skypeweb/skypeweb_messages.c index 65f7320..7e5de86 100644 --- a/skypeweb/skypeweb_messages.c +++ b/skypeweb/skypeweb_messages.c @@ -57,6 +57,7 @@ process_userpresence_resource(SkypeWebAccount *sa, JsonObject *resource) // const gchar *capabilities = json_object_get_string_member(resource, "capabilities");
// const gchar *lastSeenAt = json_object_get_string_member(resource, "lastSeenAt");
const gchar *from;
+ gboolean is_idle;
from = skypeweb_contact_url_to_name(selfLink);
g_return_if_fail(from);
@@ -77,8 +78,14 @@ process_userpresence_resource(SkypeWebAccount *sa, JsonObject *resource) // purple_protocol_got_user_status(sa->account, from, "mobile", NULL);
// }
- purple_protocol_got_user_status(sa->account, from, status, NULL);
- purple_protocol_got_user_idle(sa->account, from, g_str_equal(status, "Idle"), 0);
+ is_idle = purple_strequal(status, SKYPEWEB_STATUS_IDLE);
+ if (!is_idle) {
+ purple_protocol_got_user_status(sa->account, from, status, NULL);
+ } else {
+ purple_protocol_got_user_status(sa->account, from, SKYPEWEB_STATUS_ONLINE, NULL);
+ }
+
+ purple_protocol_got_user_idle(sa->account, from, is_idle, 0);
}
// static gboolean
|