X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fircchannel.cpp;h=5c2ba7221f303fcb389cbf94c30b57cc72147f6e;hp=04ff1435d678a127854e9b6264ad4e9a14586eb5;hb=79fbcfb49f7cc92a89f0158ebac1a3006a559e8a;hpb=c6fc5ae878a4f92b658c3da2861bcc7da9c2594f diff --git a/src/common/ircchannel.cpp b/src/common/ircchannel.cpp index 04ff1435..5c2ba722 100644 --- a/src/common/ircchannel.cpp +++ b/src/common/ircchannel.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -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) {