diff options
author | William Wilgus <wilgus.william@gmail.com> | 2023-03-18 03:28:12 -0400 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2023-03-18 04:23:43 -0400 |
commit | 0c29d1788eae87eb1cba71a70b1facd6ff995eb2 (patch) | |
tree | 41c6ee7bf65920304b850878ccbe06bbf27bbb23 /apps/tree.c | |
parent | b6d04d1ac0b52f19aea8b5efe10bbe921dbc60d2 (diff) | |
download | rockbox-0c29d1788eae87eb1cba71a70b1facd6ff995eb2.tar.gz rockbox-0c29d1788eae87eb1cba71a70b1facd6ff995eb2.zip |
[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
Diffstat (limited to 'apps/tree.c')
-rw-r--r-- | apps/tree.c | 4 |
1 files changed, 2 insertions, 2 deletions
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) | |||
652 | return GO_TO_PREVIOUS; /* No files found for rockbox_browse() */ | 652 | return GO_TO_PREVIOUS; /* No files found for rockbox_browse() */ |
653 | } | 653 | } |
654 | 654 | ||
655 | while(1) { | 655 | while(tc.browse) { |
656 | bool restore = false; | 656 | bool restore = false; |
657 | if (tc.dirlevel < 0) | 657 | if (tc.dirlevel < 0) |
658 | tc.dirlevel = 0; /* shouldnt be needed.. this code needs work! */ | 658 | tc.dirlevel = 0; /* shouldnt be needed.. this code needs work! */ |
@@ -1018,7 +1018,7 @@ int rockbox_browse(struct browse_context *browse) | |||
1018 | } | 1018 | } |
1019 | else | 1019 | else |
1020 | { | 1020 | { |
1021 | if (dirfilter != SHOW_ID3DB) | 1021 | if (dirfilter != SHOW_ID3DB && (browse->flags & BROWSE_DIRFILTER) == 0) |
1022 | tc.dirfilter = &global_settings.dirfilter; | 1022 | tc.dirfilter = &global_settings.dirfilter; |
1023 | tc.browse = browse; | 1023 | tc.browse = browse; |
1024 | strmemccpy(current, browse->root, MAX_PATH); | 1024 | strmemccpy(current, browse->root, MAX_PATH); |