Skip to content

Commit e1151d0

Browse files
Merge pull request #1207 from qbcore-framework/fix/client-callback-collisions
Fix/client callback collisions
2 parents 5cf9f4b + 63d6cc9 commit e1151d0

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

server/events.lua

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,15 @@ end)
124124

125125
-- Client Callback
126126
RegisterNetEvent('QBCore:Server:TriggerClientCallback', function(name, ...)
127-
if QBCore.ClientCallbacks[name] then
128-
QBCore.ClientCallbacks[name].promise:resolve(...)
127+
local ClientCallback = QBCore.ClientCallbacks[name..source]
128+
if ClientCallback then
129+
ClientCallback.promise:resolve(...)
129130

130-
if QBCore.ClientCallbacks[name].callback then
131-
QBCore.ClientCallbacks[name].callback(...)
131+
if ClientCallback.callback then
132+
ClientCallback.callback(...)
132133
end
133134

134-
QBCore.ClientCallbacks[name] = nil
135+
QBCore.ClientCallbacks[name..source] = nil
135136
end
136137
end)
137138

server/functions.lua

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,7 @@ end
441441
---@param cb function
442442
---@param ... any
443443
function QBCore.Functions.TriggerClientCallback(name, source, ...)
444+
if not source then return end
444445
local cb = nil
445446
local args = { ... }
446447

@@ -449,16 +450,16 @@ function QBCore.Functions.TriggerClientCallback(name, source, ...)
449450
table.remove(args, 1)
450451
end
451452

452-
QBCore.ClientCallbacks[name] = {
453+
QBCore.ClientCallbacks[name..source] = {
453454
callback = cb,
454455
promise = promise.new()
455456
}
456457

457458
TriggerClientEvent('QBCore:Client:TriggerClientCallback', source, name, table.unpack(args))
458459

459460
if cb == nil then
460-
Citizen.Await(QBCore.ClientCallbacks[name].promise)
461-
return QBCore.ClientCallbacks[name].promise.value
461+
Citizen.Await(QBCore.ClientCallbacks[name..source].promise)
462+
return QBCore.ClientCallbacks[name..source].promise.value
462463
end
463464
end
464465

0 commit comments

Comments
 (0)