eo: do not null out the vtable chain of your own classes
the free methods here accidently took the top of the mro into account, which is the class itself, which NULLed out the wrong classes. After this, we are finally freeing the mixin vtables. Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org> Differential Revision: https://phab.enlightenment.org/D11573
This commit is contained in:
parent
cd13b40f66
commit
9738a75939
|
@ -179,6 +179,8 @@ _vtable_mro_free(const _Efl_Class *klass)
|
|||
for ( ; *mro_itr ; mro_itr++)
|
||||
{
|
||||
const Eo_Vtable *mro_vtable = &(*mro_itr)->vtable;
|
||||
if ((*mro_itr) == klass)
|
||||
continue;
|
||||
for (int i = 0; i < mro_vtable->size; ++i)
|
||||
{
|
||||
if (mro_vtable->chain[i].funcs == vtable->chain[i].funcs)
|
||||
|
|
Loading…
Reference in New Issue