- QHash<QString, IrcChannel*>::iterator i = _ircChannels.begin();
- while(i != _ircChannels.end()) {
- if(i.value() == channel) {
- i = _ircChannels.erase(i);
- } else {
- i++;
- }
- }
+ // in case this assert triggers we probably need a static_cast
+ // dynamic_casts seem to screw things up when using the destroyed signal
+ Q_ASSERT(channel);
+ _ircChannels.remove(_ircChannels.key(channel));