]> git.saurik.com Git - wxWidgets.git/commitdiff
Ensure that Python is initialized before doing any locking in
authorRobin Dunn <robin@alldunn.com>
Wed, 11 May 2005 17:06:22 +0000 (17:06 +0000)
committerRobin Dunn <robin@alldunn.com>
Wed, 11 May 2005 17:06:22 +0000 (17:06 +0000)
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

wxPython/src/helpers.cpp

index 96bed66402b31c42c768dfce589867c2762152a7..59499e566ab77e9466347f73797c8ffe600b6799 100644 (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