diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2020-03-24 14:40:11 +0100 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2020-03-24 20:41:25 +0100 |
commit | 9762d75dc4efaa380305aaff9c51b9b4ca069b7c (patch) | |
tree | a1d46d48743a4f60d3eda848a3f29726278bf29d | |
parent | 1b058695f5069933e12cd65e8a4fa4abbf01aa3c (diff) | |
download | efl-9762d75dc4efaa380305aaff9c51b9b4ca069b7c.tar.gz |
eo: correctly flag allocated memory
sometimes there is the chance that we need to allocate memory depending
on the functions that are defined, not on the types that are available.
However, even if this should only happen in error cases and on mixins,
we should ensure that this is all correctly freed flagged.
Due to the correct flagging here, we are not copying the memory later on
in a wrong way.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11576
-rw-r--r-- | src/lib/eo/eo.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index cbb3136818..f7691e353d 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -992,11 +992,13 @@ efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *object_ { /* this is when a mixin implemets a regular api, we just prepare a empty node, the rest will be implemented later */ _vtable_prepare_empty_node(&klass->vtable, required_klass->vtable.chain[class_id].count, class_id); + hitmap[class_id] = EINA_TRUE; } else { ERR("There is an API implemented, whoms type is not part of this class. %s vs. %s", klass->desc->name, required_klass->desc->name); _vtable_take_over(&klass->vtable, &required_klass->vtable); + hitmap[class_id] = EINA_TRUE; } } |