diff --git a/lib/modules/Remote.pmod/call.pike b/lib/modules/Remote.pmod/call.pike index 2fa3abc55e687d0a102247edd91c857474317f99..6ddd6c7308bee896291ad940a554d6e8f27bba8e 100644 --- a/lib/modules/Remote.pmod/call.pike +++ b/lib/modules/Remote.pmod/call.pike @@ -1,6 +1,8 @@ #include "remote.h" +constant is_remote_call = 1; + string objectid; string name; object con; diff --git a/lib/modules/Remote.pmod/context.pike b/lib/modules/Remote.pmod/context.pike index f13789590177f6b00db24dea5334fe7cdcfafb3f..8f5825c1eb3089015e6ca62adceebbd34ecdc4d1 100644 --- a/lib/modules/Remote.pmod/context.pike +++ b/lib/modules/Remote.pmod/context.pike @@ -97,7 +97,7 @@ array encode(mixed val) { if (intp(val) || floatp(val)) return ({ CTX_OTHER, val }); - if (objectp(val) && !val->_encode_object) + if (objectp(val) && (object_program(val)->is_remote_obj || !val->_encode_object)) return ({ CTX_OBJECT, id_for(val) }); if (functionp(val) || programp(val)) return ({ CTX_FUNCTION, id_for(val) }); diff --git a/lib/modules/Remote.pmod/obj.pike b/lib/modules/Remote.pmod/obj.pike index 61d9c803c99d2a2f491605943eda0d67332eea11..bbc67f7c762dabb0c6a1cdd79b19d4c9adbdf039 100644 --- a/lib/modules/Remote.pmod/obj.pike +++ b/lib/modules/Remote.pmod/obj.pike @@ -1,6 +1,8 @@ #include "remote.h" +constant is_remote_obj = 1; + string id; object con; object ctx;