diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-09 18:35:52 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-09 18:35:52 +0000 |
commit | 8c52b58b76e0bb5e7e56859f3fd96077941d7ce2 (patch) | |
tree | e8f29319f4b3bc3bb6b6dc28eff27c373ef2e149 /ext/tcltklib/tcltklib.c | |
parent | ef5fb50fbf945c7f23c2bd0fa2ccde0d0410265d (diff) | |
download | ruby-8c52b58b76e0bb5e7e56859f3fd96077941d7ce2.tar.gz ruby-8c52b58b76e0bb5e7e56859f3fd96077941d7ce2.tar.xz ruby-8c52b58b76e0bb5e7e56859f3fd96077941d7ce2.zip |
* ext/tcltklib/tcltklib.c: fix SEGV when compiled with Tcl/Tk8.3.x or older
* ext/tk/lib/tkextlib/tile/style.rb: bug fix
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tcltklib/tcltklib.c')
-rw-r--r-- | ext/tcltklib/tcltklib.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/tcltklib/tcltklib.c b/ext/tcltklib/tcltklib.c index 765417d92..67958d7be 100644 --- a/ext/tcltklib/tcltklib.c +++ b/ext/tcltklib/tcltklib.c @@ -3306,9 +3306,12 @@ delete_slaves(ip) Tcl_Preserve(slave); +#if TCL_MAJOR_VERSION < 8 || ( TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 4) +#else if (!Tcl_InterpDeleted(slave)) { Tcl_Eval(slave, "foreach i [after info] { after cancel $i }"); } +#endif /* delete slaves of slave */ delete_slaves(slave); @@ -3356,9 +3359,12 @@ ip_free(ptr) Tcl_Eval(ptr->ip, finalize_hook_name); } +#if TCL_MAJOR_VERSION < 8 || ( TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 4) +#else if (!Tcl_InterpDeleted(ptr->ip)) { Tcl_Eval(ptr->ip, "foreach i [after info] {after cancel $i}"); } +#endif del_root(ptr->ip); @@ -3820,9 +3826,12 @@ ip_delete(self) /* Tcl_Preserve(ptr->ip); */ rbtk_preserve_ip(ptr); +#if TCL_MAJOR_VERSION < 8 || ( TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 4) +#else if (!Tcl_InterpDeleted(ptr->ip)) { Tcl_Eval(ptr->ip, "foreach i [after info] { after cancel $i }"); } +#endif del_root(ptr->ip); |