Tk Source Code

Check-in [f7c61c80]
Login

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

Overview
Comment:Make compiling/running Tk8.5 against 8.6 headers work on Windows as well. In dynamic builds, Tcl_FindExecutable should always be taken from the stub table, even though the 8.6 headers tell otherwise. That's why in Tcl 8.6, the Tcl_FindExecutable() call moved from Tk_MainEx to the Tk_Main() macro.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: f7c61c80f5ec6067ed8d0084580437776c71b3fc
User & Date: jan.nijtmans 2013-03-27 13:07:29
Context
2013-03-27
14:06
Properly clean up, when a (Tcl 8.6) thread is canceled. (Backported from Tk 8.6) check-in: 9f6ef8e5 user: jan.nijtmans tags: core-8-5-branch
13:08
merge-mark check-in: e80a1a00 user: jan.nijtmans tags: trunk
13:07
Make compiling/running Tk8.5 against 8.6 headers work on Windows as well. In dynamic builds, Tcl_FindExecutable should always be taken from the stub table, even though the 8.6 headers tell otherwise. That's why in Tcl 8.6, the Tcl_FindExecutable() call moved from Tk_MainEx to the Tk_Main() macro. check-in: f7c61c80 user: jan.nijtmans tags: core-8-5-branch
11:54
Same change as [9bc120ced2] for UNIX, but for Windows as well. check-in: 059263b2 user: jan.nijtmans tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tkMain.c.

166
167
168
169
170
171
172






173
174
175
176
177
178
179
	    }
	}
    }
#endif

    tsdPtr = (ThreadSpecificData *)
	    Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));







    Tcl_FindExecutable(argv[0]);
    tsdPtr->interp = interp;
    Tcl_Preserve((ClientData) interp);

#if defined(__WIN32__) && !defined(STATIC_BUILD)
    if (!tclStubsPtr->reserved9) {







>
>
>
>
>
>







166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
	    }
	}
    }
#endif

    tsdPtr = (ThreadSpecificData *)
	    Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));

#if !defined(STATIC_BUILD)
#   undef Tcl_FindExecutable
#   define Tcl_FindExecutable \
	(tclStubsPtr->tcl_FindExecutable) /* 144 */
#endif

    Tcl_FindExecutable(argv[0]);
    tsdPtr->interp = interp;
    Tcl_Preserve((ClientData) interp);

#if defined(__WIN32__) && !defined(STATIC_BUILD)
    if (!tclStubsPtr->reserved9) {