summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2021-12-20 20:12:03 +0100
committerWilliam Wilgus <me.theuser@yahoo.com>2022-02-06 11:20:34 -0500
commit8d453ae9c3beef82bd61401af6216f74a400cbd0 (patch)
tree872bdc0769be213eceec8bb8548cf522ebb6629b
parent04cbb3c7e4a79a6c06ad3cd585b8f0a54a8d0714 (diff)
downloadrockbox-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.c2
-rw-r--r--apps/onplay.c1
-rw-r--r--apps/playlist_viewer.c2
-rw-r--r--apps/shortcuts.c4
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;