summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--win/tkWinWm.c13
2 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 05edab4..ab1c872 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-01-03 Jeff Hobbs <jeffh@ActiveState.com>
+
+ * win/tkWinWm.c (TkWinWmCleanup): clean up layered window class.
+ This caused crash in reinit of Tk (as seen in plugin).
+
2004-12-29 Jeff Hobbs <jeffh@ActiveState.com>
* win/tcl.m4, win/configure: update MSVC CFLAGS_OPT to -O2, remove
diff --git a/win/tkWinWm.c b/win/tkWinWm.c
index e9263ab..82795b4 100644
--- a/win/tkWinWm.c
+++ b/win/tkWinWm.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: tkWinWm.c,v 1.85 2004/12/28 08:45:31 chengyemao Exp $
+ * RCS: @(#) $Id: tkWinWm.c,v 1.86 2005/01/04 01:29:12 hobbs Exp $
*/
#include "tkWinInt.h"
@@ -1838,6 +1838,15 @@ TkWinWmCleanup(hInstance)
tsdPtr->initialized = 0;
UnregisterClass(TK_WIN_TOPLEVEL_CLASS_NAME, hInstance);
+#ifndef TCL_THREADS
+ /*
+ * Clean up specialized class created for layered windows.
+ */
+ if (setLayeredWindowAttributesProc != NULL) {
+ UnregisterClass(TK_WIN_TOPLEVEL_NOCDC_CLASS_NAME, hInstance);
+ setLayeredWindowAttributesProc = NULL;
+ }
+#endif
}
/*
@@ -7882,4 +7891,4 @@ long TkpWinToplevelOverrideRedirect(winPtr, reqValue)
}
}
return reqValue;
-} \ No newline at end of file
+}