On 21 Nov 2008, at 21:53, William Newbery wrote:
> I want add attributes to my c++ classes that can be used from
> python. I know ive got to use the getattr method, however my
> implementation crashes on the second access with an error about a
> negative reference count.
virtual Py::Object getattr(const char *name)
else return getattr_methods(name);
asObject takes ownership of cls2. And when the ref count drops to 0
cls2 is deleted.
You then pass a pointer to a deleted object ot asObject as get a crash.
I suggest that you keep cls2 is a Py::Object so that you keep a ref
count of 1 so long as Cls() exists.
I added std::cout to the c'tor and d'tor of your objects to prove this
was the case.