From f42a51422a66f3fb89b032d42cbd67bb2c660d2d Mon Sep 17 00:00:00 2001 From: hobbs Date: Thu, 30 Mar 2006 01:39:07 +0000 Subject: * generic/tkOption.c (TkOptionDeadWindow): handle OptionThreadExitProc being called before DeleteWindowsExitProc. --- ChangeLog | 3 +++ generic/tkOption.c | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 60f693d..6d6b1fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-03-29 Jeff Hobbs + * generic/tkOption.c (TkOptionDeadWindow): handle + OptionThreadExitProc being called before DeleteWindowsExitProc. + * win/Makefile.in: convert _NATIVE paths to use / to avoid ".\" path-as-escape issue. diff --git a/generic/tkOption.c b/generic/tkOption.c index 6e521ce..1a7cb04 100644 --- a/generic/tkOption.c +++ b/generic/tkOption.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkOption.c,v 1.17 2005/11/17 10:57:35 dkf Exp $ + * RCS: @(#) $Id: tkOption.c,v 1.18 2006/03/30 01:39:07 hobbs Exp $ */ #include "tkPort.h" @@ -748,9 +748,13 @@ TkOptionDeadWindow( /* * If this window is in the option stacks, then clear the stacks. + * + * XXX: OptionThreadExitProc will be invoked before DeleteWindowsExitProc + * XXX: if it is thread-specific (which it should be), invalidating the + * XXX: tsd. Tk shutdown needs to be verified to handle this correctly. */ - if (winPtr->optionLevel != -1) { + if (tsdPtr->initialized && (winPtr->optionLevel != -1)) { int i; for (i = 1; i <= tsdPtr->curLevel; i++) { -- cgit v0.12