changeset 2017:8e7b06ade815

Prevent user from getting stuck in directories they don't have permission to read in ROM browser
author Michael Pavone <pavone@retrodev.com>
date Sat, 07 Nov 2020 18:27:34 -0800
parents 2d8748e0ccb2
children 193b804c9845
files nuklear_ui/blastem_nuklear.c
diffstat 1 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/nuklear_ui/blastem_nuklear.c	Sat Nov 07 14:19:02 2020 -0800
+++ b/nuklear_ui/blastem_nuklear.c	Sat Nov 07 18:27:34 2020 -0800
@@ -88,6 +88,15 @@
 		if (entries) {
 			sort_dir_list(entries, num_entries);
 		}
+		if (!num_entries) {
+			//get_dir_list can fail if the user doesn't have permission
+			//for the current folder, make sure they can still navigate up
+			free_dir_list(entries, num_entries);
+			entries = calloc(1, sizeof(dir_entry));
+			entries[0].name = strdup("..");
+			entries[0].is_dir = 1;
+			num_entries = 1;
+		}
 	}
 	if (!got_ext_list) {
 		ext_list = get_extension_list(config, &num_exts);