]> www.infradead.org Git - pidgin-chime.git/commitdiff
Destroy chats on disconnect
authorDavid Woodhouse <dwmw@amazon.co.uk>
Tue, 5 Dec 2017 23:44:39 +0000 (23:44 +0000)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Tue, 5 Dec 2017 23:44:51 +0000 (23:44 +0000)
chat.c

diff --git a/chat.c b/chat.c
index 296df792ef3cccd38747e2356bbb13bc791578fa..848a345b28d7aaf62209db908314d0c9538d04b6 100644 (file)
--- a/chat.c
+++ b/chat.c
@@ -508,6 +508,11 @@ void purple_chime_init_chats(struct purple_chime *pc)
 
 void purple_chime_destroy_chats(struct purple_chime *pc)
 {
+       GList *chats = g_hash_table_get_values(pc->live_chats);
+       while (chats) {
+               chime_destroy_chat(chats->data);
+               chats = g_list_remove(chats, chats->data);
+       }
        g_clear_pointer(&pc->live_chats, g_hash_table_unref);
        g_clear_pointer(&pc->chats_by_room, g_hash_table_unref);
        g_clear_pointer(&pc->mention_regex, g_regex_unref);