Fri, 15 May 2009 06:23:55 +0500
util.events: event handlers can now return a result, which also interrupts further handling of the event
util/events.lua | file | annotate | diff | comparison | revisions |
--- a/util/events.lua Wed May 13 23:24:49 2009 +0500 +++ b/util/events.lua Fri May 15 06:23:55 2009 +0500 @@ -53,7 +53,8 @@ if not h then h = {}; handlers[event] = h; end local dispatcher = function(data) for _, handler in ipairs(h) do - handler(data); + local ret = handler(data); + if ret ~= nil then return ret; end end end; dispatchers[event] = dispatcher; @@ -66,7 +67,8 @@ local h = handlers[event]; if h then for _, handler in ipairs(h) do - handler(data); + local ret = handler(data); + if ret ~= nil then return ret; end end end end;