diff --git a/src/bin/e_config.c b/src/bin/e_config.c index 2766df1c3..166ff3a5d 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -1166,6 +1166,21 @@ e_config_load(void) "As a result, all bindings have been reloaded from defaults.
" "Sorry for the inconvenience.
")); } + 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) { @@ -1198,6 +1213,7 @@ e_config_load(void) } } } +/* this gets done above but I'm leaving it here so it can be seen CONFIG_VERSION_CHECK(6) { CONFIG_VERSION_UPDATE_INFO(6); @@ -1214,6 +1230,7 @@ e_config_load(void) #undef SET e_config_domain_save("e_bindings", _e_config_binding_edd, e_bindings); } +*/ CONFIG_VERSION_CHECK(8) { CONFIG_VERSION_UPDATE_INFO(8);