From c408603c36b5359982cd8fdc5556d77a54ac5190 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Fri, 29 Jul 2016 08:11:39 +0000 Subject: [PATCH] Add support for a HandlerArg string to be passed to a handler. Run the handler in a try/catch and log exceptions. --- exec/tickit.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/exec/tickit.js b/exec/tickit.js index bd4fc0df11..7f707f8b25 100644 --- a/exec/tickit.js +++ b/exec/tickit.js @@ -125,13 +125,16 @@ function process_tic(tic) var i,j; var cfg; var handler; + var handler_arg; if (tickit.gcfg.path !== undefined) path = backslash(tickit.gcfg.path); if (tickit.gcfg.dir !== undefined) dir = tickit.gcfg.dir.toLowerCase(); - if (tickit.gcfg.handler !== undefined) + if (tickit.gcfg.handler !== undefined) { handler = tickit.gcfg.handler; + handler_arg = tickit.gcfg.handlerarg; + } cfg = tickit.acfg[tic.area.toLowerCase()]; if (cfg !== undefined) { @@ -144,13 +147,21 @@ function process_tic(tic) if (cfg.path === undefined) path = undefined; } - if (cfg.handler !== undefined) + if (cfg.handler !== undefined) { handler = cfg.handler; + handler_arg = cfg.handlerarg; + } } if (handler !== undefined) { - if (handler.Handle_TIC(tic, this)) - return true; + try { + if (handler.Handle_TIC(tic, this, handler_arg)) + return true; + } + catch (e) { + log(LOG_ERROR, "TICK Handler threw an exception: "+e); + } + return false; } if (dir !== undefined) { -- GitLab