diff -r d7d9bdb53ca5 -r bc7460f3ef1a Network/IRC/IrcWidget.py --- a/Network/IRC/IrcWidget.py Mon Mar 25 09:56:07 2013 +0100 +++ b/Network/IRC/IrcWidget.py Mon Mar 25 10:03:09 2013 +0100 @@ -448,21 +448,22 @@ """ Private slot to indicate the host was disconnected. """ - self.__closeAllChannels() - self.networkWidget.addServerMessage(self.trUtf8("Info"), - self.trUtf8("Server disconnected.")) - self.networkWidget.setRegistered(False) - self.networkWidget.setConnected(False) - self.__server = None - self.__nickName = "" - self.__nickIndex = -1 - self.__channelTypePrefixes = "" - - self.__socket.deleteLater() - self.__socket = None - - self.__connectionState = IrcWidget.ServerDisconnected - self.__sslErrorLock = False + if self.networkWidget.isConnected(): + self.__closeAllChannels() + self.networkWidget.addServerMessage(self.trUtf8("Info"), + self.trUtf8("Server disconnected.")) + self.networkWidget.setRegistered(False) + self.networkWidget.setConnected(False) + self.__server = None + self.__nickName = "" + self.__nickIndex = -1 + self.__channelTypePrefixes = "" + + self.__socket.deleteLater() + self.__socket = None + + self.__connectionState = IrcWidget.ServerDisconnected + self.__sslErrorLock = False def __readyRead(self): """