Commit Graph

213 Commits

Author SHA1 Message Date
Serhiy Storchaka 2a0220b18a Issue #21552: Fixed possible integer overflow of too long string lengths in
the Tkinter module on 64-bit platforms.
2014-05-30 14:23:52 +03:00
Serhiy Storchaka ccffb25c54 Issue #20368: The null character now correctly passed from Tcl to Python (in
unicode strings only).  Improved error handling in variables-related commands.
2014-02-03 21:23:46 +02:00
Victor Stinner 930c3c9e43 Issue #18909: Fix _tkinter.tkapp.interpaddr() on Windows 64-bit, don't cast
64-bit pointer to long (32 bits).
2013-09-05 00:26:15 +02:00
Serhiy Storchaka 2ac1c1a31d Issue #16809: Tkinter's splitlist() and split() methods now accept Tcl_Obj
argument.

This is needed for support Tcl/Tk 8.6.
2013-08-22 17:42:45 +03:00
Serhiy Storchaka 4203570d01 Issue #17119: Fixed integer overflows when processing large Unicode strings
and tuples in the tkinter module.
2013-08-21 21:46:12 +03:00
Serhiy Storchaka fab65428d5 Issue #18101: Tcl.split() now process Unicode strings nested in a tuple as it
do with byte strings.

Added tests for Tcl.split() and tcl.splitline().
2013-07-11 20:32:48 +03:00
Serhiy Storchaka 4676448941 Issue #13153: Tkinter functions now raise TclError instead of ValueError when
a unicode argument contains non-BMP character.
2013-02-18 13:00:08 +02:00
Antoine Pitrou 44b3b5457a Remove all other uses of the C tolower()/toupper() which could break with a Turkish locale.
(except in the strop module, which is deprecated anyway)
2011-10-04 13:55:37 +02:00
Antoine Pitrou c83ea137d7 Untabify C files. Will watch buildbots. 2010-05-09 14:46:46 +00:00
Brett Cannon 99ac9147cb Remove an unused variable.
Found using Clang's static analyzer.
2010-05-03 23:41:51 +00:00
Guilherme Polo 5d64c330dd Include tkinter.h only after including tk.h (or the equivalent for another platform). 2009-04-05 02:11:19 +00:00
Guilherme Polo 41eb08616c Typo fix 2009-03-28 19:17:16 +00:00
Guilherme Polo 1972d16230 Adjusted _tkinter to compile without warnings when WITH_THREAD is not
defined (part of issue #5035)
2009-03-27 21:43:08 +00:00
Guilherme Polo 3768b2f4ce Fixed issue #4792: Prevent a segfault in _tkinter by using the
guaranteed to be safe interp argument given to the PythonCmd in place
of the Tcl interpreter taken from a PythonCmd_ClientData.
2009-03-07 01:47:49 +00:00
Guilherme Polo c5eba1e4f7 Enforcing Tk 8.3.1 requirement. 2009-02-09 20:57:45 +00:00
Guilherme Polo a66cf5bd04 Fixed issue #5122: Synchronize tk load failure check to prevent a
potential deadlock.
2009-02-09 20:50:27 +00:00
Guilherme Polo 363161a418 Issue #1731706: Call Tcl_ConditionFinalize for Tcl_Conditions that will
not be used again (this requires Tcl/Tk 8.3.1), also fix a memory
leak in Tkapp_Call when calling from a thread different than the one that
created the Tcl interpreter.
2009-02-06 22:48:07 +00:00
Guilherme Polo 14ff18d211 Partial fix to issue #1731706: memory leak in Tkapp_Call when calling
from a thread different than the one that created the Tcl interpreter.
2009-02-06 22:26:22 +00:00
Guilherme Polo 23fe2a867b Fix for issue #1581476 2009-02-02 21:08:32 +00:00
Benjamin Peterson b3619be995 make _tkinter._flatten check the result of PySequence_Size for errors #3880 2009-01-30 02:24:39 +00:00
Guilherme Polo e7f140355b The _tkinter module functions "createfilehandler", "deletefilehandler",
"createtimerhandler", "mainloop", "dooneevent" and "quit" have been
deprecated for removal in 3.x (part of issue #3638).
2009-01-03 21:51:09 +00:00
Martin v. Löwis 111c180674 Make more symbols static. 2008-06-13 07:47:47 +00:00
Gregory P. Smith dd96db63f6 This reverts r63675 based on the discussion in this thread:
http://mail.python.org/pipermail/python-dev/2008-June/079988.html

Python 2.6 should stick with PyString_* in its codebase.  The PyBytes_* names
in the spirit of 3.0 are available via a #define only.  See the email thread.
2008-06-09 04:58:54 +00:00
Christian Heimes 593daf545b Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
Guido van Rossum 076d9eef7b Bug #1301: fixed a bad assert in _tkinter. 2008-01-03 23:54:04 +00:00
Martin v. Löwis 17cb5cf403 Return results from Python callbacks to Tcl as Tcl objects.
Fixes Tk issue #1851526
2008-01-01 21:05:17 +00:00
Christian Heimes e93237dfcc #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available. 2007-12-19 02:37:44 +00:00
Guido van Rossum b5e81aa53e Backport r56875 from py3k; double LEAVE_PYTHON when AsString() fails
in PythonCmd().
2007-08-09 21:47:11 +00:00
Martin v. Löwis 6819210b9e PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
2007-07-21 06:55:02 +00:00
Kurt B. Kaiser d67a3b9503 Many calls to tk.call involve an arglist containing a single tuple.
Calls using METH_OLDARGS unpack this tuple; calls using METH_VARARG
don't.  Tcl's concatenation of args was affected; IDLE doesn't start.

Modify Tkapp_Call() to unpack single tuple arglists.

Bug 1733943
Ref http://mail.python.org/pipermail/python-checkins/2007-May/060454.html
2007-07-05 22:03:39 +00:00
Neal Norwitz e2e447b6fb Stop using METH_OLDARGS 2007-05-22 07:16:10 +00:00
Neal Norwitz 5f17d9a1df Don't deref v if it's NULL.
Klocwork #214
2006-08-12 02:33:36 +00:00
Neal Norwitz ce5b3c3188 self is dereffed (and passed as first arg), so it's known to be good.
func is returned from PyArg_ParseTuple and also dereffed.

Reported by Klocwork, #30 (self one at least).
2006-07-16 02:02:57 +00:00
Neal Norwitz 047f3c7ffa Fix some Py_ssize_t issues 2006-06-12 02:06:42 +00:00
Andrew M. Kuchling 36f6d77931 [Bug #1497414] _self is a reserved word in the WATCOM 10.6 C compiler.
Fix by renaming the variable.

In a different module, Neal fixed it by renaming _self to self.  There's
already a variable named 'self' here, so I used selfptr.

(I'm committing this on a Mac without Tk, but it's a simple search-and-replace.
<crosses fingers>, so  I'll watch the buildbots and see what happens.)
2006-06-03 19:02:35 +00:00
Martin v. Löwis 8672519ac0 Work around deadlock risk. Will backport. 2006-05-01 06:28:01 +00:00
Neal Norwitz 65c05b20e9 Get rid of warnings about using chars as subscripts
on Alpha (and possibly other platforms) by using Py_CHARMASK().
2006-04-10 02:17:47 +00:00
Thomas Wouters a74a84d4cb Coverity found refleak: need to free 'v' after calling Tkinter_Error().
Will backport to release24.
2006-03-07 14:04:31 +00:00
Martin v. Löwis 1d519e4625 unconst. 2006-02-27 23:10:11 +00:00
Neal Norwitz 1ac754fa10 Check return result from Py_InitModule*(). This API can fail.
Probably should be backported.
2006-01-19 06:09:39 +00:00
Neal Norwitz d948a43df8 Fix icc warnings: try to set TCL_UNIX_FD for #if TCL_WIN_SOCKET == TCL_UNIX_FD. res is not used, add a XXX comment 2006-01-08 01:08:55 +00:00
Neal Norwitz 9dbc7dd6f2 Remove extra parens 2005-12-19 06:08:59 +00:00
Neal Norwitz 30b5c5d011 Fix SF bug #1072182, problems with signed characters.
Most of these can be backported.
2005-12-19 06:05:18 +00:00
Jeremy Hylton af68c874a6 Add const to several API functions that take char *.
In C++, it's an error to pass a string literal to a char* function
without a const_cast().  Rather than require every C++ extension
module to put a cast around string literals, fix the API to state the
const-ness.

I focused on parts of the API where people usually pass literals:
PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type
slots, etc.  Predictably, there were a large set of functions that
needed to be fixed as a result of these changes.  The most pervasive
change was to make the keyword args list passed to
PyArg_ParseTupleAndKewords() to be a const char *kwlist[].

One cast was required as a result of the changes:  A type object
mallocs the memory for its tp_doc slot and later frees it.
PyTypeObject says that tp_doc is const char *; but if the type was
created by type_new(), we know it is safe to cast to char *.
2005-12-10 18:50:16 +00:00
Martin v. Löwis e2713becd8 Build with --disable-unicode again. Fixes #1158607.
Will backport to 2.4.
2005-03-08 15:03:08 +00:00
Martin v. Löwis fba7369824 Patch #1050475: Fix various x86_64 build issues
regrtest.py: skip rgbimg and imageop as they are not built on 64-bit systems.
_tkinter.c: replace %.8x with %p for printing pointers.
setup.py: add lib64 into the library directories.
2004-11-13 11:13:35 +00:00
Tim Peters 51fa3b740f Tkapp_New(): Rewrite in C so it compiles again. 2004-08-04 02:16:48 +00:00
Martin v. Löwis 1fa649f2d5 Patch #986929: Add support for wish -sync and -use options. 2004-08-03 18:45:31 +00:00
Neal Norwitz 44dbae8cca Remove gcc warning from using "main". Use METH_NOARGS instead of METH_VARARGS 2004-02-19 02:44:22 +00:00
David Ascher e2b4b32025 Implementation of patch 869468
Allow the user to create Tkinter.Tcl objects which are
just like Tkinter.Tk objects except that they do not
initialize Tk. This is useful in circumstances where the
script is being run on machines that do not have an X
server running -- in those cases, Tk initialization fails,
even if no window is ever created.

Includes documentation change and tests.

Tested on Linux, Solaris and Windows.

Reviewed by Martin von Loewis.
2004-02-18 05:59:53 +00:00