Tk Source Code

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2026-09-25
19:04
Eliminated the compiler error raised in generic/tkMenuDraw.c. leaf check-in: 0dd5f4b1 user: csaba tags: core-8-6-branch
19:02
Eliminated the compiler error raised in generic/tkMenuDraw.c. leaf check-in: 4fb63b0b user: csaba tags: core-9-0-branch
17:47
Fix for [8da7af2f8e]: slow widget creation if default font is not used. check-in: ad904e13 user: csaba tags: core-8-6-branch
17:35
merge trunk leaf check-in: 709e05ee user: dgp tags: rc0, core-9-1-0-rc
17:22
Fix [2effa4b316]: window is not focused on create check-in: c91229e8 user: jan.nijtmans tags: core-8-6-branch
17:20
Fix [2effa4b316]: window is not focused on create check-in: 6ead31f3 user: jan.nijtmans tags: core-9-0-branch
17:16
More bools in tkFont.c leaf check-in: bd65081b user: jan.nijtmans tags: trunk, main
17:12
merge trunk check-in: ee9a77aa user: dgp tags: core-9-1-0-rc
17:09
Fix [2effa4b316]: window is not focused on create check-in: 891bf6ca user: jan.nijtmans tags: trunk, main
17:02
Fix [b9d85fc100]: X11 accessibility: root accessible is not registered with ATK. Tk defined its own global atk_get_root(), relying on symbol interposition to override the function in libatk. This does not work where libatk-bridge binds directly to libatk (illumos), so the bridge got no root object, printed "runtime check failed: (root)" and the application was not visible to assistive technologies. Set get_root, get_toolkit_name and get_toolkit_version in the AtkUtil class before initializing the bridge, as GTK does. leaf check-in: df6cd07c user: serhiy.storchaka tags: atk-util-get-root
16:48
Fix for [8da7af2f8e]: slow widget creation if default font is not used. check-in: 459cb7dc user: csaba tags: core-9-0-branch
16:39
Fix for [8da7af2f8e]: slow widget creation if default font is not used. check-in: 37a74c33 user: csaba tags: trunk, main
16:33
Fix [434c8dd804]: crash in Tk_ConfigureWidget when a default value of a canvas item option is invalid. The error message used specPtr->dbName, which is NULL for canvas item options; use the option name instead. This happened, for example, when fontconfig finds no fonts. leaf check-in: dc715711 user: serhiy.storchaka tags: canvas-default-error-crash
15:41
Fix crash caused by double free of menu GC check-in: a6d19b74 user: jan.nijtmans tags: core-9-0-branch
15:39
Fix [791527]: menu entries are drawn directly on the screen (storchaka). Also fix a crash caused by double free of menu GC. check-in: 8448bec5 user: jan.nijtmans tags: core-8-6-branch
15:29
Fix [791527]: menu entries are drawn directly on the screen check-in: 9245cab7 user: jan.nijtmans tags: core-9-0-branch
15:26
Fix [791527]: menu entries are drawn directly on the screen check-in: 0e6c3431 user: jan.nijtmans tags: trunk, main
15:09
Fix [5d52ad92fa]: creating widgets is slow when an input method is active check-in: 7345531f user: jan.nijtmans tags: core-9-0-branch
14:50
Fix [1dfc71ae4a]: configure fails without HarfBuzz although --enable-bidi was not given. Unless --enable-bidi is given explicitly, a missing, too old or unusable HarfBuzz now only disables Bidi with a warning, as a too old one did before; with --enable-bidi it is an error which mentions --disable-bidi. HAVE_BIDI, the Bidi flags and font objects are now set only after HarfBuzz was found usable; before, a build with a too old HarfBuzz still defined HAVE_BIDI with the non-Bidi font code. Regenerated configure with autoconf 2.73. leaf check-in: b83a8093 user: serhiy.storchaka tags: configure-bidi-without-harfbuzz
14:23
Fix [130949dafe]: build fails without zip: no rule to make minizip. The autoconf builds (unix and MinGW) used an external zip program to create the Tk library archive, with a fallback to minizip, but Tk's Makefiles never had a rule to build minizip. Create the archive with "zipfs mkzip" of Tcl 9, as makefile.vc has done since zip embedding was added ([30d0843b21]). The tclsh of the Tcl build directory or of the installed Tcl is used; TCLSH_NATIVE can be set to a host tclsh for cross-compiling. For static builds, tcl_library is copied from the archive of the static tclsh. This also removes the use of "find -empty", which Solaris find does not support. leaf check-in: d399f15e user: serhiy.storchaka tags: unix-zipfs-mkzip
14:13
Fix [5d52ad92fa]: creating widgets is slow when an input method is active check-in: e978f0d4 user: jan.nijtmans tags: trunk, main
14:08
Fix [7579c335f1]: Text widget: wrong bbox widths for non-ASCII characters with bidi text rendering check-in: 5299492c user: jan.nijtmans tags: trunk, main
13:02
Fix [9087fae43f]: configure: X11 header check always fails check-in: bf45f48c user: jan.nijtmans tags: trunk, main
13:01
Fix [9087fae43f]: configure: X11 header check always fails check-in: 14087b62 user: jan.nijtmans tags: core-9-0-branch
12:51
Update changes file check-in: aa39c896 user: jan.nijtmans tags: core-8-6-branch
12:43
Use more bools internally check-in: 995c9eec user: jan.nijtmans tags: trunk, main
11:35
Fix [9087fae43f]: configure: X11 header check always fails because CPP is not set. Since the stdlib.h checks were removed in [b830ddb20c], AC_PROG_CPP was only expanded inside the fd_set check, which is skipped on current systems, so SC_PATH_X ran the preprocessor check with an empty CPP and printed "couldn't find any!". Call AC_PROG_CPP right after AC_PROG_CC. Regenerated configure with autoconf 2.73. closed check-in: 78b2122a user: serhiy.storchaka tags: configure-prog-cpp
11:09
Merge trunk leaf check-in: 531fbdcc user: jan.nijtmans tags: tip-748
10:56
Fix [1954237]: double click is lost if processing a click takes too long. Fix [2148529]: canvas scrolls when the scrollbar indicates that it cannot. Backport of [6498c68552] from 9.0 and 9.1: on Windows the time of a mouse or key event was the time at which the message was processed, not the time at which it was posted, so if a binding script ran longer than the double click time, the events of the second click got too late times and no <Double-1> event was generated. A new TkpGetEventTime() returns GetMessageTime() on Windows and the current time on macOS. check-in: 1f958e6c user: serhiy.storchaka tags: core-8-6-branch
10:44
Fix [0ec9336873bc987c] followup: Make --disable-bidi compile/work again. check-in: 808a0c7a user: jan.nijtmans tags: trunk, main
10:28
Fix [1954237]: double click is lost if processing a click takes too long. Fix [2148529]: canvas scrolls when the scrollbar indicates that it cannot check-in: 3a1b43c4 user: jan.nijtmans tags: core-9-0-branch
10:20
Fix [3138512]: an application with a global grab could not be restored from the taskbar after "show desktop". The mouse capture set by the global grab stops Windows from restoring the minimized window. Release the capture on SC_RESTORE; Tk sets it again on the next pointer event. testwinevent now accepts WM_SYSCOMMAND; new test winWm-9.3. leaf check-in: ba25235a user: serhiy.storchaka tags: win-global-grab-restore
10:18
Tests for [2814003]: new test winMsgbox-4.1 checks that the mouse capture of a global grab is restored after a native message box (with the new testgetcapture command), and msgbox-4.1 checks that the global grab is restored after a Tk message box. leaf check-in: fff2ed5d user: serhiy.storchaka tags: win-dialog-release-capture
09:50
Fix [1954237]: double click is lost if processing a click takes too long. Fix [2148529]: canvas scrolls when the scrollbar indicates that it cannot check-in: 2535a940 user: jan.nijtmans tags: trunk, main
09:00
Fix [d5d7f548bd]: option readfile handles backslash-space and backslash-tab as in the X11 resource file syntax.

Replace "\ " and "\<tab>" anywhere in the value again, as Xlib does, instead of only one at the start (the special case added for [766ef52f31]). Values which contain backslashes, like Tcl lists, must be escaped when written to the file; this is now documented. Octal escapes accept only octal digits. leaf check-in: 7b80bfa5 user: serhiy.storchaka tags: option-readfile-x11-escapes

07:27
Fix the build and text layout with --disable-bidi after [3d18c59227].

Without TK_LAYOUT_WITH_BASE_CHUNKS the uses of CharInfo.isRtl and ChunkIsRtl() added in [8ce823d20c] did not compile, and CharChunkMeasureChars() always returned 0, because the layout proc measures before setting the CharInfo, so every text widget looped in LayoutDLine until memory was exhausted. closed check-in: c4ad2e41 user: serhiy.storchaka tags: text-disable-bidi-build

06:59
Fix [7ca431c997]: MS-Win: tk_getOpenFile and tk_getSaveFile leak memory when -initialfile is given more than once check-in: ec1a14ce user: jan.nijtmans tags: trunk, main
06:56
Fix [1736223fff]: errors in ::tk::mac::PerformService were ignored.

Report them with Tcl_BackgroundException(), as the other ::tk::mac:: handlers do, and call the handler only if it exists. leaf check-in: ca490889 user: serhiy.storchaka tags: macos-performservice-bgerror, core-macos-performservice-bgerror

02:02
Fix for [7f3bea9f15] to allow select when no open/close indicator check-in: 2ee8b64b user: bohagan tags: trunk, main
01:41
Improve test suite performance leaf check-in: 4881b9a3 user: kevin_walzer tags: wayland_test
2026-09-24
20:45
Add tests imgPhInstance-7.1 and 7.2 for -gamma and -palette [32f2e19de8]. leaf check-in: b7178d60 user: serhiy.storchaka tags: win-photo-gamma-palette
19:15
Fix [54c2ca0e94]: photo: pixels made semi-transparent with "transparency set ... -alpha" are drawn opaque.

Set the COMPLEX_ALPHA flag when "transparency set -alpha" sets a partial alpha value. Add test imgPhInstance-6.1. leaf check-in: 3faec478 user: serhiy.storchaka tags: photo-transparency-set-alpha

16:24
Fix [7ca431c997]: MS-Win: tk_getOpenFile and tk_getSaveFile leak memory when -initialfile is given more than once.

Free the previous -initialfile value before converting the new one. closed check-in: 18ed3e6f user: serhiy.storchaka tags: win-dialog-initialfile-leak

14:20
Update changes.md check-in: 3e424834 user: jan.nijtmans tags: core-9-0-branch
14:18
Fix [3131699cb4]: Mapped/Unmapped and Iconic State Problems check-in: dff1adf8 user: jan.nijtmans tags: core-8-6-branch
13:53
Fix [32f2e19de8]: Windows: photo -gamma and -palette are ignored since RGBA rendering.

Draw the photo instance pixmap, where gamma correction and palette reduction are applied, when the instance has a non-default gamma or palette and the image has no partial transparency. check-in: c892f772 user: serhiy.storchaka tags: win-photo-gamma-palette

12:50
Fix [0ec9336873bc987c]: --disable-bidi does not disable base chunks and drawing in context on X11 check-in: 3d18c592 user: jan.nijtmans tags: trunk, main
12:46
Fix [3131699cb4]: Mapped/Unmapped and Iconic State Problems check-in: 8a03a558 user: jan.nijtmans tags: core-9-0-branch
12:41
Fix [3131699cb4]: Mapped/Unmapped and Iconic State Problems check-in: 9a32b4c8 user: jan.nijtmans tags: trunk, main
12:00
Fix for [e7fc29ce4c]: Performance problems with "photo copy -to". check-in: db55ab86 user: csaba tags: core-8-6-branch