Tk Source Code

Timeline
Login

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

50 most recent check-ins

2026-09-29
11:36
X11 (HarfBuzz/SheenBidi font backend): remove the 512-glyph limit of the shaper [4eef1fa86e]

Text shaped by HarfBuzz (RTL scripts, CJK, ...) was cut at 512 glyphs when drawn and measured. The shaped glyph buffer now uses arrays which grow as needed, and the bidi run, subrun and cluster tables are sized by the string. The cluster breaks and the cluster table are built without quadratic loops. leaf check-in: 9c320362 user: serhiy.storchaka tags: x11-shaper-unlimited

11:35
Merge x11-shaper-long-string leaf check-in: 1a15bbff user: serhiy.storchaka tags: x11-bidi-long-text
11:32
Merge trunk check-in: 7ae728cf user: serhiy.storchaka tags: x11-bidi-long-text
11:08
Bidi requires Xft: disable it if Xft is disabled or not found [1dfc71ae4a]

With --disable-xft, or if Xft is not found, Bidi is now disabled (with a notice or warning) instead of turning Xft on again or selecting the Bidi backend which cannot be built without Xft. Combined with an explicit --enable-bidi it is an error. Xft is now checked before HarfBuzz and the Bidi setup. leaf check-in: 603e6253 user: serhiy.storchaka tags: configure-bidi-requires-xft

10:18
Fix for [3301552fff]: ttk::spinbox -font does not resize buttons. leaf check-in: 98f2f50e user: csaba tags: core-8-6-branch
10:10
Fix for [3301552fff]: ttk::spinbox -font does not resize buttons. leaf check-in: 8ec01a62 user: csaba tags: core-9-0-branch
10:05
Fix for [3301552fff]: ttk::spinbox -font does not resize buttons. leaf check-in: e7c81329 user: csaba tags: trunk, main
09:41
X11 (HarfBuzz/SheenBidi font backend): fix a stack buffer overflow for strings of 1024 or more bytes [4eef1fa86e]

X11Shaper_ShapeString() marked cluster boundaries in a char array of 1024 elements indexed by byte offsets, so shaping a longer string, e.g. about 350 CJK characters, overwrote the stack and crashed. Size the array by the string. leaf check-in: 7889ba20 user: serhiy.storchaka tags: x11-shaper-long-string

08:48
Fix [1652598]: Free memory read tkOption.c SetupStacks

ExtendStacks() can add elements to the option stack being scanned and reallocate it, so the loop kept reading the old array. Fetch the element anew on each iteration. leaf check-in: 2d944be2 user: serhiy.storchaka tags: option-stack-realloc

08:18
Add tests textTag-19.5 to 19.7 for all RTL character ranges, characters outside them, and punctuation and whitespace in RTL lines [5d983ebf48]. leaf check-in: 28f9b9c3 user: serhiy.storchaka tags: text-rtl-detect-speed
07:47
Add (manual) testcase check-in: 018eee75 user: jan.nijtmans tags: trunk, main
07:44
Mark ttk-justify-option branch as merged check-in: 3945a50c user: jan.nijtmans tags: trunk, main
07:43
Add a manual test (userInteraction) for -justify of ttk::label, ttk::button and ttk::progressbar [e6b5b79dce]. closed check-in: 90ad4101 user: serhiy.storchaka tags: ttk-justify-option
07:41
Fix [e6b5b79dce]: ttk -justify widget option is ignored since 9.1b1 check-in: 27c0b4ad user: jan.nijtmans tags: trunk, main
2026-09-28
21:17
Fix [e6b5b79dce] for ttk::progressbar too: store -justify as a Tcl_Obj again. check-in: 367a16c7 user: serhiy.storchaka tags: ttk-justify-option
21:06
Fix [e6b5b79dce]: ttk -justify widget option is ignored since 9.1b1

The option was stored only as an int, without a Tcl_Obj, so it was not passed to the text element. Store it as a Tcl_Obj again. check-in: 1644c703 user: serhiy.storchaka tags: ttk-justify-option

20:40
Fix [3301552]: ttk::spinbox -font does not resize buttons

In the vista theme the arrows are placed at the top and at the bottom of the field, so with a large font there was a gap between them. Extend them to fill the space between them, as in the native up-down control. closed check-in: 6ff1ea80 user: serhiy.storchaka tags: vista-spinbox-arrows

20:05
Fix [1100518]: Button should stay in -overrelief state after event

After a click, the button relief was restored to the -relief value even if the mouse was still in the button. Set it to the -overrelief value, as on entry. leaf check-in: f27b1cfd user: serhiy.storchaka tags: button-overrelief-after-click

19:32
Fix [1391053]: Win32 nonclient double-click causes spurious Button-1 in app

A button pressed in the non-client area of a toplevel can still be down after the default processing, if a double-click on the title bar or the system menu icon maximized or closed the window. It was reported as a press in the Tk window which is now under the pointer. Ignore such buttons until they are released. leaf check-in: 3f837827 user: serhiy.storchaka tags: win-nonclient-buttons

18:49
Fix [991849]: removal/optimization of scrollbar events?

Canvas, text and ttk scrollable widgets called the scroll commands for an unmapped window, with the fractions for its size 1x1 before the first mapping. Postpone the call until the window is mapped, as the listbox does. leaf check-in: 48830cec user: serhiy.storchaka tags: scroll-command-unmapped

17:50
Shift-double-click in the icon list no longer invokes the file dialog. Add a test for mixed Control-click and Shift-click. leaf check-in: 37c17b63 user: serhiy.storchaka tags: iconlist-keep-selection
17:28
Control-double-click in the icon list no longer invokes the file dialog. Add tests for mouse clicks in the icon list. check-in: 886f5750 user: serhiy.storchaka tags: iconlist-keep-selection
17:19
Remove garbled text leaf check-in: c5846aa3 user: kevin_walzer tags: wayland_test
17:15
Ensure that the wm protocol command works on Wayland check-in: 03743914 user: kevin_walzer tags: wayland_test
17:01
Fix [600313]: the icon list of the file dialog no longer clears the selection when it loses focus. check-in: b3156b6d user: serhiy.storchaka tags: iconlist-keep-selection
15:30
Fix [220931]: the documentation of "option get" suggested that an entry must match both the name and the class of the option. An entry matches if the last word of its pattern is either the name or the class. leaf check-in: 0fda9c1b user: serhiy.storchaka tags: doc-option-get-class
15:13
Fix [481255]: photo images with -palette 2 were corrupted on Windows. TkAlignImageData() computed the line length of the output bitmap from the line length of the input data instead of from the width, and TkPutImage() drew the 1 bits of a monochrome image with the background color instead of the foreground color. New test command testalignimagedata and tests imgPhoto-26.*. leaf check-in: b87aa58e user: serhiy.storchaka tags: win-mono-image
14:20
Fix [fde9dc2392]: X error BadDrawable when using an image element created by "ttk::style element create" on another display. The images of an image specification are now got for a window on the display where they are drawn, and released when that window is destroyed. New tests image-3.1 and image-3.2. leaf check-in: 63631a59 user: serhiy.storchaka tags: ttk-image-multiple-displays
14:00
Use TkObjIsEmpty() in more places check-in: 40f0e170 user: jan.nijtmans tags: trunk, main
13:35
Fix [483387]: BadFont error when a named font used on another display was changed or recreated. The fonts which depend on a named font were recreated for the display of the main window instead of the display where they are used; use a window on their screen. New test font-47.4. leaf check-in: be529645 user: serhiy.storchaka tags: font-multiple-displays
13:34
Bump version number in release notes. Highlight incompatibilities leaf check-in: 8758d345 user: dgp tags: rc1, core-9-1-0-rc
13:30
Accept bug fixes for release that address problems reported with RC0. check-in: 84e2232d user: dgp tags: core-9-1-0-rc
13:30
Fix [d01ec103c0]: After "wm withdraw .;wm state . iconic", "wm state ." always returns "withdrawn". Use some more TkObjIsEmpty() check-in: 0beff571 user: jan.nijtmans tags: core-9-0-branch
12:54
Fix [d01ec103c0]: After "wm withdraw .;wm state . iconic", "wm state ." always returns "withdrawn" check-in: 0f881dba user: jan.nijtmans tags: trunk, main
12:44
[d3b964] Made changes.md more precise 2nd try, sorry. check-in: 21f40b4b user: oehhar tags: core-9-0-branch
12:39
Add Wayland definition to tk::pkgconfig for fonts check-in: cf23c803 user: kevin_walzer tags: wayland_test
12:36
Correct regression with CJK text check-in: 926bf167 user: kevin_walzer tags: wayland_test
12:24
Fix typo check-in: 1316b4a9 user: kevin_walzer tags: wayland_test
12:22
Correct display of TkFixedFont in text widget check-in: ca7160f6 user: kevin_walzer tags: wayland_test
12:12
Fix compiler warning on macOS: unused variable 'useBuffer' check-in: 5ba9b76c user: jan.nijtmans tags: core-9-1-0-rc
12:10
Fix [d5d7f548bd]: option readfile handles backslash-space and backslash-tab as in the X11 resource file syntax check-in: 1e68ab40 user: jan.nijtmans tags: core-9-1-0-rc
11:53
Fix [1813595]: loop race in canvas Enter / Leave bindings check-in: 93336787 user: jan.nijtmans tags: trunk, main
11:46
Fix [d5d7f548bd]: option readfile handles backslash-space and backslash-tab as in the X11 resource file syntax check-in: 1b3c3c45 user: jan.nijtmans tags: trunk, main
11:39
The default font of the menu is the system menu font specified by its name and size, not TkMenuFont: do not draw a menu bar with the default font by Tk. leaf check-in: 738ed3c9 user: serhiy.storchaka tags: win-menubar-colors-uah
11:39
The default font of the menu is the system menu font specified by its name and size, not TkMenuFont: do not draw a menu bar with the default font by Tk. leaf check-in: 80663c87 user: serhiy.storchaka tags: win-menubar-colors-ownerdraw
11:35
Fix [3f5867c997]: Inconsistency between grid info, place info and pack info leaf check-in: 320e533d user: jan.nijtmans tags: bug-3f5867c997, core-bug-3f5867c997
11:20
Fix [11bd4a03a0]: the Windows menu bar ignored the colors and fonts of the menu. A menu bar with non-default colors or fonts is now drawn by Tk, handling the undocumented WM_UAHDRAWMENU, WM_UAHDRAWMENUITEM and WM_UAHMEASUREMENUITEM messages. If they are not sent (e.g. Wine), the system draws it as before. check-in: 0204f94e user: serhiy.storchaka tags: win-menubar-colors-uah
11:20
Fix [11bd4a03a0]: the Windows menu bar ignored the colors and fonts of the menu. The items of a menu bar with non-default colors or fonts are now drawn by Tk (owner-drawn items), using only documented Windows API. The menu bar keeps the standard height. check-in: ad39c644 user: serhiy.storchaka tags: win-menubar-colors-ownerdraw
10:48
Reverted an unintended change introduced by the last merge. check-in: b4ce10ec user: csaba tags: core-8-6-branch
10:37
Fix for [d3b9644729]: X11 <KeyRelease> broken. check-in: 84526332 user: csaba tags: core-8-6-branch