diff options
Diffstat (limited to 'irc_channel.c')
-rw-r--r-- | irc_channel.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/irc_channel.c b/irc_channel.c index d98d0652..c676afe6 100644 --- a/irc_channel.c +++ b/irc_channel.c @@ -119,6 +119,12 @@ int irc_channel_free( irc_channel_t *ic ) if( ic->flags & IRC_CHANNEL_JOINED ) irc_channel_del_user( ic, irc->user, FALSE, "Cleaning up channel" ); + if( ic->f->_free ) + ic->f->_free( ic ); + + while( ic->set ) + set_del( &ic->set, ic->set->key ); + irc->channels = g_slist_remove( irc->channels, ic ); while( ic->users ) { @@ -128,6 +134,7 @@ int irc_channel_free( irc_channel_t *ic ) g_free( ic->name ); g_free( ic->topic ); + g_free( ic->topic_who ); g_free( ic ); return 1; |