summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/menus/main_menu.c1
-rw-r--r--apps/settings.c8
-rw-r--r--apps/settings.h2
3 files changed, 5 insertions, 6 deletions
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c
index d756d98591..7c2e87c410 100644
--- a/apps/menus/main_menu.c
+++ b/apps/menus/main_menu.c
@@ -68,7 +68,6 @@ static int reset_settings(void)
switch(gui_syncyesno_run(&message, &yes_message, &no_message))
{
case YESNO_YES:
- settings_write_config(CONFIGFILE ".bak", SETTINGS_SAVE_CHANGED);
settings_reset();
settings_apply(true);
settings_save();
diff --git a/apps/settings.c b/apps/settings.c
index 237ff1c567..d259cecd65 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -262,6 +262,7 @@ static bool cfg_string_to_int(int setting_id, int* out, char* str)
}
return false;
}
+static bool settings_write_config(char* filename, int options);
bool settings_load_config(const char* file, bool apply)
{
@@ -273,7 +274,8 @@ bool settings_load_config(const char* file, bool apply)
fd = open(file, O_RDONLY);
if (fd < 0)
return false;
-
+ settings_write_config(ROCKBOX_DIR "oldcfg.cfg", SETTINGS_SAVE_CHANGED);
+
while (read_line(fd, line, sizeof line) > 0)
{
if (!settings_parseline(line, &name, &value))
@@ -450,7 +452,7 @@ static bool is_changed(int setting_id)
return true;
}
-bool settings_write_config(char* filename, int options)
+static bool settings_write_config(char* filename, int options)
{
int i;
int fd;
@@ -949,7 +951,7 @@ void settings_reset(void) {
int i;
DEBUGF( "settings_reset()\n" );
-
+ settings_write_config(ROCKBOX_DIR "oldcfg.cfg", SETTINGS_SAVE_CHANGED);
for(i=0; i<nb_settings; i++)
{
switch (settings[i].flags&F_T_MASK)
diff --git a/apps/settings.h b/apps/settings.h
index 9f7546c60f..1a2c2ee444 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -200,7 +200,6 @@ bool settings_load_config(const char* file, bool apply);
void status_save( void );
int settings_save(void);
-
/* defines for the options paramater */
enum {
SETTINGS_SAVE_CHANGED = 0,
@@ -215,7 +214,6 @@ enum {
#endif
};
bool settings_save_config(int options);
-bool settings_write_config(char* filename, int options);
void settings_reset(void);
void sound_settings_apply(void);