diff options
Diffstat (limited to 'generic/tkWindow.c')
-rw-r--r-- | generic/tkWindow.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/generic/tkWindow.c b/generic/tkWindow.c index 7a23210..53d4a8c 100644 --- a/generic/tkWindow.c +++ b/generic/tkWindow.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWindow.c,v 1.56.2.3 2004/03/26 22:01:26 dkf Exp $ + * RCS: @(#) $Id: tkWindow.c,v 1.56.2.4 2004/10/27 00:37:38 davygrvy Exp $ */ #include "tkPort.h" @@ -360,7 +360,7 @@ CreateTopLevelWindow(interp, parent, name, screenName, flags) * exits. */ - Tcl_CreateExitHandler(DeleteWindowsExitProc, (ClientData) NULL); + TkCreateExitHandler(DeleteWindowsExitProc, (ClientData) tsdPtr); } if ((parent != NULL) && (screenName != NULL) && (screenName[0] == '\0')) { @@ -2705,12 +2705,11 @@ Tk_GetNumMainWindows() static void DeleteWindowsExitProc(clientData) - ClientData clientData; /* Not used. */ + ClientData clientData; /* tsdPtr when handler was created. */ { TkDisplay *dispPtr, *nextPtr; Tcl_Interp *interp; - ThreadSpecificData *tsdPtr = (ThreadSpecificData *) - Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); + ThreadSpecificData *tsdPtr = (ThreadSpecificData *) clientData; /* * Finish destroying any windows that are in a |