diff options
author | Christian Soffke <christian.soffke@gmail.com> | 2021-12-20 20:12:03 +0100 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2022-02-06 11:20:34 -0500 |
commit | 8d453ae9c3beef82bd61401af6216f74a400cbd0 (patch) | |
tree | 872bdc0769be213eceec8bb8548cf522ebb6629b | |
parent | 04cbb3c7e4a79a6c06ad3cd585b8f0a54a8d0714 (diff) | |
download | rockbox-8d453ae9c3.tar.gz rockbox-8d453ae9c3.zip |
Fix glitches with custom list title viewports
Elements were not being drawn correctly or
title text appeared delayed in several places
when using themes with a custom viewport
for list titles.
E.g.:
- after deleting a shortcut
- when returning from a warning screen in
Playlist Viewer
- returning to some Settings screens
- in "Playing time" screen
Change-Id: I8ab07a31d4b6f290e089ecd7857f43ec195a06e0
-rw-r--r-- | apps/menu.c | 2 | ||||
-rw-r--r-- | apps/onplay.c | 1 | ||||
-rw-r--r-- | apps/playlist_viewer.c | 2 | ||||
-rw-r--r-- | apps/shortcuts.c | 4 |
4 files changed, 9 insertions, 0 deletions
diff --git a/apps/menu.c b/apps/menu.c index 802a16bbb8..ab5578dede 100644 --- a/apps/menu.c +++ b/apps/menu.c @@ -738,6 +738,8 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected, if (menu_callback(ACTION_REDRAW, menu, &lists) != ACTION_REDRAW) continue; + + gui_synclist_set_title(&lists, lists.title, lists.title_icon); gui_synclist_draw(&lists); gui_synclist_speak_item(&lists); } diff --git a/apps/onplay.c b/apps/onplay.c index 61ef8acad5..ee183450fa 100644 --- a/apps/onplay.c +++ b/apps/onplay.c @@ -425,6 +425,7 @@ static bool playing_time(void) if (global_settings.talk_menu) gui_synclist_set_voice_callback(&pt_lists, playing_time_speak_info); gui_synclist_set_nb_items(&pt_lists, 8); + gui_synclist_set_title(&pt_lists, str(LANG_PLAYING_TIME), NOICON); gui_synclist_draw(&pt_lists); gui_synclist_speak_item(&pt_lists); while (true) { diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c index b0f30ea8a1..6ebac1cb41 100644 --- a/apps/playlist_viewer.c +++ b/apps/playlist_viewer.c @@ -826,6 +826,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) int start_index = current_track->index; if (!warn_on_pl_erase()) { + gui_synclist_set_title(&playlist_lists, playlist_lists.title, playlist_lists.title_icon); gui_synclist_draw(&playlist_lists); break; } @@ -875,6 +876,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) gui_synclist_set_icon_callback(&playlist_lists, global_settings.playlist_viewer_icons? &playlist_callback_icons:NULL); + gui_synclist_set_title(&playlist_lists, playlist_lists.title, playlist_lists.title_icon); gui_synclist_draw(&playlist_lists); gui_synclist_speak_item(&playlist_lists); break; diff --git a/apps/shortcuts.c b/apps/shortcuts.c index 9f042a926a..f573d6fe4e 100644 --- a/apps/shortcuts.c +++ b/apps/shortcuts.c @@ -451,10 +451,14 @@ static int shortcut_menu_get_action(int action, struct gui_synclist *lists) int selection = gui_synclist_get_sel_pos(lists); if (!yesno_pop(ID2P(LANG_REALLY_DELETE))) + { + gui_synclist_set_title(lists, lists->title, lists->title_icon); return ACTION_REDRAW; + } remove_shortcut(selection); gui_synclist_set_nb_items(lists, shortcut_count); + gui_synclist_set_title(lists, lists->title, lists->title_icon); if (selection >= shortcut_count) gui_synclist_select_item(lists, shortcut_count - 1); first_idx_to_writeback = 0; |