Author: massi
Date: 2007-08-08 05:12:04 -0400 (Wed, 08 Aug 2007)
New Revision: 83646
Modified:
trunk/mono/mono/metadata/ChangeLog
trunk/mono/mono/metadata/class.c
Log:
* class.c (mono_class_setup_vtable_general): Fixed bug #77127,
checking that methods with the same fqname are not overridden
with a method from an ancestor.
Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog 2007-08-08 09:10:04 UTC (rev 83645)
+++ trunk/mono/mono/metadata/ChangeLog 2007-08-08 09:12:04 UTC (rev 83646)
@@ -1,3 +1,9 @@
+2007-08-08 Massimiliano Mantione <[EMAIL PROTECTED]>
+
+ * class.c (mono_class_setup_vtable_general): Fixed bug #77127,
+ checking that methods with the same fqname are not overridden
+ with a method from an ancestor.
+
2007-08-07 Zoltan Varga <[EMAIL PROTECTED]>
* threads.c (free_thread_static_data_helper): Avoid a crash if
Modified: trunk/mono/mono/metadata/class.c
===================================================================
--- trunk/mono/mono/metadata/class.c 2007-08-08 09:10:04 UTC (rev 83645)
+++ trunk/mono/mono/metadata/class.c 2007-08-08 09:12:04 UTC (rev 83646)
@@ -2018,7 +2018,8 @@
continue;
if (((fqname && !strcmp
(cm->name, fqname)) || !strcmp (cm->name, qname)) &&
-
mono_metadata_signature_equal (mono_method_signature (cm),
mono_method_signature (im))) {
+
mono_metadata_signature_equal (mono_method_signature (cm),
mono_method_signature (im)) &&
+ ((vtable [io +
l] == NULL) || mono_class_is_subclass_of (cm->klass, vtable [io + l]->klass,
FALSE))) {
/* CAS -
SecurityAction.InheritanceDemand on interface */
if (security_enabled &&
(im->flags & METHOD_ATTRIBUTE_HAS_SECURITY)) {
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches