Issue #3835: Refuse to use unthreaded Tcl in threaded Python.
Patch by Guilherme Polo and Andrew Svetlov.
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index abbe0ec..94ae48d 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -613,6 +613,13 @@
}
#endif
#ifdef WITH_THREAD
+ if (!(v->threaded)) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Tcl/Tk was not compiled with --enable-threads but "
+ "Python has threads enabled");
+ Py_DECREF(v);
+ return 0;
+ }
if (v->threaded && tcl_lock) {
/* If Tcl is threaded, we don't need the lock. */
PyThread_free_lock(tcl_lock);