--- a/WebBrowser/GreaseMonkey/GreaseMonkeyScript.py Tue Feb 06 19:21:00 2018 +0100 +++ b/WebBrowser/GreaseMonkey/GreaseMonkeyScript.py Wed Feb 07 18:57:46 2018 +0100 @@ -434,27 +434,33 @@ self.__manager, GreaseMonkeyDownloader.DownloadMainScript) downloader.updateScript(self.__fileName) - downloader.finished.connect(self.__downloaderFinished) - downloader.error.connect(self.__downloaderError) + downloader.finished.connect( + lambda: self.__downloaderFinished(downloader)) + downloader.error.connect( + lambda: self.__downloaderError(downloader)) self.__downloaders.append(downloader) self.__downloadRequires() - def __downloaderFinished(self): + def __downloaderFinished(self, downloader): """ Private slot to handle a finished download. + + @param downloader reference to the downloader object + @type GreaseMonkeyDownloader """ - downloader = self.sender() if downloader in self.__downloaders: self.__downloaders.remove(downloader) self.__updating = False self.updatingChanged.emit(self.__updating) - def __downloaderError(self): + def __downloaderError(self, downloader): """ Private slot to handle a downloader error. + + @param downloader reference to the downloader object + @type GreaseMonkeyDownloader """ - downloader = self.sender() if downloader in self.__downloaders: self.__downloaders.remove(downloader) self.__updating = False @@ -481,24 +487,30 @@ QUrl(urlStr), self.__manager, GreaseMonkeyDownloader.DownloadRequireScript) - downloader.finished.connect(self.__requireDownloaded) - downloader.error.connect(self.__requireDownloadError) + downloader.finished.connect( + lambda: self.__requireDownloaded(downloader)) + downloader.error.connect( + lambda: self.__requireDownloadError(downloader)) self.__downloaders.append(downloader) - def __requireDownloaded(self): + def __requireDownloaded(self, downloader): """ Private slot to handle a finished download of a required script. + + @param downloader reference to the downloader object + @type GreaseMonkeyDownloader """ - downloader = self.sender() if downloader in self.__downloaders: self.__downloaders.remove(downloader) self.__reloadScript() - def __requireDownloadError(self): + def __requireDownloadError(self, downloader): """ Private slot to handle a downloader error. + + @param downloader reference to the downloader object + @type GreaseMonkeyDownloader """ - downloader = self.sender() if downloader in self.__downloaders: self.__downloaders.remove(downloader)