Mercurial > octave
changeset 29447:f526f28f1aa4 stable
fix crash when gui tries to restore missing previous octave dir (bug #60255)
* main-window.cc (handle_octave_ready): test length of current dir list
before accessing the first element, using simplifying value function
from derived gui-settings
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Thu, 18 Mar 2021 21:45:09 +0100 |
parents | 3a27122022f7 |
children | b8704da94c1a 6448a10a642a |
files | libgui/src/main-window.cc |
diffstat | 1 files changed, 5 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/main-window.cc Mon Mar 15 13:41:36 2021 +0100 +++ b/libgui/src/main-window.cc Thu Mar 18 21:45:09 2021 +0100 @@ -1632,22 +1632,19 @@ if (settings) { - if (settings->value (global_restore_ov_dir.key, - global_restore_ov_dir.def).toBool ()) + if (settings->value (global_restore_ov_dir).toBool ()) { // restore last dir from previous session QStringList curr_dirs = settings->value (mw_dir_list).toStringList (); - startup_dir - = QDir (curr_dirs.at (0)); // last dir in previous session + if (curr_dirs.length () > 0) + startup_dir = QDir (curr_dirs.at (0)); // last dir prev. session } - else if (! settings->value (global_ov_startup_dir.key, - global_ov_startup_dir.def).toString ().isEmpty ()) + else if (! settings->value (global_ov_startup_dir).toString ().isEmpty ()) { // do not restore but there is a startup dir configured startup_dir - = QDir (settings->value (global_ov_startup_dir.key, - global_ov_startup_dir.def).toString ()); + = QDir (settings->value (global_ov_startup_dir).toString ()); } update_default_encoding (settings->value (ed_default_enc).toString ());