summaryrefslogtreecommitdiff
path: root/apps/tree.c
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2023-03-18 03:28:12 -0400
committerWilliam Wilgus <wilgus.william@gmail.com>2023-03-18 04:23:43 -0400
commit0c29d1788eae87eb1cba71a70b1facd6ff995eb2 (patch)
tree41c6ee7bf65920304b850878ccbe06bbf27bbb23 /apps/tree.c
parentb6d04d1ac0b52f19aea8b5efe10bbe921dbc60d2 (diff)
downloadrockbox-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.c4
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);