[PD-cvs] externals/grill/py/source bound.cpp,1.10,1.11 pyext.cpp,1.19,1.20 pyext.h,1.15,1.16
Thomas Grill
xovo at users.sourceforge.net
Thu Sep 9 06:06:35 CEST 2004
Update of /cvsroot/pure-data/externals/grill/py/source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20494/source
Modified Files:
bound.cpp pyext.cpp pyext.h
Log Message:
""
Index: pyext.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/py/source/pyext.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** pyext.h 21 Aug 2004 04:13:48 -0000 1.15
--- pyext.h 9 Sep 2004 04:06:33 -0000 1.16
***************
*** 66,69 ****
--- 66,71 ----
static pyext *GetThis(PyObject *self);
+ void SetThis();
+
V ClearBinding();
BL MakeInstance();
Index: bound.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/py/source/bound.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** bound.cpp 31 Aug 2004 04:07:35 -0000 1.10
--- bound.cpp 9 Sep 2004 04:06:33 -0000 1.11
***************
*** 133,136 ****
--- 133,138 ----
if(!pyobj) return;
+ FLEXT_ASSERT(GetThis(pyobj));
+
void *data = NULL;
const t_symbol *sym = NULL;
Index: pyext.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/py/source/pyext.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** pyext.cpp 31 Aug 2004 04:07:35 -0000 1.19
--- pyext.cpp 9 Sep 2004 04:06:33 -0000 1.20
***************
*** 88,91 ****
--- 88,98 ----
}
+ void pyext::SetThis()
+ {
+ // remember the this pointer
+ PyObject *th = PyLong_FromVoidPtr(this);
+ int ret = PyObject_SetAttrString(pyobj,"_this",th); // ref is taken
+ }
+
#if FLEXT_SYS == FLEXT_SYS_MAX
***************
*** 255,263 ****
BL pyext::DoInit()
{
! // remember the this pointer
! PyObject *th = PyLong_FromVoidPtr(this);
! int ret = PyObject_SetAttrString(pyobj,"_this",th); // ref is taken
! // call init now, after _this has been set, which is
// important for eventual callbacks from __init__ to c
PyObject *pargs = MakePyArgs(NULL,args.Count(),args.Atoms(),-1,true);
--- 262,268 ----
BL pyext::DoInit()
{
! SetThis();
! // call init now, after _this has been set, which is
// important for eventual callbacks from __init__ to c
PyObject *pargs = MakePyArgs(NULL,args.Count(),args.Atoms(),-1,true);
***************
*** 331,334 ****
--- 336,341 ----
Register("_pyext"); // self
+ SetThis();
+
PY_UNLOCK
}
More information about the Pd-cvs
mailing list