forked from enlightenment/efl
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 <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7683
This commit is contained in:
parent
4d0289bb9f
commit
50c41b1100
|
@ -79,7 +79,7 @@ struct native_function_definition_generator
|
||||||
|
|
||||||
if(!as_generator
|
if(!as_generator
|
||||||
(scope_tab
|
(scope_tab
|
||||||
<< " private "
|
<< " private static "
|
||||||
<< eolian_mono::marshall_type(true) << " "
|
<< eolian_mono::marshall_type(true) << " "
|
||||||
<< string
|
<< string
|
||||||
<< "(System.IntPtr obj, System.IntPtr pd"
|
<< "(System.IntPtr obj, System.IntPtr pd"
|
||||||
|
@ -102,7 +102,7 @@ struct native_function_definition_generator
|
||||||
<< eolian_mono::native_function_definition_epilogue(*klass)
|
<< eolian_mono::native_function_definition_epilogue(*klass)
|
||||||
<< scope_tab << scope_tab << "} else {\n"
|
<< scope_tab << scope_tab << "} else {\n"
|
||||||
<< scope_tab << scope_tab << scope_tab << (return_type != " void" ? "return " : "") << string
|
<< 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 << scope_tab << "}\n"
|
||||||
<< scope_tab << "}\n"
|
<< scope_tab << "}\n"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue