Commit Graph

229 Commits

Author SHA1 Message Date
Serhiy Storchaka aaea2802da
[2.7] bpo-34794: Fix a leak in Tkinter. (GH-10025) (GH-10181)
Based on the investigation by Xiang Zhang.
(cherry picked from commit df13df41a2)
2018-10-28 19:36:02 +02:00
Serhiy Storchaka 48c8bf21f9
[2.7] bpo-34234: Use _PyAnyInt_Check() and _PyAnyInt_CheckExact(). (GH-8479) 2018-07-31 09:09:36 +03:00
Serhiy Storchaka 328b5d0e64 [2.7] bpo-31675: Fix memory leaks in Tkinter's methods splitlist() and split() (GH-3866) (#3876)
when pass a string larger than 2 GiB.

Decrease memory requirements for Tcl's bigmem tests..
(cherry picked from commit 27c623c845)
2017-10-04 21:37:53 +03:00
Victor Stinner bdd3567ccc _tkinter: Fix refleak in getint() (#2153)
PyNumber_Int() creates a new reference: need to decrement result
reference counter.
2017-06-13 11:12:01 +02:00
Serhiy Storchaka 4089b50080 Fixed possible NULL decrefing. 2016-10-28 12:14:34 +03:00
Martin Panter 4e6e565368 Fix English spelling and grammar errors 2016-06-20 07:52:50 +00:00
Serhiy Storchaka 656ffdb4de Issue #16840. Turn off bignum support in tkinter with with Tcl earlier than 8.5.8
(tclTomMath.h was broken) and non-final Tcl 8.6.
2015-04-21 21:17:33 +03:00
Serhiy Storchaka 02d0298f41 Issue #16840: Turn on support of bignums only in final release of Tcl 8.5. 2015-04-20 14:05:37 +03:00
Serhiy Storchaka f29bc70bff Issue #15133: _tkinter.tkapp.getboolean() now supports long and Tcl_Obj and
always returns bool.  tkinter.BooleanVar now validates input values (accepted
bool, int, long, str, unicode, and Tcl_Obj).  tkinter.BooleanVar.get() now
always returns bool.
2015-04-04 12:42:25 +03:00
Serhiy Storchaka c77c5b5f03 Issue #16840: Tkinter now supports 64-bit integers added in Tcl 8.4 and
arbitrary precision integers added in Tcl 8.5.
2015-04-02 18:46:30 +03:00
Serhiy Storchaka cba6b5d045 Issue #21526: Tkinter now supports new boolean type in Tcl 8.5. 2015-04-02 10:35:57 +03:00
Serhiy Storchaka 17c01785ee Issue #21951: Fixed a crash in Tkinter on AIX when called Tcl command with
empty string or tuple argument.

On some platforms Tcl memory allocator returns NULL when allocating zero-sized
block of memory.
2014-09-11 10:56:59 +03:00
Serhiy Storchaka 1c09c0ea11 Issue #21951: Use attemptckalloc() instead of ckalloc() in Tkinter.
ckalloc() causes the Tcl interpreter to panic, attemptckalloc() returns NULL
if the memory allocation fails.
2014-09-11 10:38:08 +03:00
Serhiy Storchaka 04fa704161 Issue #21580: Now Tkinter correctly handles binary "data" and "maskdata"
configure options of tkinter.PhotoImage.

Added private Tkapp method _createbytearray().
2014-07-31 07:48:14 +03:00
Serhiy Storchaka 5d93f408d8 Call PyErr_NoMemory() when PyMem_Malloc() fails. 2014-07-14 12:20:01 +03:00
Serhiy Storchaka 529a639669 Fixed possible integer overflow in getint, getdouble and getboolean too (issue #21552). 2014-05-30 14:28:21 +03:00
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