search for: swfdec_as_value_get_object

Displaying 20 results from an estimated 99 matches for "swfdec_as_value_get_object".

2007 Oct 25
0
6 commits - libswfdec/swfdec_as_interpret.c test/trace
...ex b18ddbf..5224538 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -2239,19 +2239,18 @@ swfdec_action_cast (SwfdecAsContext *cx, guint action, const guint8 *data, val = swfdec_as_stack_pop (cx); if (SWFDEC_AS_VALUE_IS_OBJECT (val)) { - constructor = SWFDEC_AS_VALUE_GET_OBJECT (val); + object = SWFDEC_AS_VALUE_GET_OBJECT (val); } else { - constructor = NULL; + object = NULL; } - + val = swfdec_as_stack_pop (cx); if (SWFDEC_AS_VALUE_IS_OBJECT (val)) { - object = SWFDEC_AS_VALUE_GET_OBJECT (val); + constructor = SWFDEC_AS_VALUE_GET_OBJECT (val);...
2007 May 24
0
Branch 'as' - 11 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_object.c
...= SWFDEC_AS_VALUE_GET_STRING (&tmp); if (s == SWFDEC_AS_STR_EMPTY) return NAN; d = g_ascii_strtod (s, &end); @@ -257,15 +262,6 @@ swfdec_as_value_to_number (SwfdecAsConte return NAN; } case SWFDEC_AS_TYPE_OBJECT: - { - SwfdecAsValue ret; - swfdec_as_object_call (SWFDEC_AS_VALUE_GET_OBJECT (value), SWFDEC_AS_STR_valueOf, - 0, NULL, &ret); - if (SWFDEC_AS_VALUE_IS_OBJECT (&ret)) - return NAN; - else - return swfdec_as_value_to_number (context, &ret); - } default: g_assert_not_reached (); return NAN; @@ -359,3 +355,27 @@ swfdec_as_value_to_bo...
2007 Jun 27
0
Branch 'as' - 3 commits - libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_js_video.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_video_movie_as.c libswfdec/swfdec_video_movie.c
...me->stack); n_args = swfdec_as_value_to_integer (cx, swfdec_as_stack_peek (cx->frame->stack, 1)); n_args = MIN (swfdec_as_stack_get_size (cx->frame->stack) - 1, n_args); - if (!SWFDEC_AS_VALUE_IS_OBJECT (constructor) || - !SWFDEC_IS_AS_FUNCTION (fun = (SwfdecAsFunction *) SWFDEC_AS_VALUE_GET_OBJECT (constructor))) { - SWFDEC_WARNING ("%s is not a constructor", name); - goto fail; - } if (name != SWFDEC_AS_STR_EMPTY) { - if (SWFDEC_AS_VALUE_IS_OBJECT (constructor)) { - swfdec_as_object_get_variable (SWFDEC_AS_VALUE_GET_OBJECT (constructor), - name, constructor); +...
2007 May 29
0
Branch 'as' - 8 commits - libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_math.c libswfdec/swfdec_as_math.h libswfdec/swfdec_as_strings.c libswfdec/swfdec_as_types.c
...nction is called. If the result of that function is still + * an object, it is returned nonetheless. **/ void swfdec_as_value_to_primitive (SwfdecAsValue *value) @@ -373,9 +374,6 @@ swfdec_as_value_to_primitive (SwfdecAsVa if (SWFDEC_AS_VALUE_IS_OBJECT (value)) { swfdec_as_object_call (SWFDEC_AS_VALUE_GET_OBJECT (value), SWFDEC_AS_STR_valueOf, 0, NULL, value); - if (SWFDEC_AS_VALUE_IS_OBJECT (value)) { - SWFDEC_AS_VALUE_SET_UNDEFINED (value); - } } } diff-tree 7a616f11092554851aede853537d78a77374826c (from b1af12501a718c910eb88c7052cb500058c2269c) Author: Benjamin Otte <otte at gnome....
2007 May 29
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_js_xml.c libswfdec/swfdec_tag.c player/swfplay.c
...return JS_DeleteProperty (cx, JSVAL_TO_OBJECT (cx->fp->sp[0]), name); + name = swfdec_as_value_to_string (cx, swfdec_as_stack_pop (cx->frame->stack)); + val = swfdec_as_stack_pop (cx->frame->stack); + if (SWFDEC_AS_VALUE_IS_OBJECT (val)) + swfdec_as_object_delete_variable (SWFDEC_AS_VALUE_GET_OBJECT (val), name); } static void swfdec_action_delete2 (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) { const char *name; - JSObject *obj, *pobj; - JSProperty *prop; - JSAtom *atom; + SwfdecAsObject *object; - cx->fp->sp -= 1; - name = swfdec_js_to_string (cx...
2007 Jul 04
0
Branch 'as' - 25 commits - libswfdec/Makefile.am libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_boolean.h libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c
...VALUE_SET_UNDEFINED (swfdec_as_stack_peek (frame->stack, 1)); + SWFDEC_AS_VALUE_SET_NULL (thisp); + SWFDEC_AS_VALUE_SET_UNDEFINED (fun); } - if (!swfdec_action_call (cx, n_args)) { + if (!swfdec_action_call (cx, n_args, SWFDEC_AS_VALUE_IS_OBJECT (fun) && + SWFDEC_IS_AS_SUPER (SWFDEC_AS_VALUE_GET_OBJECT (fun)))) { SWFDEC_ERROR ("no function named %s", name); } } @@ -634,16 +646,19 @@ swfdec_action_call_method (SwfdecAsConte SwfdecAsObject *obj; guint n_args; const char *name = NULL; + gboolean use_super = FALSE; swfdec_as_stack_ensure_size (frame->stack, 3);...
2007 Oct 26
0
2 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.h test/trace
...fdecAsContext *cx, guint action, + const guint8 *data, guint len) +{ + SwfdecAsValue *val, *argv; + SwfdecAsObject *object, *proto, *interface; + int argc, i; + + swfdec_as_stack_ensure_size (cx, 2); + + val = swfdec_as_stack_pop (cx); + if (SWFDEC_AS_VALUE_IS_OBJECT (val)) { + object = SWFDEC_AS_VALUE_GET_OBJECT (val); + swfdec_as_object_get_variable (object, SWFDEC_AS_STR_prototype, val); + if (SWFDEC_AS_VALUE_IS_OBJECT (val)) { + proto = SWFDEC_AS_VALUE_GET_OBJECT (val); + } else { + proto = NULL; + } + } else { + object = NULL; + proto = NULL; + } + + val = swfdec_as_stack...
2007 Jul 27
0
libswfdec/swfdec_asbroadcaster.c
...ec_as_strings.h" #include "swfdec_debug.h" @@ -47,10 +46,10 @@ broadcastMessage (SwfdecAsContext *cx, S argc--; swfdec_as_object_get_variable (object, SWFDEC_AS_STR__listeners, &val); - if (!SWFDEC_AS_VALUE_IS_OBJECT (&val) || - !SWFDEC_IS_AS_ARRAY (listeners = SWFDEC_AS_VALUE_GET_OBJECT (&val))) + if (!SWFDEC_AS_VALUE_IS_OBJECT (&val)) return; + listeners = SWFDEC_AS_VALUE_GET_OBJECT (&val); swfdec_as_object_get_variable (listeners, SWFDEC_AS_STR_length, &val); length = swfdec_as_value_to_integer (cx, &val);
2007 Jun 02
2
small bug in swfdec_mouse_as.c
...c_mouse_addListener (SwfdecAsObject *object, guint argc, SwfdecAsValue *arg { SwfdecPlayer *player = SWFDEC_PLAYER (object->context); - if (!SWFDEC_IS_AS_OBJECT (&argv[0])) + if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[0])) return; swfdec_listener_add (player->mouse_listener, SWFDEC_AS_VALUE_GET_OBJECT (&argv[0])); } -- Duy
2007 Sep 08
0
9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_video_movie_as.c
...get_by_name (movie, name); + if (ret) + return ret; - if (!swfdec_as_object_get_variable (movie, name, &val)) ++ if (!swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (movie), name, &val)) + return NULL; + if (!SWFDEC_AS_VALUE_IS_OBJECT (&val)) + return NULL; - ret = SWFDEC_AS_VALUE_GET_OBJECT (&val); ++ ret = (SwfdecMovie *) SWFDEC_AS_VALUE_GET_OBJECT (&val); + if (!SWFDEC_IS_MOVIE (ret)) + return NULL; + return ret; +} + /** * swfdec_action_get_movie_by_path: * @cx: a #SwfdecAsContext @@@ -445,9 -426,10 +445,26 @@@ swfdec_action_get_movie_by_path (SwfdecAsC...
2007 Apr 12
0
Branch 'as' - 14 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h
...ET_OBJECT (&cur, obj); /* FIXME: can be NULL here */ for (i = 0; varlist[i] != NULL; i++) { const char *dot = swfdec_as_context_get_string (cx, varlist[i]); - if (!SWFDEC_AS_VALUE_IS_OBJECT (&cur)) { - SWFDEC_AS_VALUE_SET_UNDEFINED (&cur); - break; - } - obj = SWFDEC_AS_VALUE_GET_OBJECT (&cur); if (varlist[i+1] != NULL) { swfdec_as_context_eval_get_property (cx, obj, dot, &cur); + if (!SWFDEC_AS_VALUE_IS_OBJECT (&cur)) { + SWFDEC_AS_VALUE_SET_UNDEFINED (&cur); + break; + } + obj = SWFDEC_AS_VALUE_GET_OBJECT (&cur); } else {...
2007 Sep 10
0
3 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...ED (&val); - swfdec_as_object_set_variable (object, name, &val); - if (!(var = swfdec_as_object_hash_lookup (object, name))) - return; - } - - if (var->get != NULL) - return; - if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[1])) return; if (!SWFDEC_IS_AS_FUNCTION (SWFDEC_AS_VALUE_GET_OBJECT (&argv[1]))) return; - var->watch = SWFDEC_AS_FUNCTION (SWFDEC_AS_VALUE_GET_OBJECT (&argv[1])); + if (object->watches == NULL) { + object->watches = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify) swfdec_as_watch_unref); + watch = NULL...
2007 May 22
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c
...super = SWFDEC_AS_SUPER (ret); + if (frame->thisp) { + SwfdecAsValue val; + super->object = frame->thisp; + swfdec_as_object_get_variable (frame->thisp, SWFDEC_AS_STR_constructor, &val); + if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) { + SwfdecAsObject *constructor = SWFDEC_AS_VALUE_GET_OBJECT (&val); + swfdec_as_object_get_variable (constructor, SWFDEC_AS_STR___constructor__, &val); + if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) { + super->constructor = (SwfdecAsFunction *) SWFDEC_AS_VALUE_GET_OBJECT (&val); + if (!SWFDEC_IS_AS_FUNCTION (super->constructor)) +...
2007 Apr 05
0
Branch 'as' - 9 commits - configure.ac libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...roperty %u, not allowed", id); + goto out; + } + val = swfdec_as_stack_peek (cx->frame->stack, 1); + swfdec_as_interpret_eval (cx, NULL, val); + if (SWFDEC_AS_VALUE_IS_UNDEFINED (val)) { + obj = cx->frame->scope; + } else if (SWFDEC_AS_VALUE_IS_OBJECT (val)) { + obj = SWFDEC_AS_VALUE_GET_OBJECT (val); + } else { + SWFDEC_WARNING ("not an object, can't GetProperty"); + goto out; + } + swfdec_as_object_get (obj, SWFDEC_AS_STR_CONSTANT (CONSTANT_INDEX + id), + swfdec_as_stack_peek (cx->frame->stack, 1)); + return; + +out: + SWFDEC_AS_VALUE_SET_UNDEFINED (s...
2007 Sep 02
0
3 commits - libswfdec/swfdec_as_number.c libswfdec/swfdec_internal.h libswfdec/swfdec_player_as.c libswfdec/swfdec_player.c test/trace
...SWFDEC_AS_STR_ASconstructor, - 0, swfdec_player_ASconstructor, 2); - - // remove __proto__ and constructor from ASnative and ASconstructor - - swfdec_as_object_get_variable (context->global, SWFDEC_AS_STR_ASnative, &val); - g_assert (SWFDEC_AS_VALUE_IS_OBJECT (&val)); - object = SWFDEC_AS_VALUE_GET_OBJECT (&val); - swfdec_as_object_unset_variable_flags (object, SWFDEC_AS_STR___proto__, - SWFDEC_AS_VARIABLE_PERMANENT); - swfdec_as_object_delete_variable (object, SWFDEC_AS_STR___proto__); - swfdec_as_object_unset_variable_flags (object, SWFDEC_AS_STR_constructor, - SWFDEC_AS_VARIABLE_...
2007 Apr 12
0
Branch 'as' - 15 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c
...RING ("valueOf"), /* add more here */ NULL }; @@ -204,8 +205,15 @@ swfdec_as_value_to_number (SwfdecAsConte return NAN; } case SWFDEC_TYPE_AS_ASOBJECT: - SWFDEC_ERROR ("FIXME"); - return NAN; + { + SwfdecAsValue ret; + swfdec_as_object_call (SWFDEC_AS_VALUE_GET_OBJECT (value), SWFDEC_AS_STR_VALUEOF, + 0, NULL, &ret); + if (SWFDEC_AS_VALUE_IS_NUMBER (&ret)) + return SWFDEC_AS_VALUE_GET_NUMBER (&ret); + else + return NAN; + } default: g_assert_not_reached (); return NAN; diff --git a/libswfdec/swfdec_as_types.h b/libswfd...
2007 Aug 17
0
2 commits - libswfdec/swfdec_as_array.c test/trace
...ew (cx); array_new = SWFDEC_AS_ARRAY (object_new); - swfdec_as_array_append_array (array_new, SWFDEC_AS_ARRAY (object)); + swfdec_as_array_append_array (array_new, object); for (j = 0; j < argc; j++) { if (SWFDEC_AS_VALUE_IS_OBJECT (&argv[j]) && SWFDEC_IS_AS_ARRAY (SWFDEC_AS_VALUE_GET_OBJECT (&argv[j]))) { swfdec_as_array_append_array (array_new, - SWFDEC_AS_ARRAY (SWFDEC_AS_VALUE_GET_OBJECT (&argv[j]))); + SWFDEC_AS_VALUE_GET_OBJECT (&argv[j])); } else { - var = swfdec_as_double_to_string (object->context, swfdec_as_array_get_length (...
2007 Jun 28
0
Branch 'as' - 2 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...fdec_as_value_to_integer +SWFDEC_AS_VALUE_SET_BOOLEAN +SWFDEC_AS_VALUE_GET_NUMBER swfdec_as_value_to_number +swfdec_as_value_to_integer +SWFDEC_AS_VALUE_SET_INT +SWFDEC_AS_VALUE_SET_NUMBER +SWFDEC_AS_VALUE_GET_STRING +swfdec_as_value_to_string +SWFDEC_AS_VALUE_SET_STRING +SWFDEC_AS_VALUE_SET_NULL +SWFDEC_AS_VALUE_GET_OBJECT swfdec_as_value_to_object +SWFDEC_AS_VALUE_SET_OBJECT swfdec_as_value_to_primitive -swfdec_as_value_to_string +swfdec_as_double_to_string +swfdec_as_str_concat +<SUBSECTION Standard> +SWFDEC_IS_AS_VALUE +SWFDEC_AS_VALUE_IS_UNDEFINED +SWFDEC_AS_VALUE_IS_BOOLEAN +SWFDEC_AS_VALUE_IS_NUMBER +SW...
2007 Nov 08
0
configure.ac libswfdec-gtk/swfdec_gtk_widget.c libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_as_date.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_audio_flv.c libswfdec/swfdec_audio_flv.h
..._interpret.c b/libswfdec/swfdec_as_interpret.c index 6641d72..2cac041 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -1543,6 +1543,7 @@ swfdec_action_strict_equals (SwfdecAsContext *cx, guint action, const guint8 *da case SWFDEC_AS_TYPE_OBJECT: cond = SWFDEC_AS_VALUE_GET_OBJECT (rval) == SWFDEC_AS_VALUE_GET_OBJECT (lval); break; + case SWFDEC_AS_TYPE_INT: default: g_assert_not_reached (); cond = FALSE; @@ -2132,6 +2133,7 @@ swfdec_action_type_of (SwfdecAsContext *cx, guint action, const guint8 *data, gu } } break; + case SWFDEC_AS_TYPE...
2007 May 23
0
Branch 'as' - 7 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_strings.c
...per->object = frame->thisp; - swfdec_as_object_get_variable (frame->thisp, SWFDEC_AS_STR_constructor, &val); + swfdec_as_object_get_variable (frame->thisp, SWFDEC_AS_STR___proto__, &val); if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) { - SwfdecAsObject *constructor = SWFDEC_AS_VALUE_GET_OBJECT (&val); - swfdec_as_object_get_variable (constructor, SWFDEC_AS_STR___constructor__, &val); + SwfdecAsObject *proto = SWFDEC_AS_VALUE_GET_OBJECT (&val); + swfdec_as_object_get_variable (proto, SWFDEC_AS_STR___constructor__, &val); if (SWFDEC_AS_VALUE_IS_OBJECT...