Tk Source Code

Check-in [0e402fa7]
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

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

Overview
Comment:Add a missing fix from Christian Werner. See [1821174fff]
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | bug-1938774fff | bug-1821174fff
Files: files | file ages | folders
SHA3-256: 0e402fa7ceab00ca283945abe306c673205c7e50680208866f645d9e3318dfe4
User & Date: fvogel 2018-05-26 07:07:45
References
2018-05-26
07:14 Open ticket [1821174f]: RenderBadPicture (invalid Picture parameter) plus 4 other changes artifact: 0df35d4b user: fvogel
Context
2018-06-07
19:18
Replace calls to deprecated [NSWindow flushWindow] et al with calls to [NSWindow displayIfNeeded]. check-in: b166995c user: culler tags: bug-1938774fff, bug-1821174fff
2018-05-26
07:07
Add a missing fix from Christian Werner. See [1821174fff] check-in: 0e402fa7 user: fvogel tags: bug-1938774fff, bug-1821174fff
07:01
merge core-8-6-branch check-in: 00d5737a user: fvogel tags: bug-1938774fff, bug-1821174fff
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tkWindow.c.

2780
2781
2782
2783
2784
2785
2786














2787
2788
2789
2790
2791
2792
2793
    while (tsdPtr->mainWindowList != NULL) {
	interp = tsdPtr->mainWindowList->interp;
	Tcl_Preserve(interp);
	Tk_DestroyWindow((Tk_Window) tsdPtr->mainWindowList->winPtr);
	Tcl_Release(interp);
    }















    /*
     * Iterate destroying the displays until no more displays remain. It is
     * possible for displays to get recreated during exit by any code that
     * calls GetScreen, so we must destroy these new displays as well as the
     * old ones.
     */






>
>
>
>
>
>
>
>
>
>
>
>
>
>







2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
    while (tsdPtr->mainWindowList != NULL) {
	interp = tsdPtr->mainWindowList->interp;
	Tcl_Preserve(interp);
	Tk_DestroyWindow((Tk_Window) tsdPtr->mainWindowList->winPtr);
	Tcl_Release(interp);
    }

#if !defined(_WIN32) && !defined(MAC_OSX_TK)
    /*
     * Let error handlers catch up before actual close of displays.
     * Must be done before tsdPtr->displayList is cleared, otherwise
     * ErrorProc() in tkError.c cannot associate the pending X errors
     * to the remaining error handlers.
     */

    for (dispPtr = tsdPtr->displayList; dispPtr != NULL;
           dispPtr = dispPtr->nextPtr) {
       XSync(dispPtr->display, False);
    }
#endif

    /*
     * Iterate destroying the displays until no more displays remain. It is
     * possible for displays to get recreated during exit by any code that
     * calls GetScreen, so we must destroy these new displays as well as the
     * old ones.
     */