summaryrefslogtreecommitdiff
path: root/riscos
diff options
context:
space:
mode:
Diffstat (limited to 'riscos')
-rw-r--r--riscos/theme.c5
-rw-r--r--riscos/theme_install.c5
2 files changed, 7 insertions, 3 deletions
diff --git a/riscos/theme.c b/riscos/theme.c
index 7b34641be..aab6785d5 100644
--- a/riscos/theme.c
+++ b/riscos/theme.c
@@ -146,6 +146,11 @@ struct theme_descriptor *ro_gui_theme_find(const char *leafname) {
descriptor = descriptor->next)
if (!strcmp(leafname, descriptor->leafname))
return descriptor;
+ /* fallback for 10 chars on old filesystems */
+ for (descriptor = theme_descriptors; descriptor;
+ descriptor = descriptor->next)
+ if (!strncmp(leafname, descriptor->leafname, 10))
+ return descriptor;
return NULL;
}
diff --git a/riscos/theme_install.c b/riscos/theme_install.c
index 583e67c30..93ef0a97d 100644
--- a/riscos/theme_install.c
+++ b/riscos/theme_install.c
@@ -257,11 +257,10 @@ void theme_install_install(bool apply)
warn_user("ThemeApplyErr", 0);
} else {
free(option_theme);
- option_theme = theme_file;
+ option_theme = strdup(theme_install->leafname);
}
- } else {
- free(theme_file);
}
+ free(theme_file);
}