Fixed a shutdown issue.

Tue, 16 Oct 2012 19:43:27 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 16 Oct 2012 19:43:27 +0200
changeset 2149
bd0bbb3043df
parent 2144
28647dd918f3
child 2150
4dd7b1634ea8

Fixed a shutdown issue.

Helpviewer/HelpWindow.py file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
--- 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):
         """
--- a/UI/UserInterface.py	Mon Oct 15 19:30:41 2012 +0200
+++ b/UI/UserInterface.py	Tue Oct 16 19:43:27 2012 +0200
@@ -5236,6 +5236,10 @@
         if self.shutdownCalled:
             return True
         
+        if self.helpWindow is not None:
+            if not self.helpWindow.shutdown():
+                return False
+        
         self.__writeSession()
         
         if not self.project.closeProject():

eric ide

mercurial