Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

shortcuts.c don't call settings_apply_skins() unless needed

Add F_NEEDAPPLY if F_THEMESETTING requires a call to settings_apply_skins()

Change-Id: Ied1bf7b2c4fb2e07bf1f54076e647bdc0844037a

+21 -20
+1
apps/settings.c
··· 1385 1385 SETTINGFLAGS(F_RECSETTING); 1386 1386 SETTINGFLAGS(F_EQSETTING); 1387 1387 SETTINGFLAGS(F_SOUNDSETTING); 1388 + SETTINGFLAGS(F_NEEDAPPLY); 1388 1389 SETTINGFLAGS(F_CHOICE_SETTING); 1389 1390 SETTINGFLAGS(F_CHOICETALKS); 1390 1391 SETTINGFLAGS(F_TABLE_SETTING);
+17 -17
apps/settings_list.c
··· 213 213 {load_from_cfg, write_to_cfg, is_change, set_default}}}} 214 214 215 215 #define VIEWPORT_SETTING(var,name) \ 216 - TEXT_SETTING(F_THEMESETTING,var,name,"-", NULL, NULL) 216 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY,var,name,"-", NULL, NULL) 217 217 218 218 /* some sets of values which are used more than once, to save memory */ 219 219 static const char off[] = "off"; ··· 1080 1080 ID2P(LANG_INVERT_CURSOR_POINTER), 1081 1081 ID2P(LANG_INVERT_CURSOR_BAR)), 1082 1082 #endif 1083 - CHOICE_SETTING(F_THEMESETTING|F_TEMPVAR, statusbar, 1083 + CHOICE_SETTING(F_THEMESETTING|F_TEMPVAR|F_NEEDAPPLY, statusbar, 1084 1084 LANG_STATUS_BAR, STATUSBAR_TOP, "statusbar","off,top,bottom", 1085 1085 NULL, 3, ID2P(LANG_OFF), ID2P(LANG_STATUSBAR_TOP), 1086 1086 ID2P(LANG_STATUSBAR_BOTTOM)), 1087 1087 #ifdef HAVE_REMOTE_LCD 1088 - CHOICE_SETTING(F_THEMESETTING|F_TEMPVAR, remote_statusbar, 1088 + CHOICE_SETTING(F_THEMESETTING|F_TEMPVAR|F_NEEDAPPLY, remote_statusbar, 1089 1089 LANG_REMOTE_STATUSBAR, STATUSBAR_TOP, "remote statusbar","off,top,bottom", 1090 1090 NULL, 3, ID2P(LANG_OFF), ID2P(LANG_STATUSBAR_TOP), 1091 1091 ID2P(LANG_STATUSBAR_BOTTOM)), ··· 1969 1969 #if CONFIG_TUNER 1970 1970 TEXT_SETTING(0, fmr_file, "fmr", "-", 1971 1971 FMPRESET_PATH "/", ".fmr"), 1972 - TEXT_SETTING(F_THEMESETTING,fms_file, "fms", 1972 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY,fms_file, "fms", 1973 1973 DEFAULT_FMS_NAME, SBS_DIR "/", ".fms"), 1974 1974 #ifdef HAVE_REMOTE_LCD 1975 - TEXT_SETTING(F_THEMESETTING,rfms_file, "rfms", 1975 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY,rfms_file, "rfms", 1976 1976 DEFAULT_FMS_NAME, SBS_DIR "/", ".rfms"), 1977 1977 #endif 1978 1978 #endif /* CONFIG_TUNER */ 1979 - TEXT_SETTING(F_THEMESETTING, font_file, "font", 1979 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY, font_file, "font", 1980 1980 DEFAULT_FONTNAME, FONT_DIR "/", ".fnt"), 1981 1981 INT_SETTING(0, glyphs_to_cache, LANG_GLYPHS, DEFAULT_GLYPHS, 1982 1982 "glyphs", UNIT_INT, MIN_GLYPHS, MAX_GLYPHS, 10, 1983 1983 NULL, NULL, NULL), 1984 1984 #ifdef HAVE_REMOTE_LCD 1985 - TEXT_SETTING(F_THEMESETTING, remote_font_file, "remote font", 1985 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY, remote_font_file, "remote font", 1986 1986 DEFAULT_REMOTE_FONTNAME, FONT_DIR "/", ".fnt"), 1987 1987 #endif 1988 - TEXT_SETTING(F_THEMESETTING,wps_file, "wps", 1988 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY,wps_file, "wps", 1989 1989 DEFAULT_WPSNAME, WPS_DIR "/", ".wps"), 1990 - TEXT_SETTING(F_THEMESETTING,sbs_file, "sbs", 1990 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY,sbs_file, "sbs", 1991 1991 DEFAULT_SBSNAME, SBS_DIR "/", ".sbs"), 1992 1992 #ifdef HAVE_REMOTE_LCD 1993 - TEXT_SETTING(F_THEMESETTING,rwps_file,"rwps", 1993 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY,rwps_file,"rwps", 1994 1994 DEFAULT_WPSNAME, WPS_DIR "/", ".rwps"), 1995 - TEXT_SETTING(F_THEMESETTING,rsbs_file, "rsbs", 1995 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY,rsbs_file, "rsbs", 1996 1996 DEFAULT_SBSNAME, SBS_DIR "/", ".rsbs"), 1997 1997 #endif 1998 1998 TEXT_SETTING(0,lang_file,"lang","",LANG_DIR "/",".lng"), 1999 1999 #if LCD_DEPTH > 1 2000 - TEXT_SETTING(F_THEMESETTING,backdrop_file,"backdrop", 2000 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY,backdrop_file,"backdrop", 2001 2001 DEFAULT_BACKDROP, NULL, NULL), 2002 2002 #endif 2003 2003 TEXT_SETTING(0,kbd_file,"kbd","-",ROCKBOX_DIR "/",".kbd"), ··· 2061 2061 #endif /* HAVE_RTC_ALARM */ 2062 2062 2063 2063 /* Customizable icons */ 2064 - TEXT_SETTING(F_THEMESETTING, icon_file, "iconset", DEFAULT_ICONSET, 2064 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY, icon_file, "iconset", DEFAULT_ICONSET, 2065 2065 ICON_DIR "/", ".bmp"), 2066 - TEXT_SETTING(F_THEMESETTING, viewers_icon_file, "viewers iconset", 2066 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY, viewers_icon_file, "viewers iconset", 2067 2067 DEFAULT_VIEWERS_ICONSET, 2068 2068 ICON_DIR "/", ".bmp"), 2069 2069 #ifdef HAVE_REMOTE_LCD 2070 - TEXT_SETTING(F_THEMESETTING, remote_icon_file, "remote iconset", "-", 2070 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY, remote_icon_file, "remote iconset", "-", 2071 2071 ICON_DIR "/", ".bmp"), 2072 - TEXT_SETTING(F_THEMESETTING, remote_viewers_icon_file, 2072 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY, remote_viewers_icon_file, 2073 2073 "remote viewers iconset", "-", 2074 2074 ICON_DIR "/", ".bmp"), 2075 2075 #endif /* HAVE_REMOTE_LCD */ 2076 2076 #ifdef HAVE_LCD_COLOR 2077 - TEXT_SETTING(F_THEMESETTING, colors_file, "filetype colours", "-", 2077 + TEXT_SETTING(F_THEMESETTING|F_NEEDAPPLY, colors_file, "filetype colours", "-", 2078 2078 THEME_DIR "/", ".colours"), 2079 2079 #endif 2080 2080 #ifdef HAVE_BUTTON_LIGHT
+1 -1
apps/settings_list.h
··· 158 158 #define F_RECSETTING 0x1000000 159 159 #define F_EQSETTING 0x2000000 160 160 #define F_SOUNDSETTING 0x4000000 161 - /*#define _AVAILABLE_ 0x8000000*/ 161 + #define F_NEEDAPPLY 0x8000000 /*F_THEMESETTING needs apply to effect setting change*/ 162 162 #define F_CB_ON_SELECT_ONLY 0x10000000 /* option_callback only called if selected */ 163 163 #define F_CB_ONLY_IF_CHANGED 0x20000000 /* option_callback only called if setting changed */ 164 164
+2 -2
apps/shortcuts.c
··· 697 697 static void apply_new_setting(const struct settings_list *setting) 698 698 { 699 699 settings_apply(false); 700 - if (setting->flags & F_THEMESETTING) 700 + if ((setting->flags & (F_THEMESETTING|F_NEEDAPPLY)) == (F_THEMESETTING|F_NEEDAPPLY)) 701 701 { 702 - settings_apply_skins(); 702 + settings_apply_skins(); 703 703 } 704 704 if (setting->setting == &global_settings.sleeptimer_duration && get_sleep_timer()) 705 705 {