Fix gshared synchronized wrappers for static methods.
authorZoltan Varga <vargaz@gmail.com>
Mon, 15 Jul 2013 14:36:25 +0000 (16:36 +0200)
committerZoltan Varga <vargaz@gmail.com>
Mon, 15 Jul 2013 14:36:25 +0000 (16:36 +0200)
mono/metadata/marshal.c

index 8a192fc02a8cd0472d03982e3d9624337dcb0771..ef5f0ce31a7f885b059a23da75c6912a2a16434a 100644 (file)
@@ -10325,6 +10325,8 @@ mono_marshal_get_synchronized_inner_wrapper (MonoMethod *method)
 #endif
        sig = signature_dup (method->klass->image, mono_method_signature (method));
        res = mono_mb_create_method (mb, sig, 0);
+       if (method->flags & METHOD_ATTRIBUTE_STATIC)
+               res->flags |= METHOD_ATTRIBUTE_STATIC;
        mono_mb_free (mb);
        info = mono_wrapper_info_create (res, WRAPPER_SUBTYPE_SYNCHRONIZED_INNER);
        info->d.synchronized_inner.method = method;