From 9c55fa110607897caa77a71261f0fcad462ccc45 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Wed, 25 Mar 2009 13:51:01 +0000 Subject: [PATCH] 2009-03-25 Sebastien Pouliot * Delegate.cs: Add new parameter to CreateDelegate_internal (icall) * Environment.cs: Bump mono_corlib_version to 73 svn path=/trunk/mcs/; revision=130213 --- mcs/class/corlib/System/ChangeLog | 5 +++++ mcs/class/corlib/System/Delegate.cs | 11 ++++++----- mcs/class/corlib/System/Environment.cs | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/mcs/class/corlib/System/ChangeLog b/mcs/class/corlib/System/ChangeLog index 5298938e24a..50e1c8972da 100644 --- a/mcs/class/corlib/System/ChangeLog +++ b/mcs/class/corlib/System/ChangeLog @@ -1,3 +1,8 @@ +2009-03-25 Sebastien Pouliot + + * Delegate.cs: Add new parameter to CreateDelegate_internal (icall) + * Environment.cs: Bump mono_corlib_version to 73 + 2009-03-25 Jb Evain * Delegate.cs (CreateDelegate): fix checks to deal with diff --git a/mcs/class/corlib/System/Delegate.cs b/mcs/class/corlib/System/Delegate.cs index b8fa8fefd5a..fd836c9d318 100644 --- a/mcs/class/corlib/System/Delegate.cs +++ b/mcs/class/corlib/System/Delegate.cs @@ -122,7 +122,7 @@ namespace System // [MethodImplAttribute (MethodImplOptions.InternalCall)] - internal static extern Delegate CreateDelegate_internal (Type type, object target, MethodInfo info); + internal static extern Delegate CreateDelegate_internal (Type type, object target, MethodInfo info, bool throwOnBindFailure); [MethodImplAttribute (MethodImplOptions.InternalCall)] internal extern void SetMulticastInvoke (); @@ -253,8 +253,9 @@ namespace System return null; #endif - Delegate d = CreateDelegate_internal (type, target, method); - d.original_method_info = method; + Delegate d = CreateDelegate_internal (type, target, method, throwOnBindFailure); + if (d != null) + d.original_method_info = method; return d; } @@ -358,7 +359,7 @@ namespace System if (info == null) return null; - return CreateDelegate_internal (type, null, info); + return CreateDelegate_internal (type, null, info, throwOnBindFailure); } public static Delegate CreateDelegate (Type type, Type target, string method) { @@ -386,7 +387,7 @@ namespace System if (info == null) return null; - return CreateDelegate_internal (type, target, info); + return CreateDelegate_internal (type, target, info, throwOnBindFailure); } public static Delegate CreateDelegate (Type type, object target, string method, bool ignoreCase) { diff --git a/mcs/class/corlib/System/Environment.cs b/mcs/class/corlib/System/Environment.cs index ef59650848e..0c956ab47f2 100644 --- a/mcs/class/corlib/System/Environment.cs +++ b/mcs/class/corlib/System/Environment.cs @@ -63,7 +63,7 @@ namespace System { * Changes which are already detected at runtime, like the addition * of icalls, do not require an increment. */ - private const int mono_corlib_version = 72; + private const int mono_corlib_version = 73; #if NET_2_0 [ComVisible (true)] -- 2.11.4.GIT