Author: zoltan
Date: 2006-01-17 15:55:13 -0500 (Tue, 17 Jan 2006)
New Revision: 55694
Modified:
branches/mono-1-1-13/mono/mono/metadata/ChangeLog
branches/mono-1-1-13/mono/mono/metadata/marshal.c
Log:
Merge r55693 from HEAD.
Modified: branches/mono-1-1-13/mono/mono/metadata/ChangeLog
===================================================================
--- branches/mono-1-1-13/mono/mono/metadata/ChangeLog 2006-01-17 20:53:36 UTC
(rev 55693)
+++ branches/mono-1-1-13/mono/mono/metadata/ChangeLog 2006-01-17 20:55:13 UTC
(rev 55694)
@@ -1,3 +1,8 @@
+2006-01-17 Zoltan Varga <[EMAIL PROTECTED]>
+
+ * marshal.c (emit_struct_conv): Allow fields with the same offset when
+ marshalling from native to managed code. Fixes #77230.
+
2006-01-17 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>
* threadpool.c: fix problem (Mac only) when more than one asynchronous
Modified: branches/mono-1-1-13/mono/mono/metadata/marshal.c
===================================================================
--- branches/mono-1-1-13/mono/mono/metadata/marshal.c 2006-01-17 20:53:36 UTC
(rev 55693)
+++ branches/mono-1-1-13/mono/mono/metadata/marshal.c 2006-01-17 20:55:13 UTC
(rev 55694)
@@ -1349,7 +1349,7 @@
* FIXME: Should really check for usize==0 and msize>0, but we
apply
* the layout to the managed structure as well.
*/
- if (((klass->flags & TYPE_ATTRIBUTE_LAYOUT_MASK) ==
TYPE_ATTRIBUTE_EXPLICIT_LAYOUT) && (usize == 0))
+ if (((klass->flags & TYPE_ATTRIBUTE_LAYOUT_MASK) ==
TYPE_ATTRIBUTE_EXPLICIT_LAYOUT) && (usize == 0) && !to_object)
g_error ("Type %s which has an [ExplicitLayout]
attribute cannot have two fields with the same offset.", mono_type_full_name
(&klass->byval_arg));
if ((klass->flags & TYPE_ATTRIBUTE_LAYOUT_MASK) ==
TYPE_ATTRIBUTE_AUTO_LAYOUT)
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches