mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/tk/tcltklib.c (ip_finalize): add existence check of Tcl commands
before calling Tcl_GlobalEval(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d822ffdc04
commit
7f22985048
2 changed files with 21 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
Tue Apr 12 02:21:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
|
||||
|
||||
* ext/tk/tcltklib.c (ip_finalize): add existence check of
|
||||
Tcl commands before calling Tcl_GlobalEval().
|
||||
|
||||
Mon Apr 11 23:36:04 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
|
||||
|
||||
* lib/drb/drb.r: [druby-ja:123] fix: When reference of my object is
|
||||
|
|
|
@ -4407,16 +4407,29 @@ ip_finalize(ip)
|
|||
delete_slaves(ip);
|
||||
|
||||
/* delete root widget */
|
||||
Tcl_GlobalEval(ip, "catch {destroy .}");
|
||||
DUMP1("check `destroy'");
|
||||
if ( Tcl_GetCommandInfo(ip, "catch", &info)
|
||||
&& Tcl_GetCommandInfo(ip, "destroy", &info) ) {
|
||||
DUMP1("call `destroy'");
|
||||
Tcl_GlobalEval(ip, "catch {destroy .}");
|
||||
}
|
||||
|
||||
/* call finalize-hook-proc */
|
||||
DUMP1("check `finalize-hook-proc'");
|
||||
if (Tcl_GetCommandInfo(ip, finalize_hook_name, &info)) {
|
||||
DUMP2("call finalize hook proc '%s'", finalize_hook_name);
|
||||
Tcl_GlobalEval(ip, finalize_hook_name);
|
||||
}
|
||||
|
||||
DUMP1("cancel after scripts");
|
||||
Tcl_GlobalEval(ip, "catch {foreach id [after info] {after cancel $id}}");
|
||||
DUMP1("cancel after callbacks");
|
||||
DUMP1("check `foreach' & `after'");
|
||||
if ( Tcl_GetCommandInfo(ip, "catch", &info)
|
||||
&& Tcl_GetCommandInfo(ip, "foreach", &info)
|
||||
&& Tcl_GetCommandInfo(ip, "after", &info) ) {
|
||||
DUMP1("call `foreach' & `after'");
|
||||
Tcl_GlobalEval(ip,
|
||||
"catch {foreach id [after info] {after cancel $id}}");
|
||||
}
|
||||
|
||||
Tcl_Release(ip);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue