X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftint2;a=blobdiff_plain;f=src%2Futil%2Ftimer.c;h=9f7ca0d65c85713e9d951e7facf4cd14eefef65d;hp=8d22082f4d79b1321f73cb6288094887bf1094ad;hb=caa0f8fbb901def18eab94a2e7f0131705967c5e;hpb=8a66c780e7fc932563b427999c3c6c2e923b232b diff --git a/src/util/timer.c b/src/util/timer.c index 8d22082..9f7ca0d 100644 --- a/src/util/timer.c +++ b/src/util/timer.c @@ -77,6 +77,10 @@ void cleanup_timeout() free(t); timeout_list = g_slist_remove(timeout_list, t); } + if (multi_timeouts) { + g_hash_table_destroy(multi_timeouts); + multi_timeouts = 0; + } } /** Implementation notes for timeouts: The timeouts are kept in a GSList sorted by their @@ -394,6 +398,7 @@ void remove_from_multi_timeout(timeout* t) if (g_slist_length(mth->timeout_list) == 1) { timeout* last_timeout = mth->timeout_list->data; + mth->timeout_list = g_slist_remove(mth->timeout_list, last_timeout); free(last_timeout->multi_timeout); last_timeout->multi_timeout = 0; g_hash_table_remove(multi_timeouts, last_timeout);