Hi Robert,
Sorry for the delay.
On 9/16/21 10:25 PM, Robert Wilhelm wrote:
if((ctx->func->type == FUNC_FUNCTION || ctx->func->type == FUNC_PROPGET)
&& !wcsicmp(name, ctx->func->name)) {
&& !wcsicmp(name, ctx->func->name)
/* you must not use return value for recursive call */
&& ((invoke_type != VBDISP_CALLGET) || ((invoke_type == VBDISP_CALLGET) && ( V_VT(&ctx->ret_val) == VT_DISPATCH)))) {
I experimented a bit with this, see attached test. It seems that we should use the current function even if ret_val is modified and not an object.
Thanks,
Jacek