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 ());