aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/webcore/JSEventEmitter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/bindings/webcore/JSEventEmitter.cpp')
-rw-r--r--src/bun.js/bindings/webcore/JSEventEmitter.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/bun.js/bindings/webcore/JSEventEmitter.cpp b/src/bun.js/bindings/webcore/JSEventEmitter.cpp
index 959cbd8d7..abf610803 100644
--- a/src/bun.js/bindings/webcore/JSEventEmitter.cpp
+++ b/src/bun.js/bindings/webcore/JSEventEmitter.cpp
@@ -233,8 +233,6 @@ inline JSC::EncodedJSValue JSEventEmitter::addListener(JSC::JSGlobalObject* lexi
EnsureStillAliveScope argument1 = callFrame->uncheckedArgument(1);
auto listener = convert<IDLNullable<IDLEventListener<JSEventListener>>>(*lexicalGlobalObject, argument1.value(), *castedThis, [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentMustBeObjectError(lexicalGlobalObject, scope, 1, "listener", "EventEmitter", "addListener"); });
RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
- auto result = JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.addListenerForBindings(WTFMove(eventType), WTFMove(listener), once, prepend); }));
- RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
JSC::Identifier newListenerEventType = JSC::Identifier::fromString(vm, "newListener"_s);
JSC::MarkedArgumentBuffer args;
@@ -244,6 +242,9 @@ inline JSC::EncodedJSValue JSEventEmitter::addListener(JSC::JSGlobalObject* lexi
auto result2 = JSValue::encode(toJS<IDLBoolean>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.emitForBindings(WTFMove(newListenerEventType), WTFMove(args)); }));
RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
+ auto result = JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.addListenerForBindings(WTFMove(eventType), WTFMove(listener), once, prepend); }));
+ RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
+
vm.writeBarrier(&static_cast<JSObject&>(*castedThis), argument1.value());
impl.setThisObject(actualThis);
RELEASE_AND_RETURN(throwScope, JSValue::encode(actualThis));