diff options
author | Christian Soffke <christian.soffke@gmail.com> | 2022-12-05 20:05:15 +0100 |
---|---|---|
committer | Christian Soffke <christian.soffke@gmail.com> | 2022-12-08 00:38:59 -0500 |
commit | 66a411a1ba6d3668b002760ce2d26bca42db894f (patch) | |
tree | 6af403e9a03c3785f805be1d2600a806ceb61bae /apps/tree.h | |
parent | a9a284c1a09f960a307d5eb9bcb9f4e92a1e7747 (diff) | |
download | rockbox-66a411a1ba6d3668b002760ce2d26bca42db894f.tar.gz rockbox-66a411a1ba6d3668b002760ce2d26bca42db894f.zip |
Tree / Playlist Viewer / Menu: Fix redraw issues
1) Tree_lists was only initialized when booting the player.
In cases where a skin used custom UI viewports of
different sizes, when switching between screens, such as
between root menu, QuickScreen, and tree browser, this
caused list titles to appear with a significant delay,
unless a GUI_EVENT_ACTIONUPDATE was sent.
Tree_lists is now initialized when entering dirbrowse
or when restoring/reloading the list.
This eliminates multiple redundant UI refreshes when
entering the tree browser, due to gui_synclist_draw not
being called twice anymore and by being able to omit
GUI_EVENT_ACTIONUPDATE.
Separate calls to gui_synclist_init_display_settings
have become unnecessary since it is already called
by gui_synclist_init.
2) The synclist is also re-initialized when returning
from the QuickScreen in the Playlist Viewer or
regular menus, or when returning from Settings
menus
Change-Id: I2884249eda55f782e97abad9dc19b3d9d1267fc9
Diffstat (limited to 'apps/tree.h')
-rw-r--r-- | apps/tree.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/apps/tree.h b/apps/tree.h index 56fdb2e0bb..bb9ff87163 100644 --- a/apps/tree.h +++ b/apps/tree.h | |||
@@ -102,7 +102,7 @@ struct entry* tree_get_entries(struct tree_context *t); | |||
102 | struct entry* tree_get_entry_at(struct tree_context *t, int index); | 102 | struct entry* tree_get_entry_at(struct tree_context *t, int index); |
103 | 103 | ||
104 | void tree_mem_init(void) INIT_ATTR; | 104 | void tree_mem_init(void) INIT_ATTR; |
105 | void tree_gui_init(void) INIT_ATTR; | 105 | void tree_init(void) INIT_ATTR; |
106 | char* get_current_file(char* buffer, size_t buffer_len); | 106 | char* get_current_file(char* buffer, size_t buffer_len); |
107 | void set_dirfilter(int l_dirfilter); | 107 | void set_dirfilter(int l_dirfilter); |
108 | void set_current_file(const char *path); | 108 | void set_current_file(const char *path); |
@@ -133,5 +133,4 @@ void tree_restore(void); | |||
133 | bool bookmark_play(char* resume_file, int index, unsigned long elapsed, | 133 | bool bookmark_play(char* resume_file, int index, unsigned long elapsed, |
134 | unsigned long offset, int seed, char *filename); | 134 | unsigned long offset, int seed, char *filename); |
135 | 135 | ||
136 | extern struct gui_synclist tree_lists; | ||
137 | #endif | 136 | #endif |