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