Rearranged the shutdown sequence to improve the shutdown behavior. eric7

Thu, 02 Nov 2023 13:36:44 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 02 Nov 2023 13:36:44 +0100
branch
eric7
changeset 10276
a9a0cb9c9d0c
parent 10275
76a32e9f16b4
child 10277
e3d7e0cc0e6a

Rearranged the shutdown sequence to improve the shutdown behavior.

src/eric7/QScintilla/Shell.py file | annotate | diff | comparison | revisions
src/eric7/UI/UserInterface.py file | annotate | diff | comparison | revisions
--- a/src/eric7/QScintilla/Shell.py	Thu Nov 02 11:26:51 2023 +0100
+++ b/src/eric7/QScintilla/Shell.py	Thu Nov 02 13:36:44 2023 +0100
@@ -259,6 +259,7 @@
         self.inDragDrop = False
         self.lexer_ = None
         self.completionText = ""
+        self.__shuttingDown = False
 
         self.clientType = ""
 
@@ -404,6 +405,7 @@
         """
         for clientType in self.__historyLists:
             self.saveHistory(clientType)
+        self.__shuttingDown = True
 
     def __bindLexer(self, language="Python3"):
         """
@@ -2546,7 +2548,7 @@
         """
         Private slot to restart the default shell when the project is closed.
         """
-        if Preferences.getProject("RestartShellForProject"):
+        if not self.__shuttingDown and Preferences.getProject("RestartShellForProject"):
             self.dbs.startClient(False)
             self.__getBanner()
 
--- a/src/eric7/UI/UserInterface.py	Thu Nov 02 11:26:51 2023 +0100
+++ b/src/eric7/UI/UserInterface.py	Thu Nov 02 13:36:44 2023 +0100
@@ -8135,6 +8135,8 @@
 
         self.__astViewer.hide()
 
+        self.shell.closeShell()
+
         if not self.project.closeProject(shutdown=True):
             return False
 
@@ -8158,8 +8160,6 @@
 
         self.__astViewer.shutdown()
 
-        self.shell.closeShell()
-
         self.__writeTasks()
 
         if self.templateViewer is not None:

eric ide

mercurial