Merge pull request #1207 from qbcore-framework/fix/client-callback-collisions

Fix/client callback collisions
This commit is contained in:
Joel
2025-10-06 15:11:59 -04:00
committed by GitHub
2 changed files with 10 additions and 8 deletions
+6 -5
View File
@@ -124,14 +124,15 @@ end)
-- Client Callback -- Client Callback
RegisterNetEvent('QBCore:Server:TriggerClientCallback', function(name, ...) RegisterNetEvent('QBCore:Server:TriggerClientCallback', function(name, ...)
if QBCore.ClientCallbacks[name] then local ClientCallback = QBCore.ClientCallbacks[name..source]
QBCore.ClientCallbacks[name].promise:resolve(...) if ClientCallback then
ClientCallback.promise:resolve(...)
if QBCore.ClientCallbacks[name].callback then if ClientCallback.callback then
QBCore.ClientCallbacks[name].callback(...) ClientCallback.callback(...)
end end
QBCore.ClientCallbacks[name] = nil QBCore.ClientCallbacks[name..source] = nil
end end
end) end)
+4 -3
View File
@@ -441,6 +441,7 @@ end
---@param cb function ---@param cb function
---@param ... any ---@param ... any
function QBCore.Functions.TriggerClientCallback(name, source, ...) function QBCore.Functions.TriggerClientCallback(name, source, ...)
if not source then return end
local cb = nil local cb = nil
local args = { ... } local args = { ... }
@@ -449,7 +450,7 @@ function QBCore.Functions.TriggerClientCallback(name, source, ...)
table.remove(args, 1) table.remove(args, 1)
end end
QBCore.ClientCallbacks[name] = { QBCore.ClientCallbacks[name..source] = {
callback = cb, callback = cb,
promise = promise.new() promise = promise.new()
} }
@@ -457,8 +458,8 @@ function QBCore.Functions.TriggerClientCallback(name, source, ...)
TriggerClientEvent('QBCore:Client:TriggerClientCallback', source, name, table.unpack(args)) TriggerClientEvent('QBCore:Client:TriggerClientCallback', source, name, table.unpack(args))
if cb == nil then if cb == nil then
Citizen.Await(QBCore.ClientCallbacks[name].promise) Citizen.Await(QBCore.ClientCallbacks[name..source].promise)
return QBCore.ClientCallbacks[name].promise.value return QBCore.ClientCallbacks[name..source].promise.value
end end
end end