diff --git a/src/bindings/mono/eo_mono/iwrapper.cs b/src/bindings/mono/eo_mono/iwrapper.cs index 9e73ca4687..5fe1daae91 100644 --- a/src/bindings/mono/eo_mono/iwrapper.cs +++ b/src/bindings/mono/eo_mono/iwrapper.cs @@ -334,7 +334,16 @@ public class Globals public static byte class_initializer_call(IntPtr klass, System.Type type) { Eina.Log.Debug($"called with 0x{klass.ToInt64():x} {type}"); - Efl.Eo.NativeClass nativeClass = GetNativeClass(type.BaseType); + var derived = type.BaseType; + Efl.Eo.NativeClass nativeClass = GetNativeClass(derived); + + while (nativeClass == null) + { + derived = derived.BaseType; + if (derived == null) + break; + nativeClass = GetNativeClass(derived); + } if (nativeClass != null) {