diff --git a/csharp/Facebook.Yoga/YogaLogger.cs b/csharp/Facebook.Yoga/YogaLogger.cs index bd3af941..b05ad381 100644 --- a/csharp/Facebook.Yoga/YogaLogger.cs +++ b/csharp/Facebook.Yoga/YogaLogger.cs @@ -23,6 +23,7 @@ namespace Facebook.Yoga private static bool _initialized; + public static Func _loggerInternal = LoggerInternal; public static Func Logger = null; #if (UNITY_IOS && !UNITY_EDITOR) || __IOS__ @@ -45,7 +46,7 @@ namespace Facebook.Yoga { if (!_initialized) { - Native.YGInteropSetLogger(LoggerInternal); + Native.YGInteropSetLogger(_loggerInternal); _initialized = true; } } diff --git a/csharp/Facebook.Yoga/YogaNode.cs b/csharp/Facebook.Yoga/YogaNode.cs index 23a86996..b748a35e 100644 --- a/csharp/Facebook.Yoga/YogaNode.cs +++ b/csharp/Facebook.Yoga/YogaNode.cs @@ -29,6 +29,13 @@ namespace Facebook.Yoga private MeasureFunction _measureFunction; private BaselineFunction _baselineFunction; private object _data; +#if (UNITY_IOS && !UNITY_EDITOR) || __IOS__ + private static YogaMeasureFunc _measureInternalIOS = MeasureInternalIOS; + private static YogaBaselineFunc _baselineInternalIOS = BaselineInternalIOS; +#else + private YogaMeasureFunc _measureInternal; + private YogaBaselineFunc _baselineInternal; +#endif public YogaNode() { @@ -555,9 +562,10 @@ namespace Facebook.Yoga { #if (UNITY_IOS && !UNITY_EDITOR) || __IOS__ _ygNode.SetContext(this); - func = MeasureInternalIOS; + func = _measureInternalIOS; #else - func = MeasureInternal; + _measureInternal = MeasureInternal; + func = _measureInternal; #endif } Native.YGNodeSetMeasureFunc(_ygNode, func); @@ -571,9 +579,10 @@ namespace Facebook.Yoga { #if (UNITY_IOS && !UNITY_EDITOR) || __IOS__ _ygNode.SetContext(this); - func = BaselineInternalIOS; + func = _baselineInternalIOS; #else - func = BaselineInternal; + _baselineInternal = BaselineInternal; + func = _baselineInternal; #endif } Native.YGNodeSetBaselineFunc(_ygNode, func);