From: Zoltan Varga Date: Wed, 9 Jan 2008 22:38:22 +0000 (-0000) Subject: 2008-01-10 Zoltan Varga X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=1ee4aec58316a8776f1ddeb2a75bbd081cbd012c;p=mono.git 2008-01-10 Zoltan Varga * marshal.c (mono_class_native_size): Always set *align even if this is called recursively. svn path=/trunk/mono/; revision=92551 --- diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index db8c51a7135..6e42e5f0a6a 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,3 +1,8 @@ +2008-01-10 Zoltan Varga + + * marshal.c (mono_class_native_size): Always set *align even if this is called + recursively. + 2008-01-09 Zoltan Varga * verify.c (mono_verify_corlib): Remove this as it was not used and was diff --git a/mono/metadata/marshal.c b/mono/metadata/marshal.c index c43f8dde272..f398b94660b 100644 --- a/mono/metadata/marshal.c +++ b/mono/metadata/marshal.c @@ -10635,7 +10635,7 @@ mono_marshal_load_type_info (MonoClass* klass) native_size += parent_size; info->native_size = parent_size; } - + iter = NULL; j = 0; while ((field = mono_class_get_fields (klass, &iter))) { @@ -10723,10 +10723,13 @@ gint32 mono_class_native_size (MonoClass *klass, guint32 *align) { if (!klass->marshal_info) { - if (mono_marshal_is_loading_type_info (klass)) + if (mono_marshal_is_loading_type_info (klass)) { + if (align) + *align = 0; return 0; - else + } else { mono_marshal_load_type_info (klass); + } } if (align)