summaryrefslogtreecommitdiff
path: root/ext/tk/lib/tk/wm.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tk/lib/tk/wm.rb')
-rw-r--r--ext/tk/lib/tk/wm.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/tk/lib/tk/wm.rb b/ext/tk/lib/tk/wm.rb
index 2467656837..b5106adade 100644
--- a/ext/tk/lib/tk/wm.rb
+++ b/ext/tk/lib/tk/wm.rb
@@ -178,10 +178,13 @@ module Tk
self
end
end
- def protocol(name=nil, cmd=nil)
+ def protocol(name=nil, cmd=nil, &b)
if cmd
tk_call_without_enc('wm', 'protocol', path, name, cmd)
self
+ elsif b
+ tk_call_without_enc('wm', 'protocol', path, name, proc(&b))
+ self
elsif name
result = tk_call_without_enc('wm', 'protocol', path, name)
(result == "")? nil : tk_tcl2ruby(result)