Mercurial > octave
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 { |