Get static attribute setters finally working.

This commit is contained in:
Gustavo J. A. M. Carneiro committed 2007-06-16 18:20:44 +01:00
1 parent 4f28e14a1b
commit 990ac8f6f6
2 files changed
+7 -5

No files matched your search

+4 -2
View File
@@ -188,8 +188,8 @@ class CppStaticAttributeSetter(PySetter):
self.after_call.write_code('return 0;')
## now generate the function itself
code_sink.writeln(("static int %s(%s *self PYBINDGEN_UNUSED, "
"PyObject *obj PYBINDGEN_UNUSED, PyObject *value)")
code_sink.writeln(("static int %s(%s *dummy PYBINDGEN_UNUSED, "
"PyObject *value)")
% (self.c_function_name, self.class_.pystruct))
code_sink.writeln('{')
code_sink.indent()
@@ -289,6 +289,8 @@ PyTypeObject %(pytypestruct)s = {
%(pytypestruct)s.tp_traverse = %(parent_metaclass)s->tp_traverse;
%(pytypestruct)s.tp_clear = %(parent_metaclass)s->tp_clear;
%(pytypestruct)s.tp_is_gc = %(parent_metaclass)s->tp_is_gc;
/* PyType tp_setattro is too restrictive */
%(pytypestruct)s.tp_setattro = PyObject_GenericSetAttr;
PyType_Ready(&%(pytypestruct)s);
""" % dict(pytypestruct=self.pytypestruct, parent_metaclass=self.parent_metaclass_expr))