aboutsummaryrefslogtreecommitdiffstats
path: root/ext/tk/lib
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-17 05:21:16 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-17 05:21:16 +0000
commitc58dc636862b79c97d32d056d816c24f2aa13d58 (patch)
tree2a6e950bc6bb99b699046c76e6a5d60d137a293c /ext/tk/lib
parent4c68aa718dee39d514aaa042d0e8108fea293d3f (diff)
downloadruby-c58dc636862b79c97d32d056d816c24f2aa13d58.tar.gz
* ext/tk/extconf.rb: support s390x (Thanks to bkabrda) [ruby-trunk - Bug #5465]
* ext/tk/extconf.rb: apply [Backport87 - Backport #5048] * ext/tk/lib/tk/canvas.rb, ext/tk/sample/demos-{en,jp}/{tree.rb,widget}: fix bug (Thanks to zzak) [ruby-trunk - Bug #8319] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib')
-rw-r--r--ext/tk/lib/tk/canvas.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/tk/lib/tk/canvas.rb b/ext/tk/lib/tk/canvas.rb
index 7d3d71675c..af404213e7 100644
--- a/ext/tk/lib/tk/canvas.rb
+++ b/ext/tk/lib/tk/canvas.rb
@@ -85,11 +85,16 @@ class Tk::Canvas<TkWindow
# create a canvas item without creating a TkcItem object
def create(type, *args)
- type = TkcItem.type2class(type.to_s) unless type.kind_of?(TkcItem)
+ if type.kind_of?(Class) && type < TkcItem
+ # do nothing
+ elsif TkcItem.type2class(type.to_s)
+ type = TkcItem.type2class(type.to_s)
+ else
+ fail ArgumentError, "type must a subclass of TkcItem class, or a string in CItemTypeToClass"
+ end
type.create(self, *args)
end
-
def addtag(tag, mode, *args)
mode = mode.to_s
if args[0] && mode =~ /^(above|below|with(tag)?)$/