summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2002-03-15 21:32:22 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2002-03-15 21:32:22 +0000
commit0687b42b3e844edbbe21ce66b08b72940b251066 (patch)
tree48a87ba56fa464dc78a0f414e0cf0958bf7bf71a
parente1ff1b014aaa609d044a1fc153fe96294030cec7 (diff)
downloadirssi-0687b42b3e844edbbe21ce66b08b72940b251066.zip
/PART in SILC destroys the channel immediately, so we'll need to check
that it's not destroyed when doing it in /CYCLE.. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2620 dbcabf3a-b0e7-0310-adc4-f8d773084564
-rw-r--r--src/fe-common/core/fe-channels.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/fe-common/core/fe-channels.c b/src/fe-common/core/fe-channels.c
index 01b8aced..ec5d395b 100644
--- a/src/fe-common/core/fe-channels.c
+++ b/src/fe-common/core/fe-channels.c
@@ -586,11 +586,13 @@ static void cmd_cycle(const char *data, SERVER_REC *server, WI_ITEM_REC *item)
window_bind_add(window_item_window(chanrec),
chanrec->server->tag, chanrec->name);
- /* FIXME: kludgy kludgy... and it relies on channel not
- being destroyed immediately.. */
+ /* FIXME: kludgy kludgy... */
signal_emit("command part", 3, data, server, item);
- chanrec->left = TRUE;
- channel_destroy(chanrec);
+
+ if (g_slist_find(channels, chanrec) != NULL) {
+ chanrec->left = TRUE;
+ channel_destroy(chanrec);
+ }
server->channels_join(server, joindata, FALSE);
g_free(joindata);