Skip to content

Commit 753ac6b

Browse files
authored
Merge pull request #5 from csabella/8.6.8-tk
Import Tk 8.6.8
2 parents b1c2885 + 8e57fee commit 753ac6b

File tree

193 files changed

+6140
-4001
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+6140
-4001
lines changed

README

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
README: Tk
2-
This is the Tk 8.6.6 source distribution.
2+
This is the Tk 8.6.8 source distribution.
33
http://sourceforge.net/projects/tcl/files/Tcl/
44
You can get any source release of Tk from the URL above.
55

changes

+182
Original file line numberDiff line numberDiff line change
@@ -7313,3 +7313,185 @@ Tk Cocoa 2.0: More drawing internals refinements (culler,walzer)
73137313
2016-07-21 (bug)[450bb0] Aqua: memory corruption from [tk busy] (porter)
73147314

73157315
--- Released 8.6.6, July 27, 2016 --- http://core.tcl.tk/tk/ for details
7316+
7317+
2016-08-23 (bug)[a2abc4] Wrong warp cursor position on 2nd display (vogel)
7318+
7319+
2016-08-29 (bug)[fa3229] menu-38.1 (calvo,vogel)
7320+
7321+
2016-08-29 (bug)[2cf3d6] button-5.24 (vogel)
7322+
7323+
2016-09-04 (bug)[1534455,2945130] Key release events get _L vs _R right. (vogel)
7324+
7325+
2016-09-10 (bug)[8c4216] listbox-4.1 (vogel)
7326+
7327+
2016-09-10 (bug)[eb2681] listbox-13.1 (vogel)
7328+
7329+
2016-09-21 (bug)[3126428] ttk::button react to image change (thoyts)
7330+
7331+
2016-10-09 (bug)[1082213] wrapped text don't start lines with whitespace (vogel)
7332+
7333+
2016-10-12 (bug)[3217462] tri-state button on non-native theme (vogel)
7334+
7335+
2016-10-30 (bug)[3588460] Fix file dialog -typevariable (vogel)
7336+
7337+
2016-11-01 (bug)[e36963] event generate .e <diaeresis> (matthias,vogel)
7338+
7339+
2016-11-05 (bug)[6aea69] grid-23 (danckaert,vogel)
7340+
7341+
2016-11-18 (bug)[f60c54] combobox-3 (panza,vogel)
7342+
7343+
2017-01-03 (bug)[f32502] crash drawing many dashed objects (reithofer,werner)
7344+
7345+
2017-01-05 (bug)[dac92f] text-2.[89] (vogel)
7346+
7347+
2017-01-07 (bug)[3df559] OSX: Negative bbox width (vogel)
7348+
7349+
2017-01-07 (bug)[28a453] OSX: text widget index OBOE (vogel)
7350+
7351+
2017-01-07 (bug)[c12af7] OSX: text-21.1 (vogel)
7352+
7353+
2017-01-08 (bug)[7a838c] X11 ring buffer overflow (werner)
7354+
7355+
2017-01-11 (bug)[d4fb4e] imgPhoto-4.75 (nijtmans)
7356+
7357+
2017-01-18 (bug)[fab5fe] OSX: repair textDisp failures (vogel)
7358+
7359+
2017-01-23 (bug)[89a638] OSX: textDisp-15.8 (vogel)
7360+
7361+
2017-01-25 (bug)[1403ea] Limits on text line size on Windows (spjuth)
7362+
7363+
2017-02-05 (bug)[ae32eb] textDisp fails in text custom config (vogel)
7364+
7365+
2017-02-05 (bug)[7d967c] crash after IME restart (lanam,nijtmans)
7366+
7367+
2017-02-22 (bug)[c492c9] disabled combobox arrow appearance (danckaert)
7368+
7369+
2017-03-06 (bug)[6b3644] Fix -alpha for 16-bit color PNG (LemonMan)
7370+
7371+
2017-03-11 (bug)[775273] artifacts on Ubuntu 16.10+ (nemethi)
7372+
7373+
2n017-03-26 (TIP 464) Win multimedia keys support (fassel,vogel)
7374+
7375+
2017-03-29 (bug)[28a3c3] test BTree memleaks plugged (anonymous)
7376+
7377+
2017-04-06 (bug)[db8c54] Stop freed mem access in warp pointer callback (porter)
7378+
7379+
2017-04-07 (bugs) Fix calculation of ttk::notebook tab widths (vogel)
7380+
7381+
2017-04-07 (bug)[291296] notebook tab management (decoster)
7382+
7383+
2017-04-08 (bug)[f0188a] Win reject invalid hex color codes (bachmann)
7384+
7385+
2017-04-10 (bug)[3f323b] variable struct size on XCode 8.3.1 (auriocus)
7386+
7387+
2017-04-20 (bug)[061bf9] OSX scrollbar draw position (reincke,walzer,joye)
7388+
7389+
2017-05-01 (bug) restore -initialfile for OSX file dialogs (reincke,gollwitzer)
7390+
7391+
2017-05-06 (bug) OSX file dialog type filters (walzer)
7392+
7393+
2017-05-10 (bug)[a5ba1c] race condition on Win clipboard cleanup (donchenko)
7394+
7395+
2017-05-18 (bug)[2433781] center image on button (cramer)
7396+
7397+
2017-05-19 (bug)[434d29] type mismatch with recent Xft (nijtmans,werner)
7398+
7399+
2017-06-02 (bug)[bc43fd] paneconfigure get pane heights right (vogel)
7400+
7401+
2017-06-21 (bug)[adc028] menu avoid unreleasable global grab (nash)
7402+
7403+
2017-06-30 (bug)[92e028,c5eb90] User switch forced theme reset (lanam)
7404+
7405+
2017-06-30 (bug)[62c5b7] segfault in [text] replace (werner)
7406+
7407+
2017-07-03 (bug)[8afc6c] OSX crash in save/open dialogs (simpson,walzer)
7408+
7409+
2017-08-02 (bug)[b601ce] Resource exhaustion processing corrupt GIF (nash)
7410+
7411+
2017-08-03 (bug)[9eab54] Fix -initialdir for OSX file dialogs (gollwitzer)
7412+
7413+
2017-08-08 (bug)[28d0b8] Follow ICCCM advice on X selection protocol (donchenko)
7414+
7415+
2017-08-08 (bug)[4966ca] Scidb race in notebook tab selection (cramer)
7416+
7417+
--- Released 8.6.7, August 9, 2017 --- http://core.tcl.tk/tk/ for details
7418+
7419+
2017-08-24 (bug)[f1a3ca] Memory leak in [text] B-tree (edhume3)
7420+
7421+
2017-08-24 (bug)[ee40fd] Report [console] init errors (the)
7422+
7423+
2017-08-24 (bug)[3295446] Improve history visibility in [console] (goth)
7424+
7425+
2017-08-24 (bug) canvas closed polylines fully honor -joinstyle (vogel)
7426+
7427+
2017-08-24 (bug)[cc42cc] out of mem crash in tests imgPhoto-18.* (vogel)
7428+
7429+
2017-09-16 (bug)[3406785] fix coords rounding when drawing canvas items (vogel)
7430+
7431+
2017-09-24 (bug)[8277e1] linux fontchooser sync with available fonts (vogel)
7432+
7433+
2017-09-24 (bug)[5239fd] Segfault copying a photo image to itself (bachmann)
7434+
7435+
2017-09-24 (bug)[514ff6] canvas rotated text overlap detection (vogel)
7436+
7437+
2017-09-24 (bug)[1e0db2] canvas rchars artifacts (bruchie,vogel)
7438+
7439+
2017-10-07 (bug)[d9fdfa] display of Long non-wrapped lines in text (cramer)
7440+
7441+
2017-10-07 (bug)[dd9667] text anchor not set (vogel)
7442+
7443+
2017-10-11 (bugs) memleaks and other changes for macOS 10.13 support (culler)
7444+
7445+
2017-10-11 (bug)[111de2] macOS colorspace improvement (walzer,culler)
7446+
7447+
2017-10-13 (bug) macOS scrolling issues (culler)
7448+
7449+
2017-10-15 (bug) clipping regions in scrolling and drawing on macOS (culler)
7450+
7451+
2017-10-15 (bug) macOS redraw artifacts (culler)
7452+
7453+
2017-10-22 (bug)[bb6b40] ::tk::AmpMenuArgs and 'entryconf' (vogel)
7454+
7455+
2017-10-22 (bug)[55b95f] Crash [scale] with a bignum value (vogel)
7456+
7457+
2017-10-28 (bug)[ce62c8] text-37.1 fails (vogel)
7458+
7459+
2017-11-03 (bug)[0ef1c5] OS X - tests menu-22.[345] hang (vogel)
7460+
7461+
2017-11-04 (bug)[c8c52b] repair OBOE in menu.test on macOS (vogel)
7462+
7463+
2017-11-11 (feature) Implement [wm_iconphoto] on macOS (walzer)
7464+
7465+
2017-11-11 (bug) display of embedded toplevels (culler)
7466+
7467+
2017-11-19 (bug)[73ba07] Correct property type for MULTIPLE conversion (dpb)
7468+
7469+
2017-11-20 (bug) Memory leak in tkImgPhoto.c. (werner)
7470+
7471+
2017-11-21 (bug) Defeat zombie toplevels (culler)
7472+
7473+
2017-11-25 (bug) macOS resposive menu bar for command line apps (culler)
7474+
7475+
2017-11-25 (bug)[1c659e] support png from mac screenshots (vogel)
7476+
7477+
2017-11-25 (bug)[de4af1] macOS file selector "all types" setting (culler)
7478+
7479+
2017-11-26 (bug) [wm withdraw] on Window and Dock menus (walzer)
7480+
7481+
2017-11-27 (feature) Drop support for macOS 10.5 (culler)
7482+
7483+
2017-11-30 (bug)[164c1b] Fixes [raise] on macOS (culler)
7484+
7485+
2017-11-30 (bug)[13d63d] macOS support of menu -postcommand (culler)
7486+
7487+
2017-12-05 (bug) enable custom icon display on macOS (walzer)
7488+
7489+
2017-12-05 (bug)[1088805,0feb63] macOS bind failures (culler)
7490+
7491+
2017-12-05 (bug)[3382424] Suppress noisy messages on macOS (culler)
7492+
7493+
2017-12-08 (new)[TIP 477] nmake build system reform (nadkarni)
7494+
7495+
2017-12-18 (bug)[b77626] Make [tk busy -cursor] silent no-op on macOS (vogel)
7496+
7497+
--- Released 8.6.8, December 22, 2017 --- http://core.tcl.tk/tk/ for details

doc/FindPhoto.3

+42-15
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
'\"
55
'\" See the file "license.terms" for information on usage and redistribution
66
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
7-
'\"
7+
'\"
88
'\" Author: Paul Mackerras ([email protected]),
99
'\" Department of Computer Science,
1010
'\" Australian National University.
@@ -99,8 +99,8 @@ being written to the photo image.
9999
particular photo image to the other procedures. The parameter is the
100100
name of the image, that is, the name specified to the \fBimage create
101101
photo\fR command, or assigned by that command if no name was specified.
102-
If \fIimageName\fR does not exist or is not a photo image,
103-
\fBTk_FindPhoto\fR returns NULL.
102+
If \fIimageName\fR does not exist or is not a photo image,
103+
\fBTk_FindPhoto\fR returns NULL.
104104
.PP
105105
\fBTk_PhotoPutBlock\fR is used to supply blocks of image data to be
106106
displayed. The call affects an area of the image of size
@@ -130,14 +130,23 @@ The \fIpixelPtr\fR field points to the first pixel, that is, the
130130
top-left pixel in the block.
131131
The \fIwidth\fR and \fIheight\fR fields specify the dimensions of the
132132
block of pixels. The \fIpixelSize\fR field specifies the address
133-
difference between two horizontally adjacent pixels. Often it is 3
134-
or 4, but it can have any value. The \fIpitch\fR field specifies the
133+
difference between two horizontally adjacent pixels. It should be 4 for
134+
RGB and 2 for grayscale image data. Other values are possible, if the
135+
offsets in the \fIoffset\fR array are adjusted accordingly (e.g. for
136+
red, green and blue data stored in different planes). Using such a
137+
layout is strongly discouraged, though. Due to a bug, it might not work
138+
correctly if an alpha channel is provided. (see the \fBBUGS\fR section
139+
below). The \fIpitch\fR field specifies the
135140
address difference between two vertically adjacent pixels. The
136141
\fIoffset\fR array contains the offsets from the address of a pixel
137142
to the addresses of the bytes containing the red, green, blue and alpha
138-
(transparency) components. These are normally 0, 1, 2 and 3, but can
139-
have other values, e.g., for images that are stored as separate red,
140-
green and blue planes.
143+
(transparency) components. If the offsets for red, green and blue are
144+
equal, the image is interpreted as grayscale. If they differ, RGB data
145+
is assumed. Normally the offsets will be 0, 1, 2, 3 for RGB data
146+
and 0, 0, 0, 1 for grayscale. It is possible to provide image data
147+
without an alpha channel by setting the offset for alpha to a negative
148+
value and adjusting the \fIpixelSize\fR field accordingly. This use is
149+
discouraged, though (see the \fBBUGS\fR section below).
141150
.PP
142151
The \fIcompRule\fR parameter to \fBTk_PhotoPutBlock\fR specifies a
143152
compositing rule that says what to do with transparent pixels. The
@@ -184,16 +193,16 @@ that describe the address and layout of the image data that the
184193
photo image has stored internally. The values are valid
185194
until the image is destroyed or its size is changed.
186195
.PP
187-
It is possible to modify an image by writing directly to the data
196+
It is possible to modify an image by writing directly to the data
188197
the \fIpixelPtr\fR field points to. The size of the image cannot be
189198
changed this way, though.
190-
Also, changes made by writing directly to \fIpixelPtr\fR will not be
191-
immediately visible, but only after a call to
192-
\fBTk_ImageChanged\fR or after an event that causes the interested
199+
Also, changes made by writing directly to \fIpixelPtr\fR will not be
200+
immediately visible, but only after a call to
201+
\fBTk_ImageChanged\fR or after an event that causes the interested
193202
widgets to redraw themselves.
194-
For these reasons usually it is preferable to make changes to
195-
a copy of the image data and write it back with
196-
\fBTk_PhotoPutBlock\fR or \fBTk_PhotoPutZoomedBlock\fR.
203+
For these reasons usually it is preferable to make changes to
204+
a copy of the image data and write it back with
205+
\fBTk_PhotoPutBlock\fR or \fBTk_PhotoPutZoomedBlock\fR.
197206
.PP
198207
\fBTk_PhotoGetImage\fR returns 1 for compatibility with the
199208
corresponding procedure in the old photo widget.
@@ -248,6 +257,24 @@ memory was available for an image, Tk would panic. This behaviour is
248257
still supported if you compile your extension with the additional flag
249258
-DUSE_PANIC_ON_PHOTO_ALLOC_FAILURE. Code linked using Stubs against
250259
older versions of Tk will continue to work.
260+
.SH BUGS
261+
The \fBTk_PhotoImageBlock\fR structure used to provide image data to
262+
\fBTk_PhotoPutBlock\fR promises great flexibility in the layout of the
263+
data (e.g. separate planes for the red, green, blue and alpha
264+
channels). Unfortunately, the implementation fails to hold this
265+
promise. The problem is that the \fIpixelSize\fR field is
266+
(incorrectly) used to determine whether the image has an alpha channel.
267+
Currently, if the offset for the alpha channel is greater or equal than
268+
\fIpixelSize\fR, \fBtk_PhotoPutblock\fR assumes no alpha data is
269+
present and makes the image fully opaque. This means that for layouts
270+
where the channels are separate (or any other exotic layout where
271+
\fIpixelSize\fR has to be smaller than the alpha offset), the alpha
272+
channel will not be read correctly. In order to be on the safe side
273+
if this issue will be corrected in a future release, it is strongly
274+
recommended you always provide alpha data - even if the image has no
275+
transparency - and only use the "standard" layout with a
276+
\fIpixelSize\fR of 2 for grayscale and 4 for RGB data with
277+
\fIoffset\fRs of 0, 0, 0, 1 or 0, 1, 2, 3 respectively.
251278
.SH CREDITS
252279
.PP
253280
The code for the photo image type was developed by Paul Mackerras,

doc/bind.n

+17-7
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ bind \- Arrange for X events to invoke Tcl scripts
1919
.PP
2020
The \fBbind\fR command associates Tcl scripts with X events.
2121
If all three arguments are specified, \fBbind\fR will
22-
arrange for \fIscript\fR (a Tcl script) to be evaluated whenever
23-
the event(s) given by \fIsequence\fR occur in the window(s)
24-
identified by \fItag\fR.
22+
arrange for \fIscript\fR (a Tcl script called the
23+
.QW "binding script")
24+
to be evaluated whenever the event(s) given by \fIsequence\fR
25+
occur in the window(s) identified by \fItag\fR.
2526
If \fIscript\fR is prefixed with a
2627
.QW + ,
2728
then it is appended to
@@ -387,7 +388,8 @@ For example, \fB<Control\-comma>\fR is equivalent to
387388
\fB<Control\-KeyPress\-comma>\fR.
388389
.SH "BINDING SCRIPTS AND SUBSTITUTIONS"
389390
.PP
390-
The \fIscript\fR argument to \fBbind\fR is a Tcl script,
391+
The \fIscript\fR argument to \fBbind\fR is a Tcl script, called the
392+
.QW "binding script",
391393
which will be executed whenever the given event sequence occurs.
392394
\fICommand\fR will be executed in the same interpreter that the
393395
\fBbind\fR command was executed in, and it will run at global
@@ -606,13 +608,21 @@ the window.
606608
.PP
607609
The \fBcontinue\fR and \fBbreak\fR commands may be used inside a
608610
binding script to control the processing of matching scripts.
609-
If \fBcontinue\fR is invoked, then the current binding script
610-
is terminated but Tk will continue processing binding scripts
611-
associated with other \fItag\fR's.
611+
If \fBcontinue\fR is invoked within a binding script, then this
612+
binding script, including all other
613+
.QW +
614+
appended scripts, is terminated but Tk will continue processing
615+
binding scripts associated with other \fItag\fR's.
612616
If the \fBbreak\fR command is invoked within a binding script,
613617
then that script terminates and no other scripts will be invoked
614618
for the event.
615619
.PP
620+
Within a script called from the binding script, \fBreturn\fR
621+
\fB-code ok\fR may be used to continue processing (including
622+
.QW +
623+
appended scripts), or \fBreturn\fR \fB-code break\fR may be used to
624+
stop processing all other binding scripts.
625+
.PP
616626
If more than one binding matches a particular event and they
617627
have the same \fItag\fR, then the most specific binding
618628
is chosen and its script is evaluated.

0 commit comments

Comments
 (0)