summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2024-04-18 17:19:56 +1000
committerDamien George <damien@micropython.org>2024-04-24 16:07:00 +1000
commit4c3f5f552b15f74984e906db799812df6b3e9555 (patch)
treed847bc92e421935b967238a39e718bf6d6ff7791
parent9c7f0659e2a6db37125fa092ebe5150125eb14b3 (diff)
webassembly/objjsproxy: Fix handling of thrown value into JS generator.
Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--ports/webassembly/objjsproxy.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ports/webassembly/objjsproxy.c b/ports/webassembly/objjsproxy.c
index 098f4e75f..65c806536 100644
--- a/ports/webassembly/objjsproxy.c
+++ b/ports/webassembly/objjsproxy.c
@@ -346,6 +346,12 @@ typedef struct _jsproxy_gen_t {
mp_vm_return_kind_t jsproxy_gen_resume(mp_obj_t self_in, mp_obj_t send_value, mp_obj_t throw_value, mp_obj_t *ret_val) {
jsproxy_gen_t *self = MP_OBJ_TO_PTR(self_in);
+
+ if (throw_value) {
+ *ret_val = throw_value;
+ return MP_VM_RETURN_EXCEPTION;
+ }
+
switch (self->state) {
case JSOBJ_GEN_STATE_WAITING:
self->state = JSOBJ_GEN_STATE_COMPLETED;