Mercurial > octave
changeset 31601:132547cc1ab2 stable
don't return invalid settings pointer from resource manager (bug #63437)
* resource-manager.cc (resource_manager::get_settings):
Display message box and exit if m_settings is nullptr.
(resource_manager::get_settings): Likewise, for m_default_settings.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 01 Dec 2022 15:00:07 -0500 |
parents | 50a225732661 |
children | 16fb0e3e6aab 23520a50d74d |
files | libgui/src/resource-manager.cc |
diffstat | 1 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/resource-manager.cc Thu Dec 01 12:50:48 2022 -0500 +++ b/libgui/src/resource-manager.cc Thu Dec 01 15:00:07 2022 -0500 @@ -231,11 +231,37 @@ gui_settings * resource_manager::get_settings (void) const { + if (! m_settings) + { + QString msg (QT_TR_NOOP ("Octave has lost its settings.\n" + "This should not happen.\n\n" + "Please report this bug.\n\n" + "Octave GUI must be closed now.")); + + QMessageBox::critical (nullptr, + QString (QT_TR_NOOP ("Octave Critical Error")), + msg); + exit (1); + } + return m_settings; } gui_settings * resource_manager::get_default_settings (void) const { + if (m_settings) + { + QString msg (QT_TR_NOOP ("Octave has lost its default settings.\n" + "This should not happen.\n" + "Please report this bug.\n\n" + "Octave GUI must be closed now.")); + + QMessageBox::critical (nullptr, + QString (QT_TR_NOOP ("Octave Critical Error")), + msg); + exit (1); + } + return m_default_settings; }