Mon, 25 Mar 2013 10:03:09 +0100
Fixed another situation in the IRC widget, that could cause a stack trace.
(grafted from 688c7ef0a5b022d3a56aaa25ea1753f1880e85a2)
Network/IRC/IrcNetworkWidget.py | file | annotate | diff | comparison | revisions | |
Network/IRC/IrcWidget.py | file | annotate | diff | comparison | revisions |
--- a/Network/IRC/IrcNetworkWidget.py Mon Mar 25 09:56:07 2013 +0100 +++ b/Network/IRC/IrcNetworkWidget.py Mon Mar 25 10:03:09 2013 +0100 @@ -287,7 +287,15 @@ self.connectButton.setIcon(UI.PixmapCache.getIcon("ircDisconnect.png")) else: self.connectButton.setIcon(UI.PixmapCache.getIcon("ircConnect.png")) + + def isConnected(self): + """ + Public method to check, if the network is connected. + @return flag indicating a connected network (boolean) + """ + return self.__connected + def setRegistered(self, registered): """ Public slot to set the registered state.
--- 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 @@ -459,21 +459,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): """