changeset 32211:29f761f24ab0

fix crash on exit with Qt 6 * octave-qobject.cc (base_qobject::~base_qobject): delete main-window after all dock widgets, delete editor and community news widgets only if they are exisiting
author Torsten Lilge <ttl-octave@mailbox.org>
date Sun, 23 Jul 2023 21:36:41 +0200
parents 20c84bfef1af
children c8f41f5a803f
files libgui/src/octave-qobject.cc
diffstat 1 files changed, 8 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/octave-qobject.cc	Thu Jul 20 09:26:05 2023 +0200
+++ b/libgui/src/octave-qobject.cc	Sun Jul 23 21:36:41 2023 +0200
@@ -361,26 +361,27 @@
       if (m_community_news)
         m_community_news->close ();
     }
-  else
-    {
-      delete m_main_window;
-    }
 
   delete m_terminal_widget;
   delete m_documentation_widget;
   delete m_file_browser_widget;
   delete m_history_widget;
   delete m_workspace_widget;
-  delete m_editor_widget;
+  if (m_editor_widget)
+    delete m_editor_widget;
   delete m_variable_editor_widget;
-  delete m_community_news;
+  if (m_community_news)
+    delete m_community_news;
 
   delete m_interpreter_qobj;
   delete m_qsci_tr;
   delete m_gui_tr;
   delete m_qt_tr;
+  delete m_workspace_model;
+
+  delete m_main_window;
+
   delete m_qapplication;
-  delete m_workspace_model;
 
   string_vector::delete_c_str_vec (m_argv);
 }