summaryrefslogtreecommitdiff
path: root/apps/tagtree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tagtree.c')
-rw-r--r--apps/tagtree.c11
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