Tue, 10 Jan 2023 09:19:32 +0100
Fixed an issue caused by a still existing signal slot connection in EditorAssembly.
--- a/src/eric7/APIs/Python3/eric7.api Mon Jan 09 11:22:56 2023 +0100 +++ b/src/eric7/APIs/Python3/eric7.api Tue Jan 10 09:19:32 2023 +0100 @@ -8294,8 +8294,8 @@ eric7.QScintilla.Editor.ReferenceItem?7 eric7.QScintilla.Editor.ReferencesListID?7 eric7.QScintilla.Editor.TemplateCompletionListID?7 +eric7.QScintilla.EditorAssembly.EditorAssembly.aboutToBeClosed?4() eric7.QScintilla.EditorAssembly.EditorAssembly.getEditor?4() -eric7.QScintilla.EditorAssembly.EditorAssembly.shutdownTimer?4() eric7.QScintilla.EditorAssembly.EditorAssembly?1(dbs, fn="", vm=None, filetype="", editor=None, tv=None) eric7.QScintilla.EditorButtonsWidget.EditorButtonsWidget.resizeEvent?4(evt) eric7.QScintilla.EditorButtonsWidget.EditorButtonsWidget.show?4()
--- a/src/eric7/Documentation/Help/source.qhp Mon Jan 09 11:22:56 2023 +0100 +++ b/src/eric7/Documentation/Help/source.qhp Tue Jan 10 09:19:32 2023 +0100 @@ -4602,8 +4602,8 @@ <keyword name="EditorAssembly.__parseEditor" id="EditorAssembly.__parseEditor" ref="eric7.QScintilla.EditorAssembly.html#EditorAssembly.__parseEditor" /> <keyword name="EditorAssembly.__preferencesChanged" id="EditorAssembly.__preferencesChanged" ref="eric7.QScintilla.EditorAssembly.html#EditorAssembly.__preferencesChanged" /> <keyword name="EditorAssembly.__resetParseTimer" id="EditorAssembly.__resetParseTimer" ref="eric7.QScintilla.EditorAssembly.html#EditorAssembly.__resetParseTimer" /> + <keyword name="EditorAssembly.aboutToBeClosed" id="EditorAssembly.aboutToBeClosed" ref="eric7.QScintilla.EditorAssembly.html#EditorAssembly.aboutToBeClosed" /> <keyword name="EditorAssembly.getEditor" id="EditorAssembly.getEditor" ref="eric7.QScintilla.EditorAssembly.html#EditorAssembly.getEditor" /> - <keyword name="EditorAssembly.shutdownTimer" id="EditorAssembly.shutdownTimer" ref="eric7.QScintilla.EditorAssembly.html#EditorAssembly.shutdownTimer" /> <keyword name="EditorAutoCompletionJediPage" id="EditorAutoCompletionJediPage" ref="eric7.Preferences.ConfigurationPages.EditorAutoCompletionJediPage.html#EditorAutoCompletionJediPage" /> <keyword name="EditorAutoCompletionJediPage (Constructor)" id="EditorAutoCompletionJediPage (Constructor)" ref="eric7.Preferences.ConfigurationPages.EditorAutoCompletionJediPage.html#EditorAutoCompletionJediPage.__init__" /> <keyword name="EditorAutoCompletionJediPage (Module)" id="EditorAutoCompletionJediPage (Module)" ref="eric7.Preferences.ConfigurationPages.EditorAutoCompletionJediPage.html" />
--- a/src/eric7/Documentation/Source/eric7.QScintilla.EditorAssembly.html Mon Jan 09 11:22:56 2023 +0100 +++ b/src/eric7/Documentation/Source/eric7.QScintilla.EditorAssembly.html Tue Jan 10 09:19:32 2023 +0100 @@ -97,13 +97,13 @@ <td>Private slot to reset the parse timer.</td> </tr> <tr> +<td><a href="#EditorAssembly.aboutToBeClosed">aboutToBeClosed</a></td> +<td>Public method to stop and disconnect the timer and disconnect some signals.</td> +</tr> +<tr> <td><a href="#EditorAssembly.getEditor">getEditor</a></td> <td>Public method to get the reference to the editor widget.</td> </tr> -<tr> -<td><a href="#EditorAssembly.shutdownTimer">shutdownTimer</a></td> -<td>Public method to stop and disconnect the timer.</td> -</tr> </table> <h3>Static Methods</h3> @@ -254,6 +254,13 @@ <p> Private slot to reset the parse timer. </p> +<a NAME="EditorAssembly.aboutToBeClosed" ID="EditorAssembly.aboutToBeClosed"></a> +<h4>EditorAssembly.aboutToBeClosed</h4> +<b>aboutToBeClosed</b>(<i></i>) + +<p> + Public method to stop and disconnect the timer and disconnect some signals. +</p> <a NAME="EditorAssembly.getEditor" ID="EditorAssembly.getEditor"></a> <h4>EditorAssembly.getEditor</h4> <b>getEditor</b>(<i></i>) @@ -273,13 +280,6 @@ Editor </dd> </dl> -<a NAME="EditorAssembly.shutdownTimer" ID="EditorAssembly.shutdownTimer"></a> -<h4>EditorAssembly.shutdownTimer</h4> -<b>shutdownTimer</b>(<i></i>) - -<p> - Public method to stop and disconnect the timer. -</p> <div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/src/eric7/QScintilla/EditorAssembly.py Mon Jan 09 11:22:56 2023 +0100 +++ b/src/eric7/QScintilla/EditorAssembly.py Tue Jan 10 09:19:32 2023 +0100 @@ -79,7 +79,7 @@ self.__module = None - self.__shutdownTimerCalled = False + self.__aboutToBeClosedCalled = False self.__parseTimer = QTimer(self) self.__parseTimer.setSingleShot(True) self.__parseTimer.setInterval(5 * 1000) @@ -98,15 +98,17 @@ self.__preferencesChanged ) - def shutdownTimer(self): + def aboutToBeClosed(self): """ - Public method to stop and disconnect the timer. + Public method to stop and disconnect the timer and disconnect some signals. """ self.__parseTimer.stop() - if not self.__shutdownTimerCalled: + if not self.__aboutToBeClosedCalled: self.__editor.textChanged.disconnect(self.__resetParseTimer) self.__editor.refreshed.disconnect(self.__resetParseTimer) - self.__shutdownTimerCalled = True + ericApp().getObject("UserInterface").preferencesChanged.disconnect() + + self.__aboutToBeClosedCalled = True def getEditor(self): """
--- a/src/eric7/ViewManager/ViewManager.py Mon Jan 09 11:22:56 2023 +0100 +++ b/src/eric7/ViewManager/ViewManager.py Tue Jan 10 09:19:32 2023 +0100 @@ -5474,7 +5474,7 @@ fn = editor.getFileName() # remove the window - editor.parent().shutdownTimer() + editor.parent().aboutToBeClosed() self._removeView(editor) self.editors.remove(editor)