Home menu, I included the pic to my previous post.I've had an idea about what might be causing the problem with saving themes. This post is partly me working through the logic of the problem, so bear with me
In config.c, setConfigString(char* key, char* value, int configType) stores a config value (for example the name of the currently selected theme) in the config values array at the same index as the key in the keys array. So, for example, (configData)mainData.keys[0] = "currentTheme" and (configData)mainData.values[0] = "My great theme". The setConfigString() function loops through the existing entries in the config keys array and searches for the key which is going to be stored. If it is found, then the existing value is overwritten with the new value. If the key isn't found, then the key and value are both added to the end of the values and keys arrays. This should ensure there are no duplicate entries for any key.
When the config is going to be saved, saveConfigWithType(int configType) is called. This takes the config data specified by configType (either the main config or the theme config), converts it to a long string suitable for saving to the .cfg file, and then writes the file.
So I believe the problem could be in one of a number of areas, which can hopefully be diagnosed by examining hbl.cfg immediately after the problem has occurred of the previously selected theme not being the one which is actually loaded. Here are the possible causes and their probable evidence in hbl.cfg:
- Establishing the value to be stored in the config (i.e. the name of the theme). This would result in a value in the currentTheme setting which does not match any of the themes on the device (e.g. a garbage or truncated value)
- Checking whether the currentTheme key already exists in the themeData.keys array. This would result in a duplicate entry for the key (i.e. two settings in one hbl.cfg both for currentTheme). In this case only the first would be acknowledged, so the new setting would be ignored.
- Overwriting the existing entry. This would result in the value not changing, so the previously selected theme would still show as current.
- Saving the data. Again, this would likely result in the previous theme showing up.
Here's what would be helpful in diagnosing the problem:
- Set the theme to the one which does not seem to save
- Back out of the settings back to the main grid to make the settings save
- Launch any app
- Exit back to the launcher and confirm that the theme selected in step one is NOT showing up
- Quit the launcher without entering settings to make sure hbl.cfg does not get overwritten
- Upload hbl.cfg here so I can see what it contains
--------------------- MERGED ---------------------------
Are you talking about your custom theme on the home menu?
Edit: Might as well state that I have a 10.2 o3DS with Ironhax.
Last edited by Lycan911,