Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

: [bugfix,bugfix] ensure PREVIOUS tree_context dirfilter is restored on plugin exit

Change-Id: I521e8d660ca76744f5452643578c2f7e5651b870

+6 -4
+6 -4
apps/plugin.c
··· 949 949 push_current_activity(ACTIVITY_PLUGIN); 950 950 /* some plugins assume the entry cache doesn't move and save pointers to it 951 951 * they should be fixed properly instead of this lock */ 952 - tree_lock_cache(tree_get_context()); 952 + struct tree_context *tc = tree_get_context(); 953 + tree_lock_cache(tc); 954 + int *last_dirfilter_p = tc->dirfilter; /* store incoming dirfilter pointer */ 953 955 954 956 if (!theme_enabled) 955 957 FOR_NB_SCREENS(i) ··· 965 967 966 968 plugin_check_open_close__enter(); 967 969 968 - int rc = p_hdr->entry_point(parameter); 970 + int rc = p_hdr->entry_point(parameter); /* run the loaded plugin */ 969 971 970 - struct tree_context *tc = tree_get_context(); 972 + /* unlock the tree and restore the dirfilter pointer */ 971 973 tree_unlock_cache(tc); 972 - tc->dirfilter = &global_settings.dirfilter; 974 + tc->dirfilter = last_dirfilter_p; 973 975 974 976 pop_current_activity_without_refresh(); 975 977 if (get_current_activity() != ACTIVITY_WPS)