search for: jsval_null

Displaying 16 results from an estimated 16 matches for "jsval_null".

2007 Mar 09
0
17 commits - libswfdec/js libswfdec/swfdec_js.c libswfdec/swfdec_js_global.c libswfdec/swfdec_js.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_root_movie.c
...ieclip_new, 0, movieclip_props, movieclip_methods, + &movieclip_class, swfdec_js_movieclip_new, 0, NULL, movieclip_methods, NULL, NULL); } -jsval -swfdec_js_movie_lookup_class (SwfdecMovie *movie) +static jsval +swfdec_js_movie_lookup_class (SwfdecSpriteMovie *movie) { - return JSVAL_NULL; + /* FIXME: write tests on how the lookup movie => name => registered class is performed */ + SwfdecRootMovie *root; + const char *name; + + /* happens with root movies only */ + if (movie->sprite == NULL) + return JSVAL_NULL; + root = SWFDEC_ROOT_MOVIE (SWFDEC_MOVIE (movie)-&g...
2007 Apr 16
0
Branch 'as' - 3 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...void swfdec_action_enumerate2 (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) { - JSObject *obj; - JSIdArray *array; - guint i; + SwfdecAsValue *val; + SwfdecAsStack *stack; + SwfdecAsObject *obj; - if (!JSVAL_IS_OBJECT (cx->fp->sp[-1]) || cx->fp->sp[-1] == JSVAL_NULL) { + stack = cx->frame->stack; + val = swfdec_as_stack_peek (stack, 1); + if (!SWFDEC_AS_VALUE_IS_OBJECT (val)) { SWFDEC_ERROR ("Enumerate2 called without an object"); - cx->fp->sp[-1] = JSVAL_NULL; - return JS_TRUE; - } - obj = JSVAL_TO_OBJECT (cx->fp->s...
2007 Mar 07
1
2 commits - libswfdec/swfdec_script.c test/trace
libswfdec/swfdec_script.c | 14 ++++++++++++-- test/trace/Makefile.am | 2 ++ test/trace/gotoframe.swf |binary test/trace/gotoframe.swf.trace | 13 +++++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) New commits: diff-tree 12348410a3509928a6e8e4c8ca00292a58ff542c (from 46e62d4410c20c19774a45758d8ebf11cd0bdf96) Author: Benjamin Otte <otte@gnome.org>
2007 Feb 22
0
6 commits - libswfdec/Makefile.am libswfdec/swfdec_js.c libswfdec/swfdec_js_mouse.c libswfdec/swfdec_listener.c libswfdec/swfdec_listener.h libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_root_movie.c
....h" #include "swfdec_player_internal.h" static JSBool +swfdec_js_mouse_add_listener (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + SwfdecPlayer *player = JS_GetContextPrivate (cx); + + g_assert (player); + if (!JSVAL_IS_OBJECT (argv[0]) || argv[0] == JSVAL_NULL) + return JS_TRUE; + return swfdec_listener_add (player->mouse_listener, JSVAL_TO_OBJECT (argv[0])); +} + +static JSBool +swfdec_js_mouse_remove_listener (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + SwfdecPlayer *player = JS_GetContextPrivate (cx); + + g_assert...
2007 Jul 13
0
4 commits - configure.ac libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_object.h libswfdec/swfdec_scriptable.c libswfdec/swfdec_scriptable.h NEWS
...CRIPTABLE (script)); - g_return_if_fail (name != NULL); - g_return_if_fail (n_args == 0 || args != NULL); - - obj = swfdec_scriptable_get_object (script); - if (!obj) - return; - if (!JS_GetProperty (script->jscx, obj, name, &fun)) - return; - if (!JSVAL_IS_OBJECT (fun) || fun == JSVAL_NULL || - JS_GetClass (JSVAL_TO_OBJECT (fun)) != &js_FunctionClass) { - SWFDEC_LOG ("scriptable has no handler for %s event", name); - return; - } - js_InternalCall (script->jscx, obj, fun, n_args, args, &fun); -} - -/** - * swfdec_scriptable_can_execute: - * @script: a...
2007 Apr 04
0
Branch 'as' - 4 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...tring (cx, s)) + return JS_FALSE; + break; + } + case 1: /* float */ + { + double d = swfdec_bits_get_float (&bits); + if (!JS_NewDoubleValue (cx, d, cx->fp->sp)) + return JS_FALSE; + cx->fp->sp++; + break; + } + case 2: /* null */ + *cx->fp->sp++ = JSVAL_NULL; + break; + case 3: /* undefined */ + *cx->fp->sp++ = JSVAL_VOID; + break; + case 4: /* register */ + { + guint regnum = swfdec_bits_get_u8 (&bits); + if (!swfdec_action_has_register (cx, regnum)) { + SWFDEC_ERROR ("cannot Push register %u: not enough registers&quot...
2007 Mar 15
0
11 commits - libswfdec/swfdec_debugger.c libswfdec/swfdec_debugger.h libswfdec/swfdec_event.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_net_stream.c libswfdec/swfdec_player.c
...ld not exist, but currently has to for instanceof to work"); - return JS_FALSE; + return JS_TRUE; } /** @@ -1229,6 +1240,7 @@ swfdec_js_movie_lookup_class (SwfdecSpri name = swfdec_root_movie_get_export_name (root, SWFDEC_CHARACTER (movie->sprite)); if (name == NULL) return JSVAL_NULL; + SWFDEC_LOG ("found name %s for movie %s", name, SWFDEC_MOVIE (movie)->name); return swfdec_player_get_export_class (root->player, name); } diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swfdec_movie.c index ab46a2f..29e7d0d 100644 --- a/libswfdec/swfdec_movie.c +++ b/li...
2007 Mar 07
0
11 commits - libswfdec/swfdec_event.c libswfdec/swfdec_event.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_scriptable.c libswfdec/swfdec_scriptable.h libswfdec/swfdec_script.c libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h
...CRIPTABLE (script)); + g_return_if_fail (name != NULL); + g_return_if_fail (n_args == 0 || args != NULL); + + obj = swfdec_scriptable_get_object (script); + if (!obj) + return; + if (!JS_GetProperty (script->jscx, obj, name, &fun)) + return; + if (!JSVAL_IS_OBJECT (fun) || fun == JSVAL_NULL || + JS_GetClass (JSVAL_TO_OBJECT (fun)) != &js_FunctionClass) { + SWFDEC_LOG ("scriptable has no handler for %s event", name); + return; + } + js_InternalCall (script->jscx, obj, fun, n_args, args, &fun); +} + +/** + * swfdec_scriptable_can_execute: + * @script: a...
2007 Apr 04
0
Branch 'as' - 17 commits - configure.ac doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt doc/swfdec.types libswfdec-gtk/Makefile.am libswfdec-gtk/swfdec-gtk.h libswfdec-gtk/swfdec_gtk_loader.c libswfdec-gtk/swfdec_gtk_loader.h
...nstruct_queue, movie); - swfdec_movie_execute_script (movie, SWFDEC_EVENT_CONSTRUCT); - /* FIXME: need a check if the constructor can be unregistered after construction */ - if (SWFDEC_IS_SPRITE_MOVIE (movie) && - (fun = swfdec_js_movie_lookup_class (SWFDEC_SPRITE_MOVIE (movie))) != JSVAL_NULL) { - SwfdecScriptable *script = SWFDEC_SCRIPTABLE (movie); - SWFDEC_LOG ("Executing constructor for %s %p", G_OBJECT_TYPE_NAME (movie), movie); - if (!js_InternalCall (script->jscx, script->jsobj, fun, 0, NULL, &fun)) { - SWFDEC_ERROR ("constructor execution f...
2007 Apr 04
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_stack.c libswfdec/swfdec_as_stack.h
...et_float (&bits); - if (!JS_NewDoubleValue (cx, d, cx->fp->sp)) - return JS_FALSE; - cx->fp->sp++; - break; - } + SWFDEC_AS_VALUE_SET_NUMBER (swfdec_as_stack_push (stack), + swfdec_bits_get_float (&bits)); + break; case 2: /* null */ - *cx->fp->sp++ = JSVAL_NULL; + SWFDEC_AS_VALUE_SET_NULL (swfdec_as_stack_push (stack)); break; case 3: /* undefined */ - *cx->fp->sp++ = JSVAL_VOID; + SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_push (stack)); break; case 4: /* register */ { guint regnum = swfdec_bits_get_u8 (&bits); i...
2007 Jan 18
0
Branch 'interpreter' - 4 commits - libswfdec/js libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_codec_screen.c libswfdec/swfdec_image.c libswfdec/swfdec_script.c libswfdec/swfdec_swf_decoder.c libswfdec/swfdec_tag.c
...tring (cx, s)) + return JS_FALSE; + break; + } + case 1: /* float */ + { + double d = swfdec_bits_get_float (&bits); + if (!JS_NewDoubleValue (cx, d, cx->fp->sp)) + return JS_FALSE; + cx->fp->sp++; + break; + } + case 2: /* null */ + *cx->fp->sp++ = JSVAL_NULL; + break; + case 3: /* undefined */ + *cx->fp->sp++ = JSVAL_VOID; + break; + case 5: /* boolean */ + *cx->fp->sp++ = swfdec_bits_get_u8 (&bits) ? JSVAL_TRUE : JSVAL_FALSE; + break; + case 6: /* double */ + { + double d = swfdec_bits_get_float (&bits); + if (!J...
2007 Mar 14
0
10 commits - libswfdec/swfdec_flv_decoder.c libswfdec/swfdec_flv_decoder.h libswfdec/swfdec_js_global.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_js_net_stream.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader.h libswfdec/swfdec_loadertarget.c
...t a/libswfdec/swfdec_js_movie.c b/libswfdec/swfdec_js_movie.c index e0f3f54..1504e3d 100644 --- a/libswfdec/swfdec_js_movie.c +++ b/libswfdec/swfdec_js_movie.c @@ -1248,7 +1248,8 @@ swfdec_js_movie_create_jsobject (SwfdecM (fun = swfdec_js_movie_lookup_class (SWFDEC_SPRITE_MOVIE (movie))) != JSVAL_NULL) { swfdec_js_construct_object (script->jscx, &movieclip_class, fun, &script->jsobj); } else { - script->jsobj = JS_NewObject (script->jscx, &movieclip_class, + SwfdecScriptableClass *klass = SWFDEC_SCRIPTABLE_GET_CLASS (movie); + script->jsobj = JS_NewObj...
2007 Mar 12
0
11 commits - libswfdec/js libswfdec/swfdec_loader.c libswfdec/swfdec_root_sprite.c libswfdec/swfdec_script.c player/swfdebug.c player/swfdec_player_manager.c test/trace
...@@ swfdec_action_extends (JSContext *cx, gu return JS_TRUE; } +static JSBool +swfdec_action_enumerate2 (JSContext *cx, guint action, const guint8 *data, guint len) +{ + JSObject *obj; + JSIdArray *array; + guint i; + + if (!JSVAL_IS_OBJECT (cx->fp->sp[-1]) || cx->fp->sp[-1] == JSVAL_NULL) { + SWFDEC_ERROR ("Enumerate2 called without an object"); + cx->fp->sp[-1] = JSVAL_NULL; + return JS_TRUE; + } + obj = JSVAL_TO_OBJECT (cx->fp->sp[-1]); + cx->fp->sp[-1] = JSVAL_NULL; + array = JS_Enumerate (cx, obj); + if (!array) + return JS_FALSE; +...
2007 Jan 26
0
Branch 'interpreter' - 9 commits - libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_debugger.c libswfdec/swfdec_debugger.h libswfdec/swfdec_edittext_movie.c libswfdec/swfdec_event.c libswfdec/swfdec_js.c libswfdec/swfdec_js_global.c
...return JS_FALSE; - if (pobj) - obj = pobj; return OBJ_GET_PROPERTY (cx, obj, (jsid) prop->id, ret); } } @@ -345,7 +343,7 @@ static gboolean swfdec_js_eval_internal (JSContext *cx, JSObject *obj, const char *str, jsval *val, gboolean set) { - jsval cur; + jsval cur = JSVAL_NULL; char *work = NULL; SWFDEC_LOG ("eval called with \"%s\" on %p", str, obj); @@ -361,12 +359,10 @@ swfdec_js_eval_internal (JSContext *cx, goto out; obj = cx->fp->thisp; } - cur = OBJECT_TO_JSVAL (obj); while (str != NULL && *str != '...
2007 Jan 31
0
Branch 'interpreter' - 20 commits - autogen.sh configure.ac libswfdec/js libswfdec/swfdec_debug.h libswfdec/swfdec_js.c libswfdec/swfdec_js_color.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_script.c
...git a/libswfdec/swfdec_js.c b/libswfdec/swfdec_js.c index 829c1ad..4c14100 100644 --- a/libswfdec/swfdec_js.c +++ b/libswfdec/swfdec_js.c @@ -343,7 +343,7 @@ static gboolean swfdec_js_eval_internal (JSContext *cx, JSObject *obj, const char *str, jsval *val, gboolean set) { - jsval cur = JSVAL_NULL; + jsval cur; char *work = NULL; SWFDEC_LOG ("eval called with \"%s\" on %p", str, obj); @@ -358,8 +358,8 @@ swfdec_js_eval_internal (JSContext *cx, if (cx->fp == NULL) goto out; obj = cx->fp->thisp; - cur = OBJECT_TO_JSVAL (obj); } + c...
2007 Feb 06
0
109 commits - configure.ac libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_buffer.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_codec_screen.c libswfdec/swfdec_color.c libswfdec/swfdec_color.h
...git a/libswfdec/swfdec_js.c b/libswfdec/swfdec_js.c index 829c1ad..4c14100 100644 --- a/libswfdec/swfdec_js.c +++ b/libswfdec/swfdec_js.c @@ -343,7 +343,7 @@ static gboolean swfdec_js_eval_internal (JSContext *cx, JSObject *obj, const char *str, jsval *val, gboolean set) { - jsval cur = JSVAL_NULL; + jsval cur; char *work = NULL; SWFDEC_LOG ("eval called with \"%s\" on %p", str, obj); @@ -358,8 +358,8 @@ swfdec_js_eval_internal (JSContext *cx, if (cx->fp == NULL) goto out; obj = cx->fp->thisp; - cur = OBJECT_TO_JSVAL (obj); } + c...