X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresession.cpp;h=726ddb891ed7ba4d2ab12cf0e96bb40970617df9;hp=28a074f58c9a5e82d7da06da4971108e423545dd;hb=419189f88aa62da0b3dc4564554b2b85f9aa6524;hpb=902c95728306e5ba115de84800fc8d5d239c9d62 diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index 28a074f5..726ddb89 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -106,9 +106,9 @@ void CoreSession::connectToNetwork(QString network) { uint networkid = getNetworkId(network); if(!servers.contains(networkid)) { Server *server = new Server(userId(), networkid, network); + servers[networkid] = server; attachServer(server); server->start(); - servers[networkid] = server; } emit connectToIrc(network); } @@ -146,8 +146,9 @@ void CoreSession::serverConnected(uint networkid) { } void CoreSession::serverDisconnected(uint networkid) { - servers.remove(networkid); - delete servers[networkid]; + Q_ASSERT(servers.contains(networkid)); + servers.take(networkid)->deleteLater(); + Q_ASSERT(!servers.contains(networkid)); } void CoreSession::msgFromGui(BufferInfo bufid, QString msg) {