Hi, I'm trying to understand how wxLua handles its event mechanism. I can see that for every call to Connect(), wxLua will create a new object of wxLuaEventCallback. But I don't see where these get deleted.
My assumption is that whenever a window is closed, wxLuaWinDestroyCallback will do the cleaning up and AFAICS it iterates over all event callbacks and calls wxlCallback->ClearwxLuaState(); on every callback it finds. But it also does the following: wxluaR_unref(L, wxlCallback->GetLuaFuncRef(), &wxlua_lreg_refs_key); This is confusing me because this is also done in the wxLuaEventCallback dtor: m_wxlState.wxluaR_Unref(m_luafunc_ref, &wxlua_lreg_refs_key); So are function references possibly removed twice here? But back to my original question: I'd like to know which code causes the wxLuaEventCallback dtor to be called. My assumption is that it is ClearWxLuaState() because that decrements the reference count and then the object might be marked for garbage collection by the wxWidgets main loop. But I don't know enough about C++ and wxWidgets so I'd really be glad if somebody could tell me if my assumption is right. I just need to know what code in wxLua triggers the wxLuaEventCallback dtor. Thanks! -- Best regards, Andreas Falkenhahn mailto:andr...@falkenhahn.com ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk _______________________________________________ wxlua-users mailing list wxlua-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxlua-users