diff -r 18fb5d765f3a -r 4c60a21ce6dd Helpviewer/GreaseMonkey/GreaseMonkeyManager.py --- a/Helpviewer/GreaseMonkey/GreaseMonkeyManager.py Tue Feb 06 19:21:00 2018 +0100 +++ b/Helpviewer/GreaseMonkey/GreaseMonkeyManager.py Wed Feb 07 18:57:46 2018 +0100 @@ -61,18 +61,19 @@ """ from .GreaseMonkeyDownloader import GreaseMonkeyDownloader downloader = GreaseMonkeyDownloader(request, self) - downloader.finished.connect(self.__downloaderFinished) + downloader.finished.connect( + lambda: self.__downloaderFinished(downloader)) self.__downloaders.append(downloader) - def __downloaderFinished(self): + def __downloaderFinished(self, downloader): """ Private slot to handle the completion of a script download. + + @param downloader reference to the downloader object + @type GreaseMonkeyDownloader """ - downloader = self.sender() - if downloader is None or downloader not in self.__downloaders: - return - - self.__downloaders.remove(downloader) + if downloader in self.__downloaders: + self.__downloaders.remove(downloader) def scriptsDirectory(self): """ @@ -231,14 +232,13 @@ """ return scheme in ["http", "https", "data", "ftp"] - def pageLoadStarted(self): + def pageLoadStarted(self, frame): """ Public slot to handle the start of loading a page. + + @param frame reference to the main frame of the loading page + @type QWebFrame """ - frame = self.sender() - if not frame: - return - urlScheme = frame.url().scheme() urlString = bytes(frame.url().toEncoded()).decode() @@ -290,8 +290,9 @@ @param page reference to the web page (HelpWebPage) """ - page.mainFrame().javaScriptWindowObjectCleared.connect( - self.pageLoadStarted) + mainFrame = page.mainFrame() + mainFrame.javaScriptWindowObjectCleared.connect( + lambda: self.pageLoadStarted(mainFrame)) def createRequest(self, op, request, outgoingData=None): """