From 10b4f125d09f5efc165f3721b843265714e336da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 4 Apr 2009 14:28:19 +0200 Subject: [PATCH] Fix dynamic signals on 64 bit architectures sizeof(GClosure) is 32 on 64 bit --- gstreamer-sharp/DynamicSignal.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gstreamer-sharp/DynamicSignal.cs b/gstreamer-sharp/DynamicSignal.cs index 79126f6b0d..138d4d74da 100644 --- a/gstreamer-sharp/DynamicSignal.cs +++ b/gstreamer-sharp/DynamicSignal.cs @@ -93,7 +93,8 @@ namespace GLib { si.RegisteredHandler = newHandler; } else { - IntPtr closure = g_closure_new_simple(16, IntPtr.Zero); + /* We use 32 as this is correct for 32 bit and 64 bit architectures */ + IntPtr closure = g_closure_new_simple(32, IntPtr.Zero); g_closure_set_meta_marshal(closure, (IntPtr) GCHandle.Alloc(k), marshalHandler); uint signalId = g_signal_connect_closure(o.Handle, name, closure, after); SignalHandlers.Add(k, new SignalInfo(signalId, closure, handler));