X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fircchannel.cpp;h=387a2702fbec4fc37c008ef4aa760d49adbf4f4c;hp=04ff1435d678a127854e9b6264ad4e9a14586eb5;hb=891c87b4e52022480f2ab71b598bfde721815df5;hpb=c6fc5ae878a4f92b658c3da2861bcc7da9c2594f diff --git a/src/common/ircchannel.cpp b/src/common/ircchannel.cpp index 04ff1435..387a2702 100644 --- a/src/common/ircchannel.cpp +++ b/src/common/ircchannel.cpp @@ -192,8 +192,9 @@ void IrcChannel::part(IrcUser *ircuser) { disconnect(ircuser, 0, this, 0); emit ircUserParted(ircuser); - if(network->isMe(ircuser)) { - // we left -> clean up the channel and destroy it + if(network->isMe(ircuser) || _userModes.isEmpty()) { + // in either case we're no longer in the channel + // -> clean up the channel and destroy it QList users = _userModes.keys(); _userModes.clear(); foreach(IrcUser *user, users) {