Fixed another situation in the IRC widget, that could cause a stack trace. Py2 comp.

Mon, 25 Mar 2013 10:03:09 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 25 Mar 2013 10:03:09 +0100
branch
Py2 comp.
changeset 2532
f9500e2d2a8d
parent 2531
a5034da7e61a
child 2533
8fb5922867f2

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):
         """

eric ide

mercurial