Fixed a shutdown issue. 5_2_x

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

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 16 Oct 2012 19:43:27 +0200
branch
5_2_x
changeset 2151
7d38a32bf535
parent 2148
e734eb71cac8
child 2152
b57fc9a52742

Fixed a shutdown issue.
(grafted from bd0bbb3043df6b6c5198a5089da7ca58df936e65)

Helpviewer/HelpWindow.py file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
--- a/Helpviewer/HelpWindow.py	Mon Oct 15 20:04:14 2012 +0200
+++ b/Helpviewer/HelpWindow.py	Tue Oct 16 19:43:27 2012 +0200
@@ -224,6 +224,7 @@
             self.__virusTotal.fileScanReport.connect(self.__virusTotalFileScanReport)
             
             self.__previewer = None
+            self.__shutdownCalled = False
             
             QTimer.singleShot(0, self.__lookForNewDocumentation)
             if self.__searchWord is not None:
@@ -1786,13 +1787,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()
         
@@ -1836,8 +1852,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 20:04:14 2012 +0200
+++ b/UI/UserInterface.py	Tue Oct 16 19:43:27 2012 +0200
@@ -5524,6 +5524,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