From: John L. <jr...@us...> - 2007-03-15 00:01:40
|
Update of /cvsroot/wxlua/wxLua/modules/wxluasocket/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv15657/wxLua/modules/wxluasocket/src Modified Files: wxluasocket.cpp Log Message: Remove wxLua_AddTrackedObject functions and just use wxLuaState::AddTrackedObject directly Remove all gc (destructor, LuaDelete) functions from the methods of a class since we can delete the objects in the single gc function in wxlbind.cpp anyway. Index: wxluasocket.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxluasocket.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** wxluasocket.cpp 26 Feb 2007 01:57:07 -0000 1.17 --- wxluasocket.cpp 15 Mar 2007 00:01:26 -0000 1.18 *************** *** 38,42 **** returns = new wxLuaDebuggerServer(portNumber); // add to tracked memory list ! wxLua_AddTrackedObject(wxlState, (wxLuaDebuggerServer *)returns); // push the constructed class pointer wxlState.PushUserDataType(s_wxluatag_wxLuaDebuggerServer, returns); --- 38,42 ---- returns = new wxLuaDebuggerServer(portNumber); // add to tracked memory list ! wxlState.AddTrackedObject((wxLuaDebuggerServer *)returns); // push the constructed class pointer wxlState.PushUserDataType(s_wxluatag_wxLuaDebuggerServer, returns); *************** *** 350,375 **** } - static int LUACALL wxLua_wxLuaDebuggerServer_destructor(lua_State *L) - { - wxLuaState wxlState(L); - wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); - - // remove from tracked memory list - if (self != 0) - wxlState.RemoveTrackedObject(self); - return 0; - } - static int LUACALL wxLua_wxLuaDebuggerServer_Delete(lua_State *L) { wxLuaState wxlState(L); wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); ! // remove from tracked memory list ! if (self != 0) ! if (wxlState.RemoveTrackedObject(self)) ! { // if removed, reset the tag so that gc() is not called on this object. ! lua_pushnil(L); ! lua_setmetatable(L, -2); ! } return 0; } --- 350,363 ---- } static int LUACALL wxLua_wxLuaDebuggerServer_Delete(lua_State *L) { wxLuaState wxlState(L); wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); ! // if removed from tracked mem list, reset the tag so that gc() is not called on this object. ! if ((self != NULL) && wxlState.RemoveTrackedObject(self)) ! { ! lua_pushnil(L); ! lua_setmetatable(L, -2); ! } return 0; } *************** *** 399,403 **** { LuaMethod, "GetProgramName", wxLua_wxLuaDebuggerServer_GetProgramName, 0, 0, s_wxluaargArray_None }, { LuaMethod, "GetNetworkName", wxLua_wxLuaDebuggerServer_GetNetworkName, 0, 0, s_wxluaargArray_None }, - { LuaDelete, "wxLuaDebuggerServer", wxLua_wxLuaDebuggerServer_destructor, 0, 0, s_wxluaargArray_None }, { LuaMethod, "Delete", wxLua_wxLuaDebuggerServer_Delete, 0, 0, s_wxluaargArray_None }, }; --- 387,390 ---- *************** *** 472,497 **** } - static int LUACALL wxLua_wxLuaDebuggerEvent_destructor(lua_State *L) - { - wxLuaState wxlState(L); - wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); - - // remove from tracked memory list - if (self != 0) - wxlState.RemoveTrackedObject(self); - return 0; - } - static int LUACALL wxLua_wxLuaDebuggerEvent_Delete(lua_State *L) { wxLuaState wxlState(L); wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); ! // remove from tracked memory list ! if (self != 0) ! if (wxlState.RemoveTrackedObject(self)) ! { // if removed, reset the tag so that gc() is not called on this object. ! lua_pushnil(L); ! lua_setmetatable(L, -2); ! } return 0; } --- 459,472 ---- } static int LUACALL wxLua_wxLuaDebuggerEvent_Delete(lua_State *L) { wxLuaState wxlState(L); wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); ! // if removed from tracked mem list, reset the tag so that gc() is not called on this object. ! if ((self != NULL) && wxlState.RemoveTrackedObject(self)) ! { ! lua_pushnil(L); ! lua_setmetatable(L, -2); ! } return 0; } *************** *** 505,509 **** { LuaMethod, "GetFileName", wxLua_wxLuaDebuggerEvent_GetFileName, 0, 0, s_wxluaargArray_None }, { LuaMethod, "GetMessage", wxLua_wxLuaDebuggerEvent_GetMessage, 0, 0, s_wxluaargArray_None }, - { LuaDelete, "wxLuaDebuggerEvent", wxLua_wxLuaDebuggerEvent_destructor, 0, 0, s_wxluaargArray_None }, { LuaMethod, "Delete", wxLua_wxLuaDebuggerEvent_Delete, 0, 0, s_wxluaargArray_None }, }; --- 480,483 ---- |