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

Reply via email to