changeset 29755:23cf249a0ad8

explicitly close all dock widgets in base_qobject destructor (bug #60646) * octave-qobject.cc (base_qobject::~base_qobject): Call close for all dock widgets.
author John W. Eaton <jwe@octave.org>
date Mon, 14 Jun 2021 12:50:19 -0400
parents 4c569e386e9b
children 7db4a4e94556
files libgui/src/octave-qobject.cc
diffstat 1 files changed, 20 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/octave-qobject.cc	Mon Jun 14 12:39:51 2021 -0400
+++ b/libgui/src/octave-qobject.cc	Mon Jun 14 12:50:19 2021 -0400
@@ -306,8 +306,27 @@
     // deleteLater slot that is called when the m_main_thread issues a
     // finished signal.
 
+    // Calling close will cause settings to be saved. 
+
+    if (m_documentation_widget)
+      m_documentation_widget->close ();
+
+    if (m_file_browser_widget)
+      m_file_browser_widget->close ();
+
+    if (m_history_widget)
+      m_history_widget->close ();
+
+    if (m_workspace_widget)
+      m_workspace_widget->close ();
+
+    if (m_editor_widget)
+      m_editor_widget->close ();
+
+    if (m_variable_editor_widget)
+      m_variable_editor_widget->close ();
+
     delete m_main_window;
-
     delete m_documentation_widget;
     delete m_file_browser_widget;
     delete m_history_widget;