From 2d58789d66f1b63ad63304584c7ac43284b540b8 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Wed, 6 Jul 2016 20:52:04 +0200 Subject: Converted cLuaState::cTableRef to use cTrackedRef. This makes the table-based callbacks resistent to LuaState unloads and safer to use. --- src/Bindings/LuaUDPEndpoint.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/Bindings/LuaUDPEndpoint.h') diff --git a/src/Bindings/LuaUDPEndpoint.h b/src/Bindings/LuaUDPEndpoint.h index 0587491ab..338ea6648 100644 --- a/src/Bindings/LuaUDPEndpoint.h +++ b/src/Bindings/LuaUDPEndpoint.h @@ -10,7 +10,7 @@ #pragma once #include "../OSSupport/Network.h" -#include "PluginLua.h" +#include "LuaState.h" @@ -28,8 +28,8 @@ class cLuaUDPEndpoint: public cUDPEndpoint::cCallbacks { public: - /** Creates a new instance of the endpoint, attached to the specified plugin and wrapping the callbacks that are in a table at the specified stack pos. */ - cLuaUDPEndpoint(cPluginLua & a_Plugin, int a_CallbacksTableStackPos); + /** Creates a new instance of the endpoint, wrapping the callbacks that are in the specified table. */ + cLuaUDPEndpoint(cLuaState::cTableRefPtr && a_Callbacks); ~cLuaUDPEndpoint(); @@ -58,11 +58,8 @@ public: void Release(void); protected: - /** The plugin for which the link is created. */ - cPluginLua & m_Plugin; - /** The Lua table that holds the callbacks to be invoked. */ - cLuaState::cRef m_Callbacks; + cLuaState::cTableRefPtr m_Callbacks; /** SharedPtr to self, so that the object can keep itself alive for as long as it needs (for Lua). */ cLuaUDPEndpointPtr m_Self; -- cgit v1.2.3