[runtime] Support TransparentProxy-es in mono_domain_from_appdomain ().
authorZoltan Varga <vargaz@gmail.com>
Thu, 12 Jan 2017 18:18:59 +0000 (13:18 -0500)
committerZoltan Varga <vargaz@gmail.com>
Thu, 12 Jan 2017 18:19:27 +0000 (13:19 -0500)
mono/metadata/appdomain.c

index 9e23de19060bbe376ad6d1abdc979c476ddaa32a..32f6a2ed4d4dee2b3f24d508ee6dd2d52edf8f9a 100644 (file)
@@ -1815,6 +1815,11 @@ mono_domain_from_appdomain (MonoAppDomain *appdomain)
 {
        if (appdomain == NULL)
                return NULL;
+
+       if (appdomain->mbr.obj.vtable->klass == mono_defaults.transparent_proxy_class) {
+               MonoTransparentProxy *tp = (MonoTransparentProxy*)appdomain;
+               return mono_domain_get_by_id (tp->rp->target_domain_id);
+       }
        
        return appdomain->data;
 }