summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--win/tkWinWm.c11
2 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b0c959..0a3dfc3 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 60a0eee..8fd60a9 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.54.2.16 2004/10/29 22:34:06 mdejong Exp $
+ * RCS: @(#) $Id: tkWinWm.c,v 1.54.2.17 2005/01/04 01:28:51 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
}
/*