diff options
Diffstat (limited to 'ext/tk/lib/tkextlib/bwidget/buttonbox.rb')
-rw-r--r-- | ext/tk/lib/tkextlib/bwidget/buttonbox.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/ext/tk/lib/tkextlib/bwidget/buttonbox.rb b/ext/tk/lib/tkextlib/bwidget/buttonbox.rb index ef999239f9..8d6d212189 100644 --- a/ext/tk/lib/tkextlib/bwidget/buttonbox.rb +++ b/ext/tk/lib/tkextlib/bwidget/buttonbox.rb @@ -31,7 +31,7 @@ class Tk::BWidget::ButtonBox name = tagOrId[:name] return index(name) unless name.empty? end - if tagOrId.kind_of?(TkButton) + if tagOrId.kind_of?(Tk::Button) return index(tagOrId[:text]) end # index(tagOrId.to_s) @@ -40,7 +40,13 @@ class Tk::BWidget::ButtonBox def add(keys={}, &b) win = window(tk_send('add', *hash_kv(keys))) - win.instance_eval(&b) if b + if b + if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!! + win.instance_exec(self, &b) + else + win.instance_eval(&b) + end + end win end @@ -54,7 +60,7 @@ class Tk::BWidget::ButtonBox name = idx[:name] idx = name unless name.empty? end - if idx.kind_of?(TkButton) + if idx.kind_of?(Tk::Button) idx = idx[:text] end number(tk_send('index', idx.to_s)) @@ -62,7 +68,13 @@ class Tk::BWidget::ButtonBox def insert(idx, keys={}, &b) win = window(tk_send('insert', tagid(idx), *hash_kv(keys))) - win.instance_eval(&b) if b + if b + if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!! + win.instance_exec(self, &b) + else + win.instance_eval(&b) + end + end win end |