From abd470996dd4cf7ed4d3ff0d9b65aa98239f68c1 Mon Sep 17 00:00:00 2001 From: Joe <55846624+rtldg@users.noreply.github.com> Date: Mon, 5 Apr 2021 18:21:18 +0000 Subject: [PATCH] clone handle for calling plugin --- scripting/eventqueuefix.sp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripting/eventqueuefix.sp b/scripting/eventqueuefix.sp index 2752519..4bbd16e 100644 --- a/scripting/eventqueuefix.sp +++ b/scripting/eventqueuefix.sp @@ -366,10 +366,16 @@ public any Native_GetClientEvents(Handle plugin, int numParams) int client = GetNativeCell(1); if(client < 0 || client > MaxClients || !IsClientConnected(client) || !IsClientInGame(client) || IsClientSourceTV(client)) return false; - + + ArrayList pe = g_aPlayerEvents[client].Clone(); + ArrayList ow = g_aOutputWait[client].Clone(); + eventpack_t ep; - ep.playerEvents = g_aPlayerEvents[client].Clone(); - ep.outputWaits = g_aOutputWait[client].Clone(); + ep.playerEvents = view_as(CloneHandle(pe, plugin)); + ep.outputWaits = view_as(CloneHandle(ow, plugin)); + + delete pe; + delete ow; SetNativeArray(2, ep, sizeof(eventpack_t)); return true;