diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-03-02 07:08:18 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-03-02 07:08:18 +0000 |
commit | d7d2f8bfe294f886ebb6ba3d7bf94a3a5e884049 (patch) | |
tree | 202fdc4daf958bdad32c9ea2e2cc48b40a782304 /ext/tk/lib/tk/canvas.rb | |
parent | 1c59b283a5cc2478aaed7d7a8ccd5bae2f121ce1 (diff) |
* ext/tcltklib/tcltklib.c: enforce thread-check and exception-handling to
avoid SEGV trouble.
[KNOWN BUG] When supports pthread and running multiple Tk interpreters,
an interrupt signal causes SEGV frequently. That may be a trouble of
Ruby's signal handler.
* ext/tk/tkutil/tkutil.c; fix a bug on converting a SJIS string array
to a Tcl's list string.
* ext/tk/tcltklib.c: wrap Tcl's original "namespace" command to
protect from namespace crash.
* ext/tk/lib/multi-tk.rb: enforce exception-handling.
* ext/tk/lib/multi-tk.rb: catch IRB_EXIT to work on irb.
* ext/tk/lib/tk.rb: ditto.
* ext/tk/tcltklib.c: add TclTkLib.mainloop_thread?
* ext/tk/lib/multi-tk.rb: (bug fix) callback returns a value.
* ext/tk/lib/tk/canvas.rb (delete): bug fix when multiple arguments.
* ext/tk/lib/clock.rb: fix 'no method error'.
* ext/tk/lib/clock.rb (self.clicks): accept a Symbol argument.
* ext/tk/lib/variable.rb: be able to set default_value_type; :numeric,
:bool, :string, :symbol, :list, :numlist or nil (default; same to
:string). If set a type, TkVariable#value returns a value of the type.
* ext/tk/lib/tkextlib/tclx/tclx.rb: add Tk::TclX.signal to warn the
risk of using TclX extension's 'signal' command.
* ext/tk/sample/irbtk.rb: irb with Ruby/Tk.
* ext/tk/sample/demos-*/anilabel.rb: bug fix on 'show code'
* ext/tk/sample/demos-*/aniwave.rb: new Ruby/Tk animation demo.
* ext/tk/sample/demos-*/pendulum.rb: ditto.
* ext/tk/sample/demos-*/goldberg.rb: ditto.
* ext/tk/sample/demos-*/widget: add entries of animation demos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/tk/canvas.rb')
-rw-r--r-- | ext/tk/lib/tk/canvas.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/tk/lib/tk/canvas.rb b/ext/tk/lib/tk/canvas.rb index e9a2caccd6..0a2bcad9f1 100644 --- a/ext/tk/lib/tk/canvas.rb +++ b/ext/tk/lib/tk/canvas.rb @@ -159,8 +159,10 @@ class TkCanvas<TkWindow def delete(*args) if TkcItem::CItemID_TBL[self.path] - find('withtag', *args).each{|item| - TkcItem::CItemID_TBL[self.path].delete(item.id) + args.each{|tag| + find('withtag', tag).each{|item| + TkcItem::CItemID_TBL[self.path].delete(item.id) + } } end tk_send_without_enc('delete', *args.collect{|t| tagid(t)}) |