forked from enlightenment/enlightenment
fix bindings wipe bug that crept in a day or two ago
SVN revision: 83622
This commit is contained in:
parent
4490ec1223
commit
6f2737928d
|
@ -1150,7 +1150,34 @@ e_config_load(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
e_bindings = e_config_domain_load("e_bindings", _e_config_binding_edd);
|
#define CONFIG_VERSION_CHECK(VERSION) \
|
||||||
|
if (e_config->config_version - (E_CONFIG_FILE_EPOCH * 1000000) < (VERSION))
|
||||||
|
|
||||||
|
#define CONFIG_VERSION_UPDATE_INFO(VERSION) \
|
||||||
|
INF("Performing config upgrade for %d.%d", E_CONFIG_FILE_EPOCH, VERSION);
|
||||||
|
|
||||||
|
CONFIG_VERSION_CHECK(6)
|
||||||
|
{
|
||||||
|
/* e_bindings config domain didn't exist before this version, so we have to do this
|
||||||
|
* check before we load or else we wipe configs :(
|
||||||
|
*/
|
||||||
|
e_bindings = E_NEW(E_Config_Bindings, 1);
|
||||||
|
#undef SET
|
||||||
|
#define SET(X) e_bindings->X = e_config->X, e_config->X = NULL
|
||||||
|
|
||||||
|
CONFIG_VERSION_UPDATE_INFO(6);
|
||||||
|
SET(mouse_bindings);
|
||||||
|
SET(key_bindings);
|
||||||
|
SET(edge_bindings);
|
||||||
|
SET(signal_bindings);
|
||||||
|
SET(wheel_bindings);
|
||||||
|
SET(acpi_bindings);
|
||||||
|
#undef SET
|
||||||
|
e_config_domain_save("e_bindings", _e_config_binding_edd, e_bindings);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
e_bindings = e_config_domain_load("e_bindings", _e_config_binding_edd);
|
||||||
|
|
||||||
if (e_bindings && (e_bindings->config_version != E_CONFIG_BINDINGS_VERSION))
|
if (e_bindings && (e_bindings->config_version != E_CONFIG_BINDINGS_VERSION))
|
||||||
{
|
{
|
||||||
Eina_Stringshare *prof;
|
Eina_Stringshare *prof;
|
||||||
|
@ -1166,30 +1193,9 @@ e_config_load(void)
|
||||||
"As a result, all bindings have been reloaded from defaults.<br>"
|
"As a result, all bindings have been reloaded from defaults.<br>"
|
||||||
"Sorry for the inconvenience.<br>"));
|
"Sorry for the inconvenience.<br>"));
|
||||||
}
|
}
|
||||||
else if (!e_bindings)
|
|
||||||
{
|
|
||||||
e_bindings = E_NEW(E_Config_Bindings, 1);
|
|
||||||
#undef SET
|
|
||||||
#define SET(X) e_bindings->X = e_config->X, e_config->X = NULL
|
|
||||||
|
|
||||||
SET(mouse_bindings);
|
|
||||||
SET(key_bindings);
|
|
||||||
SET(edge_bindings);
|
|
||||||
SET(signal_bindings);
|
|
||||||
SET(wheel_bindings);
|
|
||||||
SET(acpi_bindings);
|
|
||||||
#undef SET
|
|
||||||
e_config_domain_save("e_bindings", _e_config_binding_edd, e_bindings);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e_config->config_version < E_CONFIG_FILE_VERSION)
|
if (e_config->config_version < E_CONFIG_FILE_VERSION)
|
||||||
{
|
{
|
||||||
#define CONFIG_VERSION_CHECK(VERSION) \
|
|
||||||
if (e_config->config_version - (E_CONFIG_FILE_EPOCH * 1000000) < (VERSION))
|
|
||||||
|
|
||||||
#define CONFIG_VERSION_UPDATE_INFO(VERSION) \
|
|
||||||
INF("Performing config upgrade for %d.%d", E_CONFIG_FILE_EPOCH, VERSION);
|
|
||||||
|
|
||||||
CONFIG_VERSION_CHECK(5)
|
CONFIG_VERSION_CHECK(5)
|
||||||
{
|
{
|
||||||
E_Config_XKB_Layout *cl;
|
E_Config_XKB_Layout *cl;
|
||||||
|
|
Loading…
Reference in New Issue