# HG changeset patch # User John W. Eaton # Date 1669924807 18000 # Node ID 132547cc1ab25d3b0aeb3f22597ad86907f46b9e # Parent 50a22573266176b346523f37c8311afe05deeab5 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. diff -r 50a225732661 -r 132547cc1ab2 libgui/src/resource-manager.cc --- 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; }