diff --git a/src/fe-common/core/fe-channels.c b/src/fe-common/core/fe-channels.c index 64c5214c..bfd8e800 100644 --- a/src/fe-common/core/fe-channels.c +++ b/src/fe-common/core/fe-channels.c @@ -585,7 +585,11 @@ static void cmd_cycle(const char *data, SERVER_REC *server, WI_ITEM_REC *item) joindata = chanrec->get_join_data(chanrec); window_bind_add(window_item_window(chanrec), chanrec->server->tag, chanrec->name); - channel_destroy(chanrec); + + /* FIXME: kludgy kludgy... and it relies on channel not + being destroyed immediately.. */ + signal_emit("command part", 3, data, server, item); + channel_destroy(chanrec); server->channels_join(server, joindata, FALSE); g_free(joindata);