# HG changeset patch # User Waqas Hussain # Date 1242350635 -18000 # Node ID 542d49518d3a27164bf164ce5d18c15e649e6046 # Parent 06051191913d899244d418f18ff1f84c1e53a161 util.events: event handlers can now return a result, which also interrupts further handling of the event diff -r 06051191913d -r 542d49518d3a util/events.lua --- 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;