From 50c41b1100d2dce33518e59ebaadc5cfcc63c69e Mon Sep 17 00:00:00 2001 From: Felipe Magno de Almeida Date: Fri, 18 Jan 2019 09:37:26 +0000 Subject: [PATCH] efl-mono: Fix calling non-static methods with garbage collectable NativeInherits This fixes intermittent errors in C# classes with inheritance from Eo, just like a lot of unit tests. Reviewed-by: Xavi Artigas Differential Revision: https://phab.enlightenment.org/D7683 --- src/bin/eolian_mono/eolian/mono/function_definition.hh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh index 6917870074..5a78bc735f 100644 --- a/src/bin/eolian_mono/eolian/mono/function_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh @@ -79,7 +79,7 @@ struct native_function_definition_generator if(!as_generator (scope_tab - << " private " + << " private static " << eolian_mono::marshall_type(true) << " " << string << "(System.IntPtr obj, System.IntPtr pd" @@ -102,7 +102,7 @@ struct native_function_definition_generator << eolian_mono::native_function_definition_epilogue(*klass) << scope_tab << scope_tab << "} else {\n" << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "return " : "") << string - << "(Efl.Eo.Globals.efl_super(obj, " << "GetEflClass())" << *(", " << argument) << ");\n" + << "(Efl.Eo.Globals.efl_super(obj, " << "Efl.Eo.Globals.efl_class_get(obj))" << *(", " << argument) << ");\n" << scope_tab << scope_tab << "}\n" << scope_tab << "}\n" )