Tk Source Code

Check-in [645ca43c]
Login

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

Overview
Comment:3607326 Stop segfault from [listbox .l -listvariable $array].
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: 645ca43c5df0c4ff338e240aba2114bcf5ae99cb
User & Date: dgp 2013-03-11 18:02:47
Context
2013-03-13
15:46
Patch by Andrew Shadura, providing better support for three architectures they have in Debian. check-in: 61ea6e11 user: jan.nijtmans tags: core-8-5-branch
2013-03-11
18:39
3607326 Stop segfault from [listbox .l -listvariable $array]. check-in: e8c5b9dd user: dgp tags: trunk
18:02
3607326 Stop segfault from [listbox .l -listvariable $array]. check-in: 645ca43c user: dgp tags: core-8-5-branch
2013-02-28
09:35
minor: tidy up change log formatting check-in: 5a0a5e30 user: dkf tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.






1
2
3
4
5
6
7





2013-02-28  Donal K. Fellows  <[email protected]>

	* unix/tkUnixKey.c (TkpGetKeySym): [Bug 3599312]: Put the
	initialization of the key mapping before the input method handling so
	that Alt key handling is correct on non-OSX Unix. Thanks to Colin
	McDonald for developing the fix.

>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
2013-03-11  Don Porter  <[email protected]>

	* generic/tkListbox.c:	[Bug 3607326] Stop segfault from
	* tests/listbox.test:	[listbox .l -listvariable $array].

2013-02-28  Donal K. Fellows  <[email protected]>

	* unix/tkUnixKey.c (TkpGetKeySym): [Bug 3599312]: Put the
	initialization of the key mapping before the input method handling so
	that Alt key handling is correct on non-OSX Unix. Thanks to Colin
	McDonald for developing the fix.

Changes to generic/tkListbox.c.

1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
	    int dummy;

	    if (listVarObj == NULL) {
		listVarObj = (oldListObj ? oldListObj : Tcl_NewObj());
		if (Tcl_SetVar2Ex(interp, listPtr->listVarName, NULL,
			listVarObj, TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG)
			== NULL) {
		    if (oldListObj == NULL) {
			Tcl_DecrRefCount(listVarObj);
		    }
		    continue;
		}
	    }

	    /*
	     * Make sure the object is a good list object.
	     */







<
<
<







1626
1627
1628
1629
1630
1631
1632



1633
1634
1635
1636
1637
1638
1639
	    int dummy;

	    if (listVarObj == NULL) {
		listVarObj = (oldListObj ? oldListObj : Tcl_NewObj());
		if (Tcl_SetVar2Ex(interp, listPtr->listVarName, NULL,
			listVarObj, TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG)
			== NULL) {



		    continue;
		}
	    }

	    /*
	     * Make sure the object is a good list object.
	     */

Changes to tests/listbox.test.

2154
2155
2156
2157
2158
2159
2160











2161
2162
2163
2164
2165
2166
2167
    .l configure -state disabled
    # still return 1 when disabled, because 'selection get' will work,
    # but selection cannot be changed (new behavior since 8.4)
    .l selection set 3
    lappend out [.l selection includes 2] [.l curselection]
} {1 1 2}












resetGridInfo
deleteWindows
option clear

# cleanup
cleanupTests
return







>
>
>
>
>
>
>
>
>
>
>







2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
    .l configure -state disabled
    # still return 1 when disabled, because 'selection get' will work,
    # but selection cannot be changed (new behavior since 8.4)
    .l selection set 3
    lappend out [.l selection includes 2] [.l curselection]
} {1 1 2}

test listbox-30.1 {Bug 3607326} -setup {
    destroy .l
    unset -nocomplain a
} -body {
    array set a {}
    listbox .l -listvariable a
} -cleanup {
    destroy .l
    unset -nocomplain a
} -result * -match glob -returnCodes error

resetGridInfo
deleteWindows
option clear

# cleanup
cleanupTests
return