Commit a7bf2b7f authored by Just van Rossum's avatar Just van Rossum

Callback error handling improvements:

- print traceback
- don't use fprintf()
- clear exception (implied by PyErr_Print())
parent 77f6ed70
...@@ -898,7 +898,8 @@ dragglue_TrackingHandler(DragTrackingMessage theMessage, WindowPtr theWindow, ...@@ -898,7 +898,8 @@ dragglue_TrackingHandler(DragTrackingMessage theMessage, WindowPtr theWindow,
rv = PyEval_CallObject((PyObject *)handlerRefCon, args); rv = PyEval_CallObject((PyObject *)handlerRefCon, args);
Py_DECREF(args); Py_DECREF(args);
if ( rv == NULL ) { if ( rv == NULL ) {
fprintf(stderr, "Drag: Exception in TrackingHandler\n"); PySys_WriteStderr("Drag: Exception in TrackingHandler\n");
PyErr_Print();
return -1; return -1;
} }
i = -1; i = -1;
...@@ -923,7 +924,8 @@ dragglue_ReceiveHandler(WindowPtr theWindow, void *handlerRefCon, ...@@ -923,7 +924,8 @@ dragglue_ReceiveHandler(WindowPtr theWindow, void *handlerRefCon,
rv = PyEval_CallObject((PyObject *)handlerRefCon, args); rv = PyEval_CallObject((PyObject *)handlerRefCon, args);
Py_DECREF(args); Py_DECREF(args);
if ( rv == NULL ) { if ( rv == NULL ) {
fprintf(stderr, "Drag: Exception in ReceiveHandler\n"); PySys_WriteStderr("Drag: Exception in ReceiveHandler\n");
PyErr_Print();
return -1; return -1;
} }
i = -1; i = -1;
...@@ -951,7 +953,8 @@ dragglue_SendData(FlavorType theType, void *dragSendRefCon, ...@@ -951,7 +953,8 @@ dragglue_SendData(FlavorType theType, void *dragSendRefCon,
rv = PyEval_CallObject(self->sendproc, args); rv = PyEval_CallObject(self->sendproc, args);
Py_DECREF(args); Py_DECREF(args);
if ( rv == NULL ) { if ( rv == NULL ) {
fprintf(stderr, "Drag: Exception in SendDataHandler\n"); PySys_WriteStderr("Drag: Exception in SendDataHandler\n");
PyErr_Print();
return -1; return -1;
} }
i = -1; i = -1;
......
...@@ -82,7 +82,8 @@ dragglue_TrackingHandler(DragTrackingMessage theMessage, WindowPtr theWindow, ...@@ -82,7 +82,8 @@ dragglue_TrackingHandler(DragTrackingMessage theMessage, WindowPtr theWindow,
rv = PyEval_CallObject((PyObject *)handlerRefCon, args); rv = PyEval_CallObject((PyObject *)handlerRefCon, args);
Py_DECREF(args); Py_DECREF(args);
if ( rv == NULL ) { if ( rv == NULL ) {
fprintf(stderr, "Drag: Exception in TrackingHandler\\n"); PySys_WriteStderr("Drag: Exception in TrackingHandler\\n");
PyErr_Print();
return -1; return -1;
} }
i = -1; i = -1;
...@@ -107,7 +108,8 @@ dragglue_ReceiveHandler(WindowPtr theWindow, void *handlerRefCon, ...@@ -107,7 +108,8 @@ dragglue_ReceiveHandler(WindowPtr theWindow, void *handlerRefCon,
rv = PyEval_CallObject((PyObject *)handlerRefCon, args); rv = PyEval_CallObject((PyObject *)handlerRefCon, args);
Py_DECREF(args); Py_DECREF(args);
if ( rv == NULL ) { if ( rv == NULL ) {
fprintf(stderr, "Drag: Exception in ReceiveHandler\\n"); PySys_WriteStderr("Drag: Exception in ReceiveHandler\\n");
PyErr_Print();
return -1; return -1;
} }
i = -1; i = -1;
...@@ -135,7 +137,8 @@ dragglue_SendData(FlavorType theType, void *dragSendRefCon, ...@@ -135,7 +137,8 @@ dragglue_SendData(FlavorType theType, void *dragSendRefCon,
rv = PyEval_CallObject(self->sendproc, args); rv = PyEval_CallObject(self->sendproc, args);
Py_DECREF(args); Py_DECREF(args);
if ( rv == NULL ) { if ( rv == NULL ) {
fprintf(stderr, "Drag: Exception in SendDataHandler\\n"); PySys_WriteStderr("Drag: Exception in SendDataHandler\\n");
PyErr_Print();
return -1; return -1;
} }
i = -1; i = -1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment