fixed the FIXME in Client::networkDestroyed()
authorMarcus Eggenberger <egs@quassel-irc.org>
Sun, 3 Feb 2008 14:30:27 +0000 (14:30 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Sun, 3 Feb 2008 14:30:27 +0000 (14:30 +0000)
src/client/client.cpp

index b3e55c7..6e0baf3 100644 (file)
@@ -356,11 +356,16 @@ void Client::bufferDestroyed() {
 }
 
 void Client::networkDestroyed() {
 }
 
 void Client::networkDestroyed() {
-  // FIXME this is not gonna work, net is a QObject here already!
   Network *net = static_cast<Network *>(sender());
   Network *net = static_cast<Network *>(sender());
-  NetworkId networkId = net->networkId();
-  if(_networks.contains(networkId))
-    _networks.remove(networkId);
+  QHash<NetworkId, Network *>::iterator netIter = _networks.begin();
+  while(netIter != _networks.end()) {
+    if(*netIter == net) {
+      netIter = _networks.erase(netIter);
+      break;
+    } else {
+      netIter++;
+    }
+  }
 }
 
 void Client::recvMessage(const Message &msg) {
 }
 
 void Client::recvMessage(const Message &msg) {