Tk Source Code

Check-in [5e1833a4]
Login

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

Overview
Comment:Optimize the fix: the layout calculation is only needed if the display is out of date.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | bug-2513186fff | bug-8261c517af
Files: files | file ages | folders
SHA3-256: 5e1833a4e2ee9bc1ba7642648c4229fde00fecd75d9a5580bb2c905770534745
User & Date: fvogel 2019-04-26 21:11:42.520
Context
2019-04-26
22:02
Write code more consistently with the rest of the ttkEntry.c file check-in: d5b120db user: fvogel tags: bug-2513186fff, bug-8261c517af
21:11
Optimize the fix: the layout calculation is only needed if the display is out of date. check-in: 5e1833a4 user: fvogel tags: bug-2513186fff, bug-8261c517af
2019-04-22
22:09
Fix [2513186fff] and [f9343d8f72]: ttk::entry xview sub-command forces use of update idletasks. Thanks to cjmcdonald. check-in: b6f1c7d8 user: fvogel tags: bug-2513186fff, bug-8261c517af
Changes
Unified Diff Ignore Whitespace Patch
Changes to generic/ttk/ttkEntry.c.
1647
1648
1649
1650
1651
1652
1653

1654
1655
1656
1657
1658

1659

1660
1661
1662
1663
1664
1665
1666

/* $entry xview	-- horizontal scrolling interface
 */
static int EntryXViewCommand(
    void *recordPtr, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[])
{
    Entry *entryPtr = recordPtr;


    /*
     * Ensure that the scroll info is up-to-date before a scrolling command.
     */


    EntryDoLayout(recordPtr);


    if (objc == 3) {
	int newFirst;
	if (EntryIndex(interp, entryPtr, objv[2], &newFirst) != TCL_OK) {
	    return TCL_ERROR;
	}
	TtkScrollTo(entryPtr->entry.xscrollHandle, newFirst);







>





>
|
>







1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669

/* $entry xview	-- horizontal scrolling interface
 */
static int EntryXViewCommand(
    void *recordPtr, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[])
{
    Entry *entryPtr = recordPtr;
    WidgetCore *corePtr = recordPtr;

    /*
     * Ensure that the scroll info is up-to-date before a scrolling command.
     */

    if (corePtr->flags & REDISPLAY_PENDING) {
        EntryDoLayout(recordPtr);
    }

    if (objc == 3) {
	int newFirst;
	if (EntryIndex(interp, entryPtr, objv[2], &newFirst) != TCL_OK) {
	    return TCL_ERROR;
	}
	TtkScrollTo(entryPtr->entry.xscrollHandle, newFirst);