Commits (1)
  • Rob Swindell's avatar
    Install OperationCallback for all executed JS scripts · 9d752c75
    Rob Swindell authored
    JS doors with the "Use Shell or New Context" option enabled in SCFG and JS
    modules installed a global hot key handlers would not automatically terminate
    when the user disconnected (and js.auto_terminate was true, the default).
    I'm not sure why the operation callback was only installed when scope==NULL
    but always installing it fixes the issue with some global hot key modules
    and JS doors becoming "zombies" when a user disconnects while running them.
    9d752c75
......@@ -679,13 +679,8 @@ long sbbs_t::js_execfile(const char *cmd, const char* startup_dir, JSObject* sco
if(scope==NULL) {
js_callback.counter=0; // Reset loop counter
#if JS_VERSION>180
JS_SetOperationCallback(js_cx, js_OperationCallback);
#else
JS_SetBranchCallback(js_cx, js_BranchCallback);
#endif
}
JS_SetOperationCallback(js_cx, js_OperationCallback);
js_PrepareToExecute(js_cx, js_glob, path, startup_dir, js_scope);
events = js_callback.events;
js_callback.events = NULL;
......