Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/EionRobb/skype4pidgin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEion Robb <eion@robbmob.com>2015-08-02 23:45:19 +0300
committerEion Robb <eion@robbmob.com>2015-08-02 23:45:19 +0300
commitfbf1776bf5d6bb7d96195ee3239963c8d3b3d884 (patch)
tree49275f4ecc68742a3eb7a4096521bf233efad847
parent5a6fb5854f9287ae31bf6aa1324f7972dda5ea19 (diff)
SkypeWeb : Fix from @pchome to prevent duplicate auth requests
-rw-r--r--skypeweb/skypeweb_contacts.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/skypeweb/skypeweb_contacts.c b/skypeweb/skypeweb_contacts.c
index 791a053..c027636 100644
--- a/skypeweb/skypeweb_contacts.c
+++ b/skypeweb/skypeweb_contacts.c
@@ -697,7 +697,7 @@ static void
skypeweb_got_authrequests(SkypeWebAccount *sa, JsonNode *node, gpointer user_data)
{
JsonArray *requests;
- gint index, length;
+ guint index, length;
time_t latest_timestamp = 0;
requests = json_node_get_array(node);
@@ -705,12 +705,13 @@ skypeweb_got_authrequests(SkypeWebAccount *sa, JsonNode *node, gpointer user_dat
for(index = 0; index < length; index++)
{
JsonObject *request = json_array_get_object_element(requests, index);
- const gchar *event_time = json_object_get_string_member(request, "event_time");
+ const gchar *event_time_iso = json_object_get_string_member(request, "event_time_iso");
const gchar *sender = json_object_get_string_member(request, "sender");
const gchar *greeting = json_object_get_string_member(request, "greeting");
- time_t event_timestamp = purple_str_to_time(event_time, TRUE, NULL, NULL, NULL);
+ time_t event_timestamp = purple_str_to_time(event_time_iso, TRUE, NULL, NULL, NULL);
- if (event_timestamp <= sa->last_authrequest)
+ latest_timestamp = MAX(latest_timestamp, event_timestamp);
+ if (sa->last_authrequest && event_timestamp <= sa->last_authrequest)
continue;
purple_account_request_authorization(
@@ -718,7 +719,6 @@ skypeweb_got_authrequests(SkypeWebAccount *sa, JsonNode *node, gpointer user_dat
NULL, greeting, FALSE,
skypeweb_auth_accept_cb, skypeweb_auth_reject_cb, purple_buddy_new(sa->account, sender, NULL));
- latest_timestamp = MAX(latest_timestamp, event_timestamp);
}
sa->last_authrequest = latest_timestamp;