comparison libgui/src/resource-manager.cc @ 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 b77b321f1ac5
children c2a0e546aab1
comparison
equal deleted inserted replaced
31599:50a225732661 31601:132547cc1ab2
229 m_icon_fallbacks << global_icon_paths.at (ICON_THEME_CURSORS); 229 m_icon_fallbacks << global_icon_paths.at (ICON_THEME_CURSORS);
230 } 230 }
231 231
232 gui_settings * resource_manager::get_settings (void) const 232 gui_settings * resource_manager::get_settings (void) const
233 { 233 {
234 if (! m_settings)
235 {
236 QString msg (QT_TR_NOOP ("Octave has lost its settings.\n"
237 "This should not happen.\n\n"
238 "Please report this bug.\n\n"
239 "Octave GUI must be closed now."));
240
241 QMessageBox::critical (nullptr,
242 QString (QT_TR_NOOP ("Octave Critical Error")),
243 msg);
244 exit (1);
245 }
246
234 return m_settings; 247 return m_settings;
235 } 248 }
236 249
237 gui_settings * resource_manager::get_default_settings (void) const 250 gui_settings * resource_manager::get_default_settings (void) const
238 { 251 {
252 if (m_settings)
253 {
254 QString msg (QT_TR_NOOP ("Octave has lost its default settings.\n"
255 "This should not happen.\n"
256 "Please report this bug.\n\n"
257 "Octave GUI must be closed now."));
258
259 QMessageBox::critical (nullptr,
260 QString (QT_TR_NOOP ("Octave Critical Error")),
261 msg);
262 exit (1);
263 }
264
239 return m_default_settings; 265 return m_default_settings;
240 } 266 }
241 267
242 QString resource_manager::get_settings_directory (void) 268 QString resource_manager::get_settings_directory (void)
243 { 269 {