diff options
Diffstat (limited to 'ext/tk/lib/tkextlib/bwidget/dialog.rb')
-rw-r--r-- | ext/tk/lib/tkextlib/bwidget/dialog.rb | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/ext/tk/lib/tkextlib/bwidget/dialog.rb b/ext/tk/lib/tkextlib/bwidget/dialog.rb index 2790d88d24..0ddee21d05 100644 --- a/ext/tk/lib/tkextlib/bwidget/dialog.rb +++ b/ext/tk/lib/tkextlib/bwidget/dialog.rb @@ -103,7 +103,7 @@ class Tk::BWidget::Dialog 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) @@ -112,19 +112,37 @@ class Tk::BWidget::Dialog 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 def get_frame(&b) win = window(tk_send('getframe')) - 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 def get_buttonbox(&b) win = window(@path + '.bbox') - 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 |