-static PyThreadState* myPyThreadState_Get() {
- PyThreadState* current;
- current = PyThreadState_Swap(NULL);
- PyThreadState_Swap(current);
- return current;
-}
-
-
-bool wxPyRestoreThread() {
- // NOTE: The Python API docs state that if a thread already has the
- // interpreter lock and calls PyEval_RestoreThread again a deadlock
- // occurs, so I put in this code as a guard condition since there are
- // many possibilites for nested events and callbacks in wxPython. If
- // The current thread is our thread, then we can assume that we
- // already have the lock. (I hope!)
- //
+// static PyThreadState* myPyThreadState_Get() {
+// PyThreadState* current;
+// current = PyThreadState_Swap(NULL);
+// PyThreadState_Swap(current);
+// return current;
+// }
+
+
+// bool wxPyRestoreThread() {
+// // NOTE: The Python API docs state that if a thread already has the
+// // interpreter lock and calls PyEval_RestoreThread again a deadlock
+// // occurs, so I put in this code as a guard condition since there are
+// // many possibilites for nested events and callbacks in wxPython. If
+// // The current thread is our thread, then we can assume that we
+// // already have the lock. (I hope!)
+// //
+// #ifdef WXP_WITH_THREAD
+// if (wxPyEventThreadState != myPyThreadState_Get()) {
+// PyEval_AcquireThread(wxPyEventThreadState);
+// return TRUE;
+// }
+// else
+// #endif
+// return FALSE;
+// }
+
+
+// void wxPySaveThread(bool doSave) {
+// #ifdef WXP_WITH_THREAD
+// if (doSave) {
+// PyEval_ReleaseThread(wxPyEventThreadState);
+// }
+// #endif
+// }
+
+
+
+wxPyTState* wxPyBeginBlockThreads() {
+ wxPyTState* state = NULL;