]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
update
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 29 Nov 2007 18:41:40 +0000 (18:41 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 29 Nov 2007 18:41:40 +0000 (18:41 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6437 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/languages/mod_spidermonkey/mod_spidermonkey.c

index 1c648365cb9ddf9541c14da5ecb7c4f7a91768c9..4290c7c670a5e0bcc7ae7032aa0d293485a9dba7 100644 (file)
@@ -133,6 +133,10 @@ struct input_callback_state {
        JSObject *obj;
        jsrefcount saveDepth;
        void *extra;
+       struct js_session *jss_a;
+       struct js_session *jss_b;
+       JSObject *session_obj_a;
+       JSObject *session_obj_b;
 };
 
 struct fileio_obj {
@@ -1019,6 +1023,12 @@ static switch_status_t js_common_callback(switch_core_session_t *session, void *
                argv[argc++] = cb_state->arg;
        }
 
+       if (cb_state->jss_a && cb_state->jss_a->session && cb_state->jss_a->session == session) {
+               argv[argc++] = OBJECT_TO_JSVAL(cb_state->session_obj_a);
+       } else if (cb_state->jss_b && cb_state->jss_b->session && cb_state->jss_b->session == session) {
+               argv[argc++] = OBJECT_TO_JSVAL(cb_state->session_obj_b);
+       }
+
        if (jss->stack_depth > MAX_STACK_DEPTH) {
                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Maximum recursive callback limit %d reached.\n", MAX_STACK_DEPTH);
                jss->stack_depth--;
@@ -3145,7 +3155,10 @@ static JSBool js_bridge(JSContext * cx, JSObject * obj, uintN argc, jsval * argv
 
                        cb_state.cx = cx;
                        cb_state.obj = obj;
-
+                       cb_state.jss_a = jss_a;
+                       cb_state.jss_b = jss_b;
+                       cb_state.session_obj_a = session_obj_a;
+                       cb_state.session_obj_b = session_obj_b;
                        cb_state.session_state = jss_a;
                        dtmf_func = js_collect_input_callback;
                        bp = &cb_state;