From 3060525426c082ad6bb04043bd79ef83c72235bb Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Wed, 9 Aug 2006 22:07:34 +0000 Subject: [PATCH] Fixed crash when purging DCC when a closed DCC chat has no more buffer --- src/irc/irc-channel.c | 10 ++++++---- weechat/src/irc/irc-channel.c | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/irc/irc-channel.c b/src/irc/irc-channel.c index 2b0fee6a6..0def12c92 100644 --- a/src/irc/irc-channel.c +++ b/src/irc/irc-channel.c @@ -98,12 +98,14 @@ channel_free (t_irc_server *server, t_irc_channel *channel) return; /* close DCC CHAT */ - if ((t_irc_dcc *)(channel->dcc_chat) && - (!DCC_ENDED(((t_irc_dcc *)(channel->dcc_chat))->status))) + if (channel->dcc_chat) { ((t_irc_dcc *)(channel->dcc_chat))->channel = NULL; - dcc_close ((t_irc_dcc *)(channel->dcc_chat), DCC_ABORTED); - dcc_redraw (1); + if (!DCC_ENDED(((t_irc_dcc *)(channel->dcc_chat))->status)) + { + dcc_close ((t_irc_dcc *)(channel->dcc_chat), DCC_ABORTED); + dcc_redraw (1); + } } /* remove channel from queue */ diff --git a/weechat/src/irc/irc-channel.c b/weechat/src/irc/irc-channel.c index 2b0fee6a6..0def12c92 100644 --- a/weechat/src/irc/irc-channel.c +++ b/weechat/src/irc/irc-channel.c @@ -98,12 +98,14 @@ channel_free (t_irc_server *server, t_irc_channel *channel) return; /* close DCC CHAT */ - if ((t_irc_dcc *)(channel->dcc_chat) && - (!DCC_ENDED(((t_irc_dcc *)(channel->dcc_chat))->status))) + if (channel->dcc_chat) { ((t_irc_dcc *)(channel->dcc_chat))->channel = NULL; - dcc_close ((t_irc_dcc *)(channel->dcc_chat), DCC_ABORTED); - dcc_redraw (1); + if (!DCC_ENDED(((t_irc_dcc *)(channel->dcc_chat))->status)) + { + dcc_close ((t_irc_dcc *)(channel->dcc_chat), DCC_ABORTED); + dcc_redraw (1); + } } /* remove channel from queue */