bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9762d75dc4efaa380305aaff9c51b9b4ca069b7c

commit 9762d75dc4efaa380305aaff9c51b9b4ca069b7c
Author: Marcel Hollerbach <[email protected]>
Date:   Tue Mar 24 14:40:11 2020 +0100

    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 <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D11576
---
 src/lib/eo/eo.c | 2 ++
 1 file changed, 2 insertions(+)

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;
                     }
 
                }

-- 


Reply via email to