Author: lluis
Date: 2005-04-19 07:37:56 -0400 (Tue, 19 Apr 2005)
New Revision: 43245

Modified:
   trunk/mono/mono/metadata/ChangeLog
   trunk/mono/mono/metadata/marshal.c
Log:
2005-04-19  Lluis Sanchez Gual  <[EMAIL PROTECTED]>

        * marshal.c: Use CALLVIRT instead of CALL when dispatching
        a call to a remote domain, since the method may be an
        interface method in the client domain. This fixes bug #74192.



Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog  2005-04-19 10:45:01 UTC (rev 43244)
+++ trunk/mono/mono/metadata/ChangeLog  2005-04-19 11:37:56 UTC (rev 43245)
@@ -1,3 +1,9 @@
+2005-04-19  Lluis Sanchez Gual  <[EMAIL PROTECTED]>
+
+       * marshal.c: Use CALLVIRT instead of CALL when dispatching
+       a call to a remote domain, since the method may be an
+       interface method in the client domain. This fixes bug #74192.
+
 2005-04-17 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>
 
        * threadpool.c: recv/send are now performed before going back to managed

Modified: trunk/mono/mono/metadata/marshal.c
===================================================================
--- trunk/mono/mono/metadata/marshal.c  2005-04-19 10:45:01 UTC (rev 43244)
+++ trunk/mono/mono/metadata/marshal.c  2005-04-19 11:37:56 UTC (rev 43245)
@@ -2611,7 +2611,9 @@
        /* Make the call to the real object */
 
        emit_thread_force_interrupt_checkpoint (mb);
-       mono_mb_emit_managed_call (mb, method, NULL);
+       
+       mono_mb_emit_byte (mb, CEE_CALLVIRT);
+       mono_mb_emit_i4 (mb, mono_mb_add_data (mb, method));
 
        if (sig->ret->type != MONO_TYPE_VOID)
                mono_mb_emit_stloc (mb, loc_return);

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

Reply via email to