mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 18:31:55 -04:00
print exception
This commit is contained in:
parent
4f67da1cd1
commit
dd84e5b978
@ -228,6 +228,21 @@ call_python_func(PyObject *function, PyObject *args) {
|
||||
// In the main thread, just call the function.
|
||||
result = PyObject_Call(function, args, NULL);
|
||||
|
||||
if (result == (PyObject *)NULL) {
|
||||
// Temporarily save and restore the exception state so we can print a
|
||||
// callback on-the-spot.
|
||||
PyObject *exc, *val, *tb;
|
||||
PyErr_Fetch(&exc, &val, &tb);
|
||||
|
||||
Py_XINCREF(exc);
|
||||
Py_XINCREF(val);
|
||||
Py_XINCREF(tb);
|
||||
PyErr_Restore(exc, val, tb);
|
||||
PyErr_Print();
|
||||
|
||||
PyErr_Restore(exc, val, tb);
|
||||
}
|
||||
|
||||
} else {
|
||||
#ifdef SIMPLE_THREADS
|
||||
// We can't use the PyGILState interface, which assumes we are using
|
||||
|
Loading…
x
Reference in New Issue
Block a user