summaryrefslogtreecommitdiff
path: root/apps/main.c
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2022-12-05 20:05:15 +0100
committerChristian Soffke <christian.soffke@gmail.com>2022-12-08 00:38:59 -0500
commit66a411a1ba6d3668b002760ce2d26bca42db894f (patch)
tree6af403e9a03c3785f805be1d2600a806ceb61bae /apps/main.c
parenta9a284c1a09f960a307d5eb9bcb9f4e92a1e7747 (diff)
downloadrockbox-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/main.c')
-rw-r--r--apps/main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/apps/main.c b/apps/main.c
index f86d91e42e..8cf202243c 100644
--- a/apps/main.c
+++ b/apps/main.c
@@ -167,7 +167,7 @@ int main(void)
167 screens[i].update(); 167 screens[i].update();
168 } 168 }
169 list_init(); 169 list_init();
170 tree_gui_init(); 170 tree_init();
171 /* Keep the order of this 3 171 /* Keep the order of this 3
172 * Must be done before any code uses the multi-screen API */ 172 * Must be done before any code uses the multi-screen API */
173#ifdef HAVE_USBSTACK 173#ifdef HAVE_USBSTACK