--- qpy/QtCore/qpycore_public_api.cpp.orig 2020-05-31 08:10:54.000000000 -0400 +++ qpy/QtCore/qpycore_public_api.cpp 2020-06-11 19:43:03.000000000 -0400 @@ -79,7 +79,7 @@ } -// A replacement for PyErr_Print() that passes the exception to qFatal(). +// A replacement for PyErr_Print() that passes the exception to qCritical(). void pyqt5_err_print() { #if PY_MAJOR_VERSION >= 3 @@ -175,7 +175,7 @@ PyErr_Restore(exception, value, traceback); PyErr_Print(); - // This will be passed to qFatal() if we can't get the detailed text. + // This will be passed to qCritical() if we can't get the detailed text. QByteArray message("Unhandled Python exception"); // Extract the detailed text if it was redirected. @@ -191,7 +191,7 @@ if (text) { - // Strip the text as qFatal() likes to add a newline. + // Strip the text as qCritical() likes to add a newline. PyObject *stripped = PyObject_CallMethod(text, CONST_CAST("strip"), NULL); @@ -249,9 +249,9 @@ Py_DECREF(new_stderr); } - // qFatal() may not call abort. + // qCritical() will not call abort. Py_BEGIN_ALLOW_THREADS - qFatal("%s", message.data()); + qCritical("%s", message.data()); Py_END_ALLOW_THREADS }