summaryrefslogtreecommitdiff
path: root/src/modules/conf_acpibindings
diff options
context:
space:
mode:
authorChristopher Michael <cpmichael1@comcast.net>2010-05-29 20:08:22 +0000
committerChristopher Michael <cpmichael1@comcast.net>2010-05-29 20:08:22 +0000
commit0be175764d528fc5fbb88a83557aa4eb98a00d63 (patch)
tree40c9018ebecf383aef9d2fab548ae7479dfe3da0 /src/modules/conf_acpibindings
parentf4d8204f497abc540365afe7b3381ddc066ede00 (diff)
downloadenlightenment-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.c9
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)
{