summaryrefslogtreecommitdiff
path: root/src/bin/eolian_mono/eolian/mono/function_definition.hh
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2019-01-18 09:37:26 +0000
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-01-18 14:06:16 +0100
commit50c41b1100d2dce33518e59ebaadc5cfcc63c69e (patch)
tree5b42eb588ec024fef985102442c327037bde7139 /src/bin/eolian_mono/eolian/mono/function_definition.hh
parent4d0289bb9f76dd798f0ed8fd8fce28e81cbbdabf (diff)
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
Diffstat (limited to 'src/bin/eolian_mono/eolian/mono/function_definition.hh')
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_definition.hh4
1 files 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 6917870..5a78bc7 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
79 79
80 if(!as_generator 80 if(!as_generator
81 (scope_tab 81 (scope_tab
82 << " private " 82 << " private static "
83 << eolian_mono::marshall_type(true) << " " 83 << eolian_mono::marshall_type(true) << " "
84 << string 84 << string
85 << "(System.IntPtr obj, System.IntPtr pd" 85 << "(System.IntPtr obj, System.IntPtr pd"
@@ -102,7 +102,7 @@ struct native_function_definition_generator
102 << eolian_mono::native_function_definition_epilogue(*klass) 102 << eolian_mono::native_function_definition_epilogue(*klass)
103 << scope_tab << scope_tab << "} else {\n" 103 << scope_tab << scope_tab << "} else {\n"
104 << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "return " : "") << string 104 << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "return " : "") << string
105 << "(Efl.Eo.Globals.efl_super(obj, " << "GetEflClass())" << *(", " << argument) << ");\n" 105 << "(Efl.Eo.Globals.efl_super(obj, " << "Efl.Eo.Globals.efl_class_get(obj))" << *(", " << argument) << ");\n"
106 << scope_tab << scope_tab << "}\n" 106 << scope_tab << scope_tab << "}\n"
107 << scope_tab << "}\n" 107 << scope_tab << "}\n"
108 ) 108 )