diff options
author | Christopher Michael <cpmichael1@comcast.net> | 2010-05-29 20:08:22 +0000 |
---|---|---|
committer | Christopher Michael <cpmichael1@comcast.net> | 2010-05-29 20:08:22 +0000 |
commit | 0be175764d528fc5fbb88a83557aa4eb98a00d63 (patch) | |
tree | 40c9018ebecf383aef9d2fab548ae7479dfe3da0 /src/modules/conf_acpibindings | |
parent | f4d8204f497abc540365afe7b3381ddc066ede00 (diff) | |
download | enlightenment-0be175764d528fc5fbb88a83557aa4eb98a00d63.tar.gz |
Make sure we cleanup existing bindings else we could leak stringshares.
SVN revision: 49312
Diffstat (limited to 'src/modules/conf_acpibindings')
-rw-r--r-- | src/modules/conf_acpibindings/e_int_config_acpibindings.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/modules/conf_acpibindings/e_int_config_acpibindings.c b/src/modules/conf_acpibindings/e_int_config_acpibindings.c index 80676a3039..89ae0c9aac 100644 --- a/src/modules/conf_acpibindings/e_int_config_acpibindings.c +++ b/src/modules/conf_acpibindings/e_int_config_acpibindings.c @@ -97,8 +97,13 @@ _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) Eina_List *l; EINA_LIST_FREE(e_config->acpi_bindings, bind) - e_bindings_acpi_del(bind->context, bind->type, bind->status, - bind->action, bind->params); + { + e_bindings_acpi_del(bind->context, bind->type, bind->status, + bind->action, bind->params); + if (bind->action) eina_stringshare_del(bind->action); + if (bind->params) eina_stringshare_del(bind->params); + E_FREE(bind); + } EINA_LIST_FOREACH(cfdata->bindings, l, bind) { |