diff options
author | Guilherme Polo <ggpolo@gmail.com> | 2009-01-03 22:00:39 (GMT) |
---|---|---|
committer | Guilherme Polo <ggpolo@gmail.com> | 2009-01-03 22:00:39 (GMT) |
commit | 3f5f8228c02618480a2fd6bc8583621a94bacf2f (patch) | |
tree | 8a600ee22c8318c48b7f85870c5d08c15dd09c7d /Modules | |
parent | 92ad63f748137494e9412e429b8d1f6911a71601 (diff) | |
download | cpython-3f5f8228c02618480a2fd6bc8583621a94bacf2f.zip cpython-3f5f8228c02618480a2fd6bc8583621a94bacf2f.tar.gz cpython-3f5f8228c02618480a2fd6bc8583621a94bacf2f.tar.bz2 |
Fix for issue #3638: Remove module level functions in _tkinter that
depend on TkappObject
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_tkinter.c | 74 |
1 files changed, 8 insertions, 66 deletions
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c index dfafed5..5095060 100644 --- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -2171,19 +2171,7 @@ Tkapp_CreateFileHandler(PyObject *self, PyObject *args) &file, &mask, &func)) return NULL; -#ifdef WITH_THREAD - if (!self && !tcl_lock) { - /* We don't have the Tcl lock since Tcl is threaded. */ - PyErr_SetString(PyExc_RuntimeError, - "_tkinter.createfilehandler not supported " - "for threaded Tcl"); - return NULL; - } -#endif - - if (self) { - CHECK_TCL_APPARTMENT; - } + CHECK_TCL_APPARTMENT; tfile = PyObject_AsFileDescriptor(file); if (tfile < 0) @@ -2214,19 +2202,7 @@ Tkapp_DeleteFileHandler(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "O:deletefilehandler", &file)) return NULL; -#ifdef WITH_THREAD - if (!self && !tcl_lock) { - /* We don't have the Tcl lock since Tcl is threaded. */ - PyErr_SetString(PyExc_RuntimeError, - "_tkinter.deletefilehandler not supported " - "for threaded Tcl"); - return NULL; - } -#endif - - if (self) { - CHECK_TCL_APPARTMENT; - } + CHECK_TCL_APPARTMENT; tfile = PyObject_AsFileDescriptor(file); if (tfile < 0) @@ -2400,19 +2376,7 @@ Tkapp_CreateTimerHandler(PyObject *self, PyObject *args) return NULL; } -#ifdef WITH_THREAD - if (!self && !tcl_lock) { - /* We don't have the Tcl lock since Tcl is threaded. */ - PyErr_SetString(PyExc_RuntimeError, - "_tkinter.createtimerhandler not supported " - "for threaded Tcl"); - return NULL; - } -#endif - - if (self) { - CHECK_TCL_APPARTMENT; - } + CHECK_TCL_APPARTMENT; v = Tktt_New(func); if (v) { @@ -2438,20 +2402,8 @@ Tkapp_MainLoop(PyObject *selfptr, PyObject *args) if (!PyArg_ParseTuple(args, "|i:mainloop", &threshold)) return NULL; -#ifdef WITH_THREAD - if (!self && !tcl_lock) { - /* We don't have the Tcl lock since Tcl is threaded. */ - PyErr_SetString(PyExc_RuntimeError, - "_tkinter.mainloop not supported " - "for threaded Tcl"); - return NULL; - } -#endif - - if (self) { - CHECK_TCL_APPARTMENT; - self->dispatching = 1; - } + CHECK_TCL_APPARTMENT; + self->dispatching = 1; quitMainLoop = 0; while (Tk_GetNumMainWindows() > threshold && @@ -2461,7 +2413,7 @@ Tkapp_MainLoop(PyObject *selfptr, PyObject *args) int result; #ifdef WITH_THREAD - if (self && self->threaded) { + if (self->threaded) { /* Allow other Python threads to run. */ ENTER_TCL result = Tcl_DoOneEvent(0); @@ -2483,15 +2435,13 @@ Tkapp_MainLoop(PyObject *selfptr, PyObject *args) #endif if (PyErr_CheckSignals() != 0) { - if (self) - self->dispatching = 0; + self->dispatching = 0; return NULL; } if (result < 0) break; } - if (self) - self->dispatching = 0; + self->dispatching = 0; quitMainLoop = 0; if (errorInCmd) { @@ -2884,14 +2834,6 @@ static PyMethodDef moduleMethods[] = { {"_flatten", Tkinter_Flatten, METH_VARARGS}, {"create", Tkinter_Create, METH_VARARGS}, -#ifdef HAVE_CREATEFILEHANDLER - {"createfilehandler", Tkapp_CreateFileHandler, METH_VARARGS}, - {"deletefilehandler", Tkapp_DeleteFileHandler, METH_VARARGS}, -#endif - {"createtimerhandler", Tkapp_CreateTimerHandler, METH_VARARGS}, - {"mainloop", Tkapp_MainLoop, METH_VARARGS}, - {"dooneevent", Tkapp_DoOneEvent, METH_VARARGS}, - {"quit", Tkapp_Quit, METH_VARARGS}, {"setbusywaitinterval",Tkinter_setbusywaitinterval, METH_VARARGS, setbusywaitinterval_doc}, {"getbusywaitinterval",(PyCFunction)Tkinter_getbusywaitinterval, |