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:
Robin Dunn
2005-05-11 17:06:22 +00:00
parent 9751f1a830
commit ea19c9a899

View File

@@ -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