summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--generic/tkOption.c8
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 <jeffh@ActiveState.com>
+ * 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++) {