summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorhobbs <hobbs>2006-03-30 01:39:07 (GMT)
committerhobbs <hobbs>2006-03-30 01:39:07 (GMT)
commitf42a51422a66f3fb89b032d42cbd67bb2c660d2d (patch)
treea0b19779076c640f08b907c87a0a4fc7596e05b1 /generic
parent7910175d925cc12a51aa9b806330d5d16b23cfd8 (diff)
downloadtk-f42a51422a66f3fb89b032d42cbd67bb2c660d2d.zip
tk-f42a51422a66f3fb89b032d42cbd67bb2c660d2d.tar.gz
tk-f42a51422a66f3fb89b032d42cbd67bb2c660d2d.tar.bz2
* generic/tkOption.c (TkOptionDeadWindow): handle
OptionThreadExitProc being called before DeleteWindowsExitProc.
Diffstat (limited to 'generic')
-rw-r--r--generic/tkOption.c8
1 files changed, 6 insertions, 2 deletions
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++) {