X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fircchannel.cpp;h=387a2702fbec4fc37c008ef4aa760d49adbf4f4c;hp=04ff1435d678a127854e9b6264ad4e9a14586eb5;hb=a5dfcc8ecf8b81025d24b3c5c816169e3e030ea4;hpb=f7379184b7c0ae4e53d7470809f84e2ad3239ec1 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) {