diff -r 3e6e6d70c4ff -r d670b282b5b5 Network/IRC/IrcWidget.py --- a/Network/IRC/IrcWidget.py Sun Feb 26 15:54:20 2017 +0100 +++ b/Network/IRC/IrcWidget.py Sun Feb 26 15:54:49 2017 +0100 @@ -151,18 +151,13 @@ else: ok = True if ok: - self.__socket.blockSignals(True) - - self.__send("QUIT :" + self.__quitMessage) - self.__socket.flush() - self.__socket.close() - self.__socket.deleteLater() - self.__socket = None + self.__connectNetwork("", False, True) else: ok = True if ok: self.__ircNetworkManager.close() + return ok def autoConnect(self): @@ -262,8 +257,13 @@ self.tr("Disconnecting from server.")) self.__closeAllChannels() self.__send("QUIT :" + self.__quitMessage) - self.__socket and self.__socket.flush() - self.__socket and self.__socket.close() + if self.__socket: + self.__socket.flush() + self.__socket.close() + if self.__socket: + # socket is still existing + self.__socket.deleteLater() + self.__socket = None self.__userName = "" self.__identityName = "" self.__quitMessage = "" @@ -572,7 +572,7 @@ elif name == "MODE": self.__registering = False if ":" in match.group(3): - # :detlev_ MODE detlev_ :+i + # :foo MODE foo :+i name, modes = match.group(3).split(" :") sourceNick = match.group(1) if not self.isChannelName(name):