Author: zoltan
Date: 2008-02-20 15:45:20 -0500 (Wed, 20 Feb 2008)
New Revision: 96314

Modified:
   trunk/mono/mono/metadata/ChangeLog
   trunk/mono/mono/metadata/icall.c
Log:
2008-02-20  Zoltan Varga  <[EMAIL PROTECTED]>

        * icall.c (ves_icall_Type_GetPacking): Handle dynamic types.


Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog  2008-02-20 20:31:54 UTC (rev 96313)
+++ trunk/mono/mono/metadata/ChangeLog  2008-02-20 20:45:20 UTC (rev 96314)
@@ -1,5 +1,7 @@
 2008-02-20  Zoltan Varga  <[EMAIL PROTECTED]>
 
+       * icall.c (ves_icall_Type_GetPacking): Handle dynamic types.
+
        * assembly.c (mono_assembly_load_from_full): Fix a leak in the previous 
patch.
        
        * assembly.c (mono_assembly_load_from_full): Return the non-refonly 
corlib for

Modified: trunk/mono/mono/metadata/icall.c
===================================================================
--- trunk/mono/mono/metadata/icall.c    2008-02-20 20:31:54 UTC (rev 96313)
+++ trunk/mono/mono/metadata/icall.c    2008-02-20 20:45:20 UTC (rev 96314)
@@ -1932,9 +1932,13 @@
 {
        MonoClass *klass = mono_class_from_mono_type (type->type);
 
-       g_assert (!klass->image->dynamic);
-
-       mono_metadata_packing_from_typedef (klass->image, klass->type_token, 
packing, size);
+       if (klass->image->dynamic) {
+               MonoReflectionTypeBuilder *tb = 
(MonoReflectionTypeBuilder*)type;
+               *packing = tb->packing_size;
+               *size = tb->class_size;
+       } else {
+               mono_metadata_packing_from_typedef (klass->image, 
klass->type_token, packing, size);
+       }
 }
 
 static MonoReflectionType*

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to