diff options
author | Christian Soffke <christian.soffke@gmail.com> | 2021-12-27 22:28:41 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-12-28 10:57:13 -0500 |
commit | 7d59bbd170454cf433a8214808d09fb58f3489d2 (patch) | |
tree | 2507d1a51119162fd0c24ef69bff64a9278744b8 /apps/tagtree.c | |
parent | 96cfe329a612a8da5878f7bc20f2d645b30553a3 (diff) | |
download | rockbox-7d59bbd170454cf433a8214808d09fb58f3489d2.tar.gz rockbox-7d59bbd170454cf433a8214808d09fb58f3489d2.zip |
Database: Fix selection being reset
Consistent with (preferable) behavior of file browser
after selecting an item for playback
Change-Id: I45a72f6d743fd70c301f9d5de0f8a2a02157b2c6
Diffstat (limited to 'apps/tagtree.c')
-rw-r--r-- | apps/tagtree.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/apps/tagtree.c b/apps/tagtree.c index 74f0021d6a..696ba81487 100644 --- a/apps/tagtree.c +++ b/apps/tagtree.c | |||
@@ -1846,6 +1846,8 @@ int tagtree_enter(struct tree_context* c) | |||
1846 | tree_lock_cache(c); | 1846 | tree_lock_cache(c); |
1847 | tagtree_lock(); | 1847 | tagtree_lock(); |
1848 | 1848 | ||
1849 | bool reset_selection = true; | ||
1850 | |||
1849 | switch (c->currtable) { | 1851 | switch (c->currtable) { |
1850 | case ROOT: | 1852 | case ROOT: |
1851 | c->currextra = newextra; | 1853 | c->currextra = newextra; |
@@ -1931,6 +1933,8 @@ int tagtree_enter(struct tree_context* c) | |||
1931 | case ALLSUBENTRIES: | 1933 | case ALLSUBENTRIES: |
1932 | if (newextra == PLAYTRACK) | 1934 | if (newextra == PLAYTRACK) |
1933 | { | 1935 | { |
1936 | reset_selection = false; | ||
1937 | |||
1934 | if (global_settings.party_mode && audio_status()) { | 1938 | if (global_settings.party_mode && audio_status()) { |
1935 | splash(HZ, ID2P(LANG_PARTY_MODE)); | 1939 | splash(HZ, ID2P(LANG_PARTY_MODE)); |
1936 | break; | 1940 | break; |
@@ -1962,9 +1966,12 @@ int tagtree_enter(struct tree_context* c) | |||
1962 | break; | 1966 | break; |
1963 | } | 1967 | } |
1964 | 1968 | ||
1969 | if (reset_selection) | ||
1970 | { | ||
1971 | c->selected_item=0; | ||
1972 | gui_synclist_select_item(&tree_lists, c->selected_item); | ||
1973 | } | ||
1965 | 1974 | ||
1966 | c->selected_item=0; | ||
1967 | gui_synclist_select_item(&tree_lists, c->selected_item); | ||
1968 | tree_unlock_cache(c); | 1975 | tree_unlock_cache(c); |
1969 | tagtree_unlock(); | 1976 | tagtree_unlock(); |
1970 | 1977 | ||