summaryrefslogtreecommitdiff
path: root/ext/tcltklib
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-08-31 03:32:33 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-08-31 03:32:33 +0000
commitec76306b0a0f568eaad143e13c094d66cc05ecaa (patch)
treec150b4d6f1134f411c971af8d2799fd0ca3a7b9b /ext/tcltklib
parentf7b90183903672bc8fc77aaa676a34aa6f6a9e07 (diff)
* ext/tcltklib/tcltklib.c (del_root): fix SEGV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tcltklib')
-rw-r--r--ext/tcltklib/tcltklib.c7
1 files changed, 6 insertions, 1 deletions
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;
}