diff -r 28647dd918f3 -r bd0bbb3043df Helpviewer/HelpWindow.py --- a/Helpviewer/HelpWindow.py Mon Oct 15 19:30:41 2012 +0200 +++ b/Helpviewer/HelpWindow.py Tue Oct 16 19:43:27 2012 +0200 @@ -257,6 +257,7 @@ self.__virusTotal.fileScanReport.connect(self.__virusTotalFileScanReport) self.__previewer = None + self.__shutdownCalled = False QTimer.singleShot(0, self.__lookForNewDocumentation) if self.__searchWord is not None: @@ -1941,13 +1942,28 @@ <br />This event is simply accepted after the history has been saved and all window references have been deleted. """ + if not self.__shutdownCalled: + res = self.shutdown() + + if res: + e.accept() + self.helpClosed.emit() + else: + e.ignore() + else: + e.accept() + + def shutdown(self): + """ + Public method to shut down the web browser. + + @return flag indicating successful shutdown (boolean) + """ if not self.tabWidget.shallShutDown(): - e.ignore() - return + return False if not self.downloadManager().allowQuit(): - e.ignore() - return + return False self.downloadManager().shutdown() @@ -1997,8 +2013,8 @@ if not self.fromEric: Preferences.syncPreferences() - e.accept() - self.helpClosed.emit() + self.__shutdownCalled = True + return True def __backward(self): """