aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--irc_channel.c4
-rw-r--r--irc_commands.c7
2 files changed, 6 insertions, 5 deletions
diff --git a/irc_channel.c b/irc_channel.c
index 2c6601d2..528d0442 100644
--- a/irc_channel.c
+++ b/irc_channel.c
@@ -127,11 +127,7 @@ int irc_channel_del_user( irc_channel_t *ic, irc_user_t *iu )
irc_send_part( ic, iu, "" );
if( iu == ic->irc->user )
- {
ic->flags &= ~IRC_CHANNEL_JOINED;
- if( ic->f->part )
- ic->f->part( ic, NULL );
- }
return 1;
}
diff --git a/irc_commands.c b/irc_commands.c
index f56f45a0..e6954071 100644
--- a/irc_commands.c
+++ b/irc_commands.c
@@ -168,7 +168,12 @@ static void irc_cmd_part( irc_t *irc, char **cmd )
{
irc_send_num( irc, 403, "%s :No such channel", cmd[1] );
}
- else if( !irc_channel_del_user( ic, irc->user ) )
+ else if( irc_channel_del_user( ic, irc->user ) )
+ {
+ if( ic->f->part )
+ ic->f->part( ic, NULL );
+ }
+ else
{
irc_send_num( irc, 442, "%s :You're not on that channel", cmd[1] );
}