Ensure that Python is initialized before doing any locking in
wxPyBeginBlockThreads and wxPyEndBlockThreads as these can be triggered after Python has been finalized in embedding situations. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1167,6 +1167,9 @@ void wxPyEndAllowThreads(PyThreadState* saved) {
|
||||
|
||||
wxPyBlock_t wxPyBeginBlockThreads() {
|
||||
#ifdef WXP_WITH_THREAD
|
||||
if (! Py_IsInitialized()) {
|
||||
return (wxPyBlock_t)0;
|
||||
}
|
||||
#if wxPyUSE_GIL_STATE
|
||||
PyGILState_STATE state = PyGILState_Ensure();
|
||||
return state;
|
||||
@@ -1192,6 +1195,9 @@ wxPyBlock_t wxPyBeginBlockThreads() {
|
||||
|
||||
void wxPyEndBlockThreads(wxPyBlock_t blocked) {
|
||||
#ifdef WXP_WITH_THREAD
|
||||
if (! Py_IsInitialized()) {
|
||||
return;
|
||||
}
|
||||
#if wxPyUSE_GIL_STATE
|
||||
PyGILState_Release(blocked);
|
||||
#else
|
||||
|
Reference in New Issue
Block a user