2008-12-10 Rodrigo Kumpera <rkumpera@novell.com>
authorRodrigo Kumpera <kumpera@gmail.com>
Wed, 10 Dec 2008 19:08:24 +0000 (19:08 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Wed, 10 Dec 2008 19:08:24 +0000 (19:08 -0000)
class.c (mono_class_setup_fields): It working on an inflated class
first check if the generic definition did init with success.

Fixes #445361.

svn path=/trunk/mono/; revision=121238

mono/metadata/ChangeLog
mono/metadata/class.c

index acac684e0dd48c847d0c453d6ca3eafc2ec8d1d1..3c6e20938c6acff1ceb7e0c09e7b1b14bb3dc851 100644 (file)
@@ -1,3 +1,10 @@
+2008-12-10 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       class.c (mono_class_setup_fields): It working on an inflated class
+       first check if the generic definition did init with success.
+
+       Fixes #445361.
+
 2008-12-10 Rodrigo Kumpera  <rkumpera@novell.com>
 
        pedump.c (main): Fix a warning.
index 233a0cbecef9142a67bbc6e22e7326fc2897a046..195f61213f35baeb369cb93563ee0c8e2985949b 100644 (file)
@@ -1052,6 +1052,11 @@ mono_class_setup_fields (MonoClass *class)
                g_assert (container);
 
                mono_class_setup_fields (gklass);
+
+               if (gklass->exception_type) {
+                       mono_class_set_failure (class, MONO_EXCEPTION_TYPE_LOAD, NULL);
+                       return;
+               }
        }
 
        /*