diff options
author | Fred Bauer <fred.w.bauer@gmail.com> | 2011-10-22 17:13:33 +0000 |
---|---|---|
committer | Fred Bauer <fred.w.bauer@gmail.com> | 2011-10-22 17:13:33 +0000 |
commit | e299eb3ea36cba48875cf35bb1dcc93eaba0d279 (patch) | |
tree | a2d9e853522207fae414d82c9f5e6dba81252ea4 /apps | |
parent | 4d2ab32339fb8e7c02841e52d35498081503d188 (diff) | |
download | rockbox-e299eb3ea36cba48875cf35bb1dcc93eaba0d279.tar.gz rockbox-e299eb3ea36cba48875cf35bb1dcc93eaba0d279.zip |
Add functions font_set_ui() and font_get_ui(). The font returned by FONT_UI used to be fixed at zero but since buflib-fonts (r30589) can be different, depending on the order of loads and unloads. Fixes broken behavoir in virtual keyboard (FS#12336), lyrics player (FS#12306), and hopefully, FS#12337
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30826 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/filetree.c | 5 | ||||
-rw-r--r-- | apps/gui/list.c | 1 | ||||
-rw-r--r-- | apps/settings.c | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/apps/filetree.c b/apps/filetree.c index 59e7343600..2407be9d79 100644 --- a/apps/filetree.c +++ b/apps/filetree.c | |||
@@ -427,7 +427,10 @@ static void ft_load_font(char *file) | |||
427 | current_font_id = global_status.font_id[screen]; | 427 | current_font_id = global_status.font_id[screen]; |
428 | if (current_font_id >= 0) | 428 | if (current_font_id >= 0) |
429 | font_unload(current_font_id); | 429 | font_unload(current_font_id); |
430 | global_status.font_id[screen] = font_load(file); | 430 | current_font_id = font_load(file); |
431 | if(screen==SCREEN_MAIN) | ||
432 | font_set_ui(current_font_id); | ||
433 | global_status.font_id[screen] = current_font_id; | ||
431 | viewportmanager_theme_changed(THEME_UI_VIEWPORT); | 434 | viewportmanager_theme_changed(THEME_UI_VIEWPORT); |
432 | } | 435 | } |
433 | #endif | 436 | #endif |
diff --git a/apps/gui/list.c b/apps/gui/list.c index f875a6559e..4a51bdace4 100644 --- a/apps/gui/list.c +++ b/apps/gui/list.c | |||
@@ -133,6 +133,7 @@ bool list_display_title(struct gui_synclist *list, enum screen_type screen) | |||
133 | static int list_get_nb_lines(struct gui_synclist *list, enum screen_type screen) | 133 | static int list_get_nb_lines(struct gui_synclist *list, enum screen_type screen) |
134 | { | 134 | { |
135 | struct viewport *vp = list->parent[screen]; | 135 | struct viewport *vp = list->parent[screen]; |
136 | vp->line_height = font_get(vp->font)->height; | ||
136 | int lines = skinlist_get_line_count(screen, list); | 137 | int lines = skinlist_get_line_count(screen, list); |
137 | if (lines < 0) | 138 | if (lines < 0) |
138 | { | 139 | { |
diff --git a/apps/settings.c b/apps/settings.c index 21665e0c6a..7142cfb0c6 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -886,6 +886,7 @@ void settings_apply(bool read_disk) | |||
886 | if (global_status.font_id[SCREEN_MAIN] >= 0) | 886 | if (global_status.font_id[SCREEN_MAIN] >= 0) |
887 | font_unload(global_status.font_id[SCREEN_MAIN]); | 887 | font_unload(global_status.font_id[SCREEN_MAIN]); |
888 | rc = font_load(buf); | 888 | rc = font_load(buf); |
889 | font_set_ui(rc); | ||
889 | CHART2("<font_load ", global_settings.font_file); | 890 | CHART2("<font_load ", global_settings.font_file); |
890 | global_status.font_id[SCREEN_MAIN] = rc; | 891 | global_status.font_id[SCREEN_MAIN] = rc; |
891 | lcd_setfont(rc); | 892 | lcd_setfont(rc); |