From 0c29d1788eae87eb1cba71a70b1facd6ff995eb2 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Sat, 18 Mar 2023 03:28:12 -0400 Subject: [Bugfix] open_plugin_browse() not showing plugins rockbox_browse() overrides the desired dirfilter with global_settings.dirfilter if you aren't using one of the SHOW_ modes > NUM_FILTER_MODES (which come with their own sideeffects) add flag BROWSE_DIRFILTER to override global_settings.dirfilter with browse_context.dirfilter add ability to set tc->browse to NULL to exit dirbrowse immediately Change-Id: I2f40d394f9dc0864b2041293eda219f7436a7bf0 --- apps/tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'apps/tree.c') diff --git a/apps/tree.c b/apps/tree.c index 5dd88c8e9d..b9b257e093 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -652,7 +652,7 @@ static int dirbrowse(void) return GO_TO_PREVIOUS; /* No files found for rockbox_browse() */ } - while(1) { + while(tc.browse) { bool restore = false; if (tc.dirlevel < 0) tc.dirlevel = 0; /* shouldnt be needed.. this code needs work! */ @@ -1018,7 +1018,7 @@ int rockbox_browse(struct browse_context *browse) } else { - if (dirfilter != SHOW_ID3DB) + if (dirfilter != SHOW_ID3DB && (browse->flags & BROWSE_DIRFILTER) == 0) tc.dirfilter = &global_settings.dirfilter; tc.browse = browse; strmemccpy(current, browse->root, MAX_PATH); -- cgit v1.2.3