The mentioned patch uses `this_obj` argument to get `setInterval` and
`setTimeout` properties from the global object, but `this_obj` is
undefined
in these scopes.

JerryScript-DCO-1.0-Signed-off-by: Marko Fabo mfabo@inf.u-szeged.hu
This commit is contained in:
Marko Fabo
2017-09-12 12:57:42 +02:00
committed by yichoi
parent 9900fd930f
commit 9c3f814357
2 changed files with 6 additions and 2 deletions
@@ -60,12 +60,14 @@ DECLARE_GLOBAL_FUNCTION(clearInterval) {
mbed::js::EventLoop::getInstance().getQueue().cancel(id);
jerry_value_t global_obj = jerry_get_global_object();
jerry_value_t prop_name = jerry_create_string((const jerry_char_t*)"setInterval");
jerry_value_t func_obj = jerry_get_property(this_obj, prop_name);
jerry_value_t func_obj = jerry_get_property(global_obj, prop_name);
jerry_release_value(prop_name);
jerry_delete_property_by_index(func_obj, id);
jerry_release_value(func_obj);
jerry_release_value(global_obj);
return jerry_create_undefined();
}
@@ -60,12 +60,14 @@ DECLARE_GLOBAL_FUNCTION(clearTimeout) {
mbed::js::EventLoop::getInstance().getQueue().cancel(id);
jerry_value_t global_obj = jerry_get_global_object();
jerry_value_t prop_name = jerry_create_string((const jerry_char_t*)"setTimeout");
jerry_value_t func_obj = jerry_get_property(this_obj, prop_name);
jerry_value_t func_obj = jerry_get_property(global_obj, prop_name);
jerry_release_value(prop_name);
jerry_delete_property_by_index(func_obj, id);
jerry_release_value(func_obj);
jerry_release_value(global_obj);
return jerry_create_undefined();
}