diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-15 01:18:57 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-15 01:18:57 +0000 |
commit | ce1b23b7a5a496f4b6d3ad4627a161b1dc6945fe (patch) | |
tree | d7dca8b035286a8a852c021318fa04a4efa43aa8 /ext/tcltklib | |
parent | 6c6a24826c5fda68e04e71ac17620b0e70bca265 (diff) | |
download | ruby-ce1b23b7a5a496f4b6d3ad4627a161b1dc6945fe.tar.gz |
* ext/tk/, ext/tcltklib/: bug fix
* ext/tk/lib/tk.rb: better operation for SIGINT when processing callbacks.
* ext/tk/lib/tk/msgcat.rb: ditto.
* ext/tk/lib/tk/variable.rb: ditto.
* ext/tk/lib/tk/timer.rb: ditto.
* ext/tk/lib/tk/validation.rb: add Tk::ValidateConfigure.__def_validcmd()
to define validatecommand methods easier
* ext/tk/lib/tk.rb (_genobj_for_tkwidget): support autoload Tk ext classes
* ext/tk/lib/tk/canvas.rb and so on: remove the parent widget type check
for items (e.g. canvas items; depends on the class) to avoid some troubles
on Tk extension widget class definition.
* ext/tk/lib/tkextlib/: add Iwidget and TkTable extension support
* ext/tk/sample/tkextlib/: add samples of Iwidget and TkTable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tcltklib')
-rw-r--r-- | ext/tcltklib/tcltklib.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/tcltklib/tcltklib.c b/ext/tcltklib/tcltklib.c index c68fe661e9..adbe151f54 100644 --- a/ext/tcltklib/tcltklib.c +++ b/ext/tcltklib/tcltklib.c @@ -4401,20 +4401,21 @@ ip_get_variable2(self, varname_arg, index_arg, flag_arg) ret = Tcl_ObjGetVar2(ptr->ip, nameobj, idxobj, FIX2INT(flag)); - Tcl_IncrRefCount(ret); Tcl_DecrRefCount(nameobj); Tcl_DecrRefCount(idxobj); rb_thread_critical = thr_crit_bup; if (ret == (Tcl_Obj*)NULL) { - Tcl_DecrRefCount(ret); #if TCL_MAJOR_VERSION >= 8 rb_raise(rb_eRuntimeError, "%s", Tcl_GetStringResult(ptr->ip)); #else /* TCL_MAJOR_VERSION < 8 */ rb_raise(rb_eRuntimeError, "%s", ptr->ip->result); #endif } + + Tcl_IncrRefCount(ret); + # if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0 s = Tcl_GetStringFromObj(ret, &len); strval = rb_tainted_str_new(s, len); |