[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Object binding system vs LUA_REGISTRYINDEX
- From: "Brian Weed" <bw@...>
- Date: Tue, 17 Apr 2007 17:28:29 -0400
So, I have this problem with my C++ object binding system. I've
recently added code to store the Lua table that represents my C++ object
in the lua registry, with the objects pointer as a key. I did this so
that I can look up the table from the pointer for C++ to Lua callbacks
(i.e. to call a buttons OnClick() method from C++). However, since I'm
storing the lua table in the registry, it is no longer garbage collected
(since it still has a reference)...I had put the code to remove the
reference in the GC method of the object, so of course it never gets
called (DOH).
My question is this: How can I store a reference to my lua object (a
table) without there being an extra reference to it in Lua so it can be
garbage collected?
I'm guessing that there is no official way to store it on the C++ side.
Thanks.
Brian