diff options
author | Eion Robb <eion@robbmob.com> | 2012-12-30 09:34:46 +0400 |
---|---|---|
committer | Eion Robb <eion@robbmob.com> | 2012-12-30 09:34:46 +0400 |
commit | 6df7b4cc6bb74e51952b6446748935092f77f2b3 (patch) | |
tree | 0b4cae6cf8cb8be4e629c9a2260674e5956e70e4 | |
parent | 7302625655bb99d5e96f8967843c8c47cd5f2839 (diff) |
Don't create multiple timeouts for checking for missed messages as this chews up CPU on older versions of Skype
-rw-r--r-- | libskype.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1717,6 +1717,8 @@ skype_login_part2(PurpleAccount *acct) { gchar *reply; PurpleConnection *gc; + static guint missedmessagestimout = 0; + gc = purple_account_get_connection(acct); purple_connection_update_progress(gc, _("Authorizing"), @@ -1769,7 +1771,8 @@ skype_login_part2(PurpleAccount *acct) //sync buddies after everything else has finished loading purple_timeout_add_seconds(1, (GSourceFunc)skype_set_buddies, (gpointer)acct); - purple_timeout_add_seconds(10, (GSourceFunc)skype_check_missedmessages, (gpointer)acct); + if (!missedmessagestimout) + missedmessagestimout = purple_timeout_add_seconds(10, (GSourceFunc)skype_check_missedmessages, (gpointer)acct); return FALSE; } |