static void sig_channel_destroyed(CHANNEL_REC *channel) { void *data = MODULE_DATA(channel); g_free(data); MODULE_DATA_UNSET(channel); }
static void sig_channel_destroyed(Channel *channel) { ChannelGui *gui; gui = CHANNEL_GUI(channel); signal_emit("gui channel destroyed", 1, gui); while (gui->titles != NULL) { ChannelTitle *title = gui->titles->data; gtk_widget_destroy(title->widget); } gui_nicklist_destroy(gui->nicklist); g_free(gui); MODULE_DATA_UNSET(channel); }
/* Deinitialize flood protection */ static void flood_deinit_server(IRC_SERVER_REC *server) { MODULE_SERVER_REC *mserver; g_return_if_fail(server != NULL); if (!IS_IRC_SERVER(server)) return; mserver = MODULE_DATA(server); if (mserver != NULL && mserver->floodlist != NULL) { flood_timecheck = 0; g_hash_table_foreach(mserver->floodlist, (GHFunc) flood_hash_destroy, NULL); g_hash_table_destroy(mserver->floodlist); } g_free(mserver); MODULE_DATA_UNSET(server); }
static void notifylist_deinit_server(IRC_SERVER_REC *server) { MODULE_SERVER_REC *mserver; NOTIFY_NICK_REC *rec; g_return_if_fail(server != NULL); if (!IS_IRC_SERVER(server)) return; mserver = MODULE_DATA(server); while (mserver->notify_users != NULL) { rec = mserver->notify_users->data; mserver->notify_users = g_slist_remove(mserver->notify_users, rec); notify_nick_destroy(rec); } g_free(mserver); MODULE_DATA_UNSET(server); }
static void sig_disconnected(SERVER_REC *server) { void *data = MODULE_DATA(server); g_free(data); MODULE_DATA_UNSET(server); }
static void sig_channel_destroyed(CHANNEL_REC *channel) { g_free(MODULE_DATA(channel)); MODULE_DATA_UNSET(channel); }
static void sig_disconnected(SERVER_REC *server) { g_free(MODULE_DATA(server)); MODULE_DATA_UNSET(server); }