Mercurial > octave
changeset 32222:4e73ee829e04
fix crash on exit with Qt 6
* octave-qobject.cc (~base_qobject): do not delete QPointers, but apply
deleteLater on the objects they are pointing to, use deleteLater also
for the bare pointer to the main window
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Sat, 29 Jul 2023 21:37:35 +0200 |
parents | e0dbf8def91c |
children | 592adc6b8901 |
files | libgui/src/octave-qobject.cc |
diffstat | 1 files changed, 9 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/octave-qobject.cc Sat Jul 29 13:42:02 2023 +0200 +++ b/libgui/src/octave-qobject.cc Sat Jul 29 21:37:35 2023 +0200 @@ -362,16 +362,14 @@ m_community_news->close (); } - delete m_terminal_widget; - delete m_documentation_widget; - delete m_file_browser_widget; - delete m_history_widget; - delete m_workspace_widget; - if (m_editor_widget) - delete m_editor_widget; - delete m_variable_editor_widget; - if (m_community_news) - delete m_community_news; + m_terminal_widget.data ()->deleteLater (); + m_documentation_widget.data ()->deleteLater (); + m_file_browser_widget.data ()->deleteLater (); + m_history_widget.data ()->deleteLater (); + m_workspace_widget.data ()->deleteLater (); + m_editor_widget.data ()->deleteLater (); + m_variable_editor_widget.data ()->deleteLater (); + m_community_news.data ()->deleteLater (); delete m_interpreter_qobj; delete m_qsci_tr; @@ -379,8 +377,7 @@ delete m_qt_tr; delete m_workspace_model; - if (m_main_window) - delete m_main_window; + m_main_window->deleteLater (); delete m_qapplication;