diff options
author | vidon | 2004-10-21 12:56:04 +0000 |
---|---|---|
committer | vidon | 2004-10-21 12:56:04 +0000 |
commit | b4383b8a52cd1cb19a8a09720a2b3f560aa936ad (patch) | |
tree | 3cd05a30bbc1f5c073352eaa781791e5ebf389d4 | |
parent | 1d9ef81c6f5aa492c2d2c2fc985eb26ebd5c88f9 (diff) | |
download | ivycpy-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.i | 36 |
1 files changed, 18 insertions, 18 deletions
@@ -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 |