From 9183e3ae0d824a703f676256702f6fddec4b8095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olle=20H=C3=A5kansson?= Date: Mon, 21 Apr 2014 19:40:44 +0200 Subject: [PATCH] Fixed crashes from callbacks. --- Source/OpenTK/Platform/MacOS/Cocoa/Class.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/OpenTK/Platform/MacOS/Cocoa/Class.cs b/Source/OpenTK/Platform/MacOS/Cocoa/Class.cs index fa73e09c..67308370 100644 --- a/Source/OpenTK/Platform/MacOS/Cocoa/Class.cs +++ b/Source/OpenTK/Platform/MacOS/Cocoa/Class.cs @@ -1,5 +1,6 @@ using System.Runtime.InteropServices; using System; +using System.Collections.Generic; namespace OpenTK.Platform.MacOS { @@ -40,6 +41,8 @@ namespace OpenTK.Platform.MacOS objc_registerClassPair(handle); } + static List storedDelegates = new List(); + public static void RegisterMethod(IntPtr handle, Delegate d, string selector, string typeString) { // TypeString info: @@ -52,6 +55,8 @@ namespace OpenTK.Platform.MacOS { throw new ArgumentException("Could not register method " + d + " in class + " + class_getName(handle)); } + + storedDelegates.Add(d); // Don't let the garbage collector eat our delegates. } } }