aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvidon2004-10-21 12:56:04 +0000
committervidon2004-10-21 12:56:04 +0000
commitb4383b8a52cd1cb19a8a09720a2b3f560aa936ad (patch)
tree3cd05a30bbc1f5c073352eaa781791e5ebf389d4
parent1d9ef81c6f5aa492c2d2c2fc985eb26ebd5c88f9 (diff)
downloadivycpy-b4383b8a52cd1cb19a8a09720a2b3f560aa936ad.zip
ivycpy-b4383b8a52cd1cb19a8a09720a2b3f560aa936ad.tar.gz
ivycpy-b4383b8a52cd1cb19a8a09720a2b3f560aa936ad.tar.bz2
ivycpy-b4383b8a52cd1cb19a8a09720a2b3f560aa936ad.tar.xz
Correction d'un bogue dans la callback de reception de message
-rw-r--r--ivycpy.i36
1 files changed, 18 insertions, 18 deletions
diff --git a/ivycpy.i b/ivycpy.i
index 8430952..eee60a3 100644
--- a/ivycpy.i
+++ b/ivycpy.i
@@ -289,8 +289,6 @@ pytkIvyApplicationCallback(IvyClientPtr app, void *user_data,
result = PyEval_CallObject(func,arglist);
Py_DECREF(arglist);
- Py_DECREF(eventobj);
- Py_DECREF(resultobj);
}
static void
@@ -323,8 +321,6 @@ pyIvyApplicationCallback(IvyClientPtr app, void *user_data,
result = PyEval_CallObject(func,arglist);
Py_DECREF(arglist);
- Py_DECREF(eventobj);
- Py_DECREF(resultobj);
}
static void
pytkIvyDieCallback(IvyClientPtr app, void *user_data, int id)
@@ -359,8 +355,7 @@ pytkIvyDieCallback(IvyClientPtr app, void *user_data, int id)
result = PyEval_CallObject(func,arglist);
Py_DECREF(arglist);
- Py_DECREF(resultobj);
- Py_DECREF(idobj);
+
}
static void
pyIvyDieCallback(IvyClientPtr app, void *user_data, int id)
@@ -393,9 +388,6 @@ pyIvyDieCallback(IvyClientPtr app, void *user_data, int id)
result = PyEval_CallObject(func,arglist);
Py_DECREF(arglist);
- Py_DECREF(resultobj);
- Py_DECREF(idobj);
-
}
@@ -429,7 +421,7 @@ pytkMsgCallback( IvyClientPtr app, void *user_data, int argc, char **argv )
pyargv = PyTuple_New(argc+1);
PyTuple_SetItem(pyargv,0,resultobj);
for (i = 1; i < argc+1; i++) {
- PyTuple_SetItem(pyargv,i,PyString_FromString(argv[i]));
+ PyTuple_SetItem(pyargv,i,PyString_FromString(argv[i-1]));
}
/* this codes is useless; the tuple (pyargv) is directly passed
to the Python call back
@@ -439,7 +431,6 @@ pytkMsgCallback( IvyClientPtr app, void *user_data, int argc, char **argv )
result = PyEval_CallObject(func, pyargv) ;
Py_DECREF(pyargv);
- Py_DECREF(resultobj);
}
static void
@@ -450,8 +441,8 @@ pyMsgCallback( IvyClientPtr app, void *user_data, int argc, char **argv )
PyObject *func;
PyObject *result;
PyObject *resultobj;
+ PyObject *chaine;
static void *descr = 0;
-
#ifdef __DEBUG__
printf("-pytkMsgCallback\n");
#endif
@@ -472,17 +463,26 @@ pyMsgCallback( IvyClientPtr app, void *user_data, int argc, char **argv )
pyargv = PyTuple_New(argc+1);
PyTuple_SetItem(pyargv,0,resultobj);
for (i = 1; i < argc+1; i++) {
- PyTuple_SetItem(pyargv,i,PyString_FromString(argv[i]));
+ if (argv[i-1]){
+ chaine=PyString_FromString(argv[i-1]);
+ }
+ else{
+ chaine=PyString_FromString("");
+ }
+ if(PyString_Check(chaine)){
+ PyTuple_SetItem(pyargv,i,chaine);
+ }
+ else{
+ printf("-pytkMsgCallback Error %i\n",i);
+ }
}
/* this codes is useless; the tuple (pyargv) is directly passed
to the Python call back
- arglist = Py_BuildValue("(iO)", argc, pyargv);
- result = PyEval_CallObject(func,arglist);
- Py_DECREF(arglist); */
-
+ */
result = PyEval_CallObject(func, pyargv) ;
+ printf("-pytkMsgCallback 3\n");
Py_DECREF(pyargv);
- Py_DECREF(resultobj);
+ /*Py_DECREF(resultobj);*/
}
/* jeu de 2 callback fixes (mode tk ou sans (ce sera tjs le même) appellé par