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

github.com/EionRobb/pidgin-opensteamworks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreionrobb <eionrobb@8ca6c67d-4297-256d-f884-781da6d5760b>2015-07-02 09:08:21 +0300
committereionrobb <eionrobb@8ca6c67d-4297-256d-f884-781da6d5760b>2015-07-02 09:08:21 +0300
commitde624e3f282ddcb34e2a0b44fce606bb93dba479 (patch)
tree60d1cdf543c23800138e71efc9f988b1e2d9ccfb
parent69df27b380aaad178c43f2561e6718785b4d9680 (diff)
Don't download every message ever if we haven't downloaded any history before
-rw-r--r--steam-mobile/libsteam.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/steam-mobile/libsteam.c b/steam-mobile/libsteam.c
index f9946bc..ddedc43 100644
--- a/steam-mobile/libsteam.c
+++ b/steam-mobile/libsteam.c
@@ -912,6 +912,10 @@ steam_get_conversations_cb(SteamAccount *sa, JsonObject *obj, gpointer user_data
JsonObject *response = json_object_get_object_member(obj, "response");
JsonArray *message_sessions = json_object_get_array_member(response, "message_sessions");
guint index;
+ gint last_message_stored_timestamp = purple_account_get_int(sa->account, "last_message_timestamp", 0);
+
+ if (last_message_stored_timestamp <= 0)
+ return;
for(index = 0; index < json_array_get_length(message_sessions); index++)
{
@@ -921,8 +925,8 @@ steam_get_conversations_cb(SteamAccount *sa, JsonObject *obj, gpointer user_data
gint64 last_view = json_object_get_int_member(session, "last_view");
gint64 unread_message_count = json_object_get_int_member(session, "unread_message_count");
- if (last_message > sa->last_message_timestamp) {
- steam_get_offline_history(sa, steam_accountid_to_steamid(accountid_friend), sa->last_message_timestamp);
+ if (last_message > last_message_stored_timestamp) {
+ steam_get_offline_history(sa, steam_accountid_to_steamid(accountid_friend), last_message_stored_timestamp);
}
}
}
@@ -1360,7 +1364,6 @@ steam_login(PurpleAccount *account)
sa->hostname_ip_cache = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
sa->sent_messages_hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
sa->waiting_conns = g_queue_new();
- sa->last_message_timestamp = purple_account_get_int(sa->account, "last_message_timestamp", 0);
#ifdef G_OS_UNIX
if(core_is_haze) {