summaryrefslogtreecommitdiff
path: root/apps/settings.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings.c')
-rw-r--r--apps/settings.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/apps/settings.c b/apps/settings.c
index 7142cfb0c6..fbfa438ab5 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -876,37 +876,38 @@ void settings_apply(bool read_disk)
876 /* fonts need to be loaded before the WPS */ 876 /* fonts need to be loaded before the WPS */
877 if (global_settings.font_file[0] 877 if (global_settings.font_file[0]
878 && global_settings.font_file[0] != '-') { 878 && global_settings.font_file[0] != '-') {
879 const char* loaded_font = font_filename(global_status.font_id[SCREEN_MAIN]); 879 int font_ui = screens[SCREEN_MAIN].getuifont();
880 const char* loaded_font = font_filename(font_ui);
880 881
881 snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt", 882 snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt",
882 global_settings.font_file); 883 global_settings.font_file);
883 if (!loaded_font || strcmp(loaded_font, buf)) 884 if (!loaded_font || strcmp(loaded_font, buf))
884 { 885 {
885 CHART2(">font_load ", global_settings.font_file); 886 CHART2(">font_load ", global_settings.font_file);
886 if (global_status.font_id[SCREEN_MAIN] >= 0) 887 if (font_ui >= 0)
887 font_unload(global_status.font_id[SCREEN_MAIN]); 888 font_unload(font_ui);
888 rc = font_load(buf); 889 rc = font_load(buf);
889 font_set_ui(rc);
890 CHART2("<font_load ", global_settings.font_file); 890 CHART2("<font_load ", global_settings.font_file);
891 global_status.font_id[SCREEN_MAIN] = rc; 891 screens[SCREEN_MAIN].setuifont(rc);
892 lcd_setfont(rc); 892 screens[SCREEN_MAIN].setfont(rc);
893 } 893 }
894 } 894 }
895#ifdef HAVE_REMOTE_LCD 895#ifdef HAVE_REMOTE_LCD
896 if ( global_settings.remote_font_file[0] 896 if ( global_settings.remote_font_file[0]
897 && global_settings.remote_font_file[0] != '-') { 897 && global_settings.remote_font_file[0] != '-') {
898 const char* loaded_font = font_filename(global_status.font_id[SCREEN_REMOTE]); 898 int font_ui = screens[SCREEN_REMOTE].getuifont();
899 const char* loaded_font = font_filename(font_ui);
899 snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt", 900 snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt",
900 global_settings.remote_font_file); 901 global_settings.remote_font_file);
901 if (!loaded_font || strcmp(loaded_font, buf)) 902 if (!loaded_font || strcmp(loaded_font, buf))
902 { 903 {
903 CHART2(">font_load_remoteui ", global_settings.remote_font_file); 904 CHART2(">font_load_remoteui ", global_settings.remote_font_file);
904 if (global_status.font_id[SCREEN_REMOTE] >= 0) 905 if (font_ui >= 0)
905 font_unload(global_status.font_id[SCREEN_REMOTE]); 906 font_unload(font_ui);
906 rc = font_load(buf); 907 rc = font_load(buf);
907 CHART2("<font_load_remoteui ", global_settings.remote_font_file); 908 CHART2("<font_load_remoteui ", global_settings.remote_font_file);
908 global_status.font_id[SCREEN_REMOTE] = rc; 909 screens[SCREEN_REMOTE].setuifont(rc);
909 lcd_remote_setfont(rc); 910 screens[SCREEN_REMOTE].setfont(rc);
910 } 911 }
911 } 912 }
912#endif 913#endif
@@ -1076,10 +1077,11 @@ void settings_reset(void)
1076#ifdef HAVE_LCD_BITMAP 1077#ifdef HAVE_LCD_BITMAP
1077 FOR_NB_SCREENS(i) 1078 FOR_NB_SCREENS(i)
1078 { 1079 {
1079 if (global_status.font_id[i] > FONT_SYSFIXED) 1080 if (screens[i].getuifont() > FONT_SYSFIXED)
1080 { 1081 {
1081 font_unload(global_status.font_id[i]); 1082 font_unload(screens[i].getuifont());
1082 global_status.font_id[i] = FONT_SYSFIXED; 1083 screens[i].setuifont(FONT_SYSFIXED);
1084 screens[i].setfont(FONT_SYSFIXED);
1083 } 1085 }
1084 } 1086 }
1085#endif 1087#endif