From b67c41689ebf4643f8db5b6dcbfafffd945d3e96 Mon Sep 17 00:00:00 2001 From: Fabrice Bellard Date: Wed, 16 Apr 2025 16:51:34 +0200 Subject: [PATCH] fixed Proxy getOwnPropertyDescriptor with getters and setters --- quickjs.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/quickjs.c b/quickjs.c index ecd5f15..01988b4 100644 --- a/quickjs.c +++ b/quickjs.c @@ -46327,6 +46327,14 @@ static int js_proxy_get_own_property(JSContext *ctx, JSPropertyDescriptor *pdesc if (res < 0) return -1; + /* convert the result_desc.flags to property flags */ + if (result_desc.flags & (JS_PROP_HAS_GET | JS_PROP_HAS_SET)) { + result_desc.flags |= JS_PROP_GETSET; + } else { + result_desc.flags |= JS_PROP_NORMAL; + } + result_desc.flags &= (JS_PROP_C_W_E | JS_PROP_TMASK); + if (target_desc_ret) { /* convert result_desc.flags to defineProperty flags */ flags1 = result_desc.flags | JS_PROP_HAS_CONFIGURABLE | JS_PROP_HAS_ENUMERABLE;