woohyun pushed a commit to branch master.

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

commit fd853894e5ca6f165447c202f0fbcc89237842b0
Author: Marcel Hollerbach <[email protected]>
Date:   Tue Apr 7 08:44:17 2020 +0900

    eo: only prepare a empty node
    
    Summary:
    do not take over complete vtables.
    This might fix wrong vtable settings when a type is not in the
    inheritance of another type, but the function is implemented.
    
    Reviewers: woohyun
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11657
---
 src/lib/eo/eo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 23a6b35ba0..4d3469c428 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -966,7 +966,7 @@ efl_class_functions_set(const Efl_Class *klass_id, const 
Efl_Object_Ops *object_
                   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);
+                       _vtable_prepare_empty_node(&klass->vtable, 
required_klass->vtable.chain[class_id].count, class_id);
                        hitmap[class_id] = EINA_TRUE;
                     }
 

-- 


Reply via email to