1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00

Set autoping timeout default to 10 seconds, added null checks

This commit is contained in:
James Booth 2016-01-02 16:45:20 +00:00
parent 523c35c375
commit 3d9e860574
2 changed files with 14 additions and 3 deletions

View File

@ -517,7 +517,7 @@ gint
prefs_get_autoping_timeout(void)
{
if (!g_key_file_has_key(prefs, PREF_GROUP_CONNECTION, "autoping.timeout", NULL)) {
return 5;
return 10;
} else {
return g_key_file_get_integer(prefs, PREF_GROUP_CONNECTION, "autoping.timeout", NULL);
}

View File

@ -99,7 +99,7 @@ static int _caps_response_handler_for_jid(xmpp_conn_t *const conn, xmpp_stanza_t
static int _caps_response_handler_legacy(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata);
static gboolean autoping_wait = FALSE;
static GTimer *autoping_time;
static GTimer *autoping_time = NULL;
void
iq_add_handlers(void)
@ -137,6 +137,10 @@ iq_autoping_check(void)
return;
}
if (autoping_time == NULL) {
return;
}
gdouble elapsed = g_timer_elapsed(autoping_time, NULL);
unsigned long seconds_elapsed = elapsed * 1.0;
gint timeout = prefs_get_autoping_timeout();
@ -146,6 +150,7 @@ iq_autoping_check(void)
jabber_autoping_fail();
autoping_wait = FALSE;
g_timer_destroy(autoping_time);
autoping_time = NULL;
}
}
@ -553,7 +558,10 @@ static int
_auto_pong_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata)
{
autoping_wait = FALSE;
g_timer_destroy(autoping_time);
if (autoping_time) {
g_timer_destroy(autoping_time);
autoping_time = NULL;
}
char *id = xmpp_stanza_get_id(stanza);
if (id == NULL) {
@ -895,6 +903,9 @@ _autoping_timed_handler(xmpp_conn_t *const conn, void *const userdata)
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
autoping_wait = TRUE;
if (autoping_time) {
g_timer_destroy(autoping_time);
}
autoping_time = g_timer_new();
return 1;