From 5adfa2f62003446b8e11a810e4ac8ff5a8620da2 Mon Sep 17 00:00:00 2001 From: wdesgardin Date: Fri, 8 Sep 2023 22:39:44 +0200 Subject: [PATCH] fix(scripting/v8): raw event listeners Raw event listerners were never triggered when no standard event listerners existed for the same event --- data/shared/citizen/scripting/v8/main.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/data/shared/citizen/scripting/v8/main.js b/data/shared/citizen/scripting/v8/main.js index b93205ffdc..e7d5d7318b 100644 --- a/data/shared/citizen/scripting/v8/main.js +++ b/data/shared/citizen/scripting/v8/main.js @@ -463,10 +463,21 @@ const EXT_LOCALFUNCREF = 11; global.source = parseInt(source.substr(13)); } - const payload = unpack(payloadSerialized) || []; + // Running raw event listeners + try { + rawEmitter.emit(name, payloadSerialized, source); + } catch (e) { + console.error('Unhandled error during running raw event listeners', e); + } + const listeners = emitter.listeners(name); + if (listeners.length == 0) { + global.source = null; + return; + } - if (listeners.length === 0 || !Array.isArray(payload)) { + const payload = unpack(payloadSerialized) || []; + if(!Array.isArray(payload)) { global.source = null; return; } @@ -490,13 +501,6 @@ const EXT_LOCALFUNCREF = 11; } } - // Running raw event listeners - try { - rawEmitter.emit(name, payloadSerialized, source); - } catch (e) { - console.error('Unhandled error during running raw event listeners', e); - } - global.source = null; }); });