summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--ext/tcltklib/tcltklib.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4b689b8c23..e33e00945f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Aug 31 12:30:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tcltklib/tcltklib.c (del_root): fix SEGV
+
Mon Aug 30 21:50:14 2004 Dave Thomas <dave@pragprog.com>
* object.c: Add RDoc for Module.included.
diff --git a/ext/tcltklib/tcltklib.c b/ext/tcltklib/tcltklib.c
index 0217ab8feb..84a999d7e4 100644
--- a/ext/tcltklib/tcltklib.c
+++ b/ext/tcltklib/tcltklib.c
@@ -2781,8 +2781,13 @@ ip_thread_tkwait(self, mode, target)
VALUE del_root(ip)
Tcl_Interp *ip;
{
+ Tk_Window main_win;
+
Tcl_Preserve(ip);
- Tk_DestroyWindow(Tk_MainWindow(ip));
+ main_win = Tk_MainWindow(ip);
+ if (main_win != (Tk_Window)NULL) {
+ Tk_DestroyWindow(main_win);
+ }
Tcl_Release(ip);
return Qnil;
}