summaryrefslogtreecommitdiff
path: root/apps/tagtree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tagtree.c')
-rw-r--r--apps/tagtree.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/tagtree.c b/apps/tagtree.c
index 7887ee1c36..03af5fc83a 100644
--- a/apps/tagtree.c
+++ b/apps/tagtree.c
@@ -2035,12 +2035,16 @@ int tagtree_enter(struct tree_context* c, bool is_visible)
2035void tagtree_exit(struct tree_context* c, bool is_visible) 2035void tagtree_exit(struct tree_context* c, bool is_visible)
2036{ 2036{
2037 if (is_visible) /* update selection history only for user-selected items */ 2037 if (is_visible) /* update selection history only for user-selected items */
2038 {
2039 if (c->selected_item != selected_item_history[c->dirlevel])
2040 max_history_level = c->dirlevel; /* discard descending item history */
2038 selected_item_history[c->dirlevel] = c->selected_item; 2041 selected_item_history[c->dirlevel] = c->selected_item;
2042 }
2039 c->dirfull = false; 2043 c->dirfull = false;
2040 if (c->dirlevel > 0) 2044 if (c->dirlevel > 0)
2041 c->dirlevel--; 2045 c->dirlevel--;
2042 if (is_visible) 2046 if (is_visible)
2043 c->selected_item=selected_item_history[c->dirlevel]; 2047 c->selected_item = selected_item_history[c->dirlevel];
2044 c->currtable = table_history[c->dirlevel]; 2048 c->currtable = table_history[c->dirlevel];
2045 c->currextra = extra_history[c->dirlevel]; 2049 c->currextra = extra_history[c->dirlevel];
2046} 2050}