From 28b533f8ecf52bb01602a570e6cc55572828ac5e Mon Sep 17 00:00:00 2001 From: Khaled Mohammed Date: Fri, 23 Jun 2006 06:14:13 +0000 Subject: [PATCH] Fixed a bug in Element.custom related to Custom Signal Handler git-svn-id: svn://anonsvn.mono-project.com/source/branches/abock/gstreamer-sharp@61978 e3ebcda4-bce8-0310-ba0a-eca2169e7518 --- gstreamer-sharp/Element.custom | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gstreamer-sharp/Element.custom b/gstreamer-sharp/Element.custom index 702eb29..00d403d 100644 --- a/gstreamer-sharp/Element.custom +++ b/gstreamer-sharp/Element.custom @@ -43,12 +43,12 @@ return gst_element_query_duration(Handle, ref format, out duration); } - static Type [] paramTypes; + //static Type [] paramTypes; public void AddCustomEvent(string name, Delegate onCustom ) { System.Reflection.ParameterInfo [] pi = onCustom.Method.GetParameters(); - paramTypes = new Type[pi.Length]; + Type [] paramTypes = new Type[pi.Length]; for(int i=0; i < paramTypes.Length; i++) { paramTypes[i] = pi[i].ParameterType; } @@ -68,6 +68,13 @@ public static void CustomMarshaller(params IntPtr [] args) { GLib.Signal sig = ((GCHandle) args[args.Length - 1]).Target as GLib.Signal; + Delegate d = sig.Handler as Delegate; + System.Reflection.ParameterInfo [] pi = d.Method.GetParameters(); + + Type [] paramTypes = new Type[pi.Length]; + for(int i=0; i