search for: swfdec_as_stack_pop_n

Displaying 20 results from an estimated 23 matches for "swfdec_as_stack_pop_n".

Did you mean: swfdec_as_stack_pop
2007 Jun 17
2
Branch 'as' - libswfdec/swfdec_as_interpret.c
libswfdec/swfdec_as_interpret.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) New commits: diff-tree 38fbc1389267e593b44041018cbb1750bdcce0fb (from aaca94203d8a0ccb8feb32c0d57df3401fca0350) Author: Benjamin Otte <otte at gnome.org> Date: Sun Jun 17 14:19:45 2007 +0200 actually convert the values to a string when comparing strings diff --git
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
...t const char *s; s = swfdec_as_value_to_string (cx, swfdec_as_stack_peek (cx->frame->stack, 2)); - swfdec_as_context_eval_set (cx, NULL, s, swfdec_as_stack_pop (cx->frame->stack)); + swfdec_as_context_eval_set (cx, NULL, s, swfdec_as_stack_peek (cx->frame->stack, 1)); + swfdec_as_stack_pop_n (cx->frame->stack, 2); +} + +static const char * +swfdec_as_interpret_eval (SwfdecAsContext *cx, SwfdecAsObject *obj, + SwfdecAsValue *val) +{ + if (SWFDEC_AS_VALUE_IS_STRING (val)) { + const char *s = SWFDEC_AS_VALUE_GET_STRING (val); + if (s != SWFDEC_AS_STR_EMPTY) { + swfde...
2007 Oct 14
0
4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_sound.c test/trace
...e, + if (id > (cx->version > 4 ? 21 : 18)) { + SWFDEC_WARNING ("trying to SetProperty %u, doesn't exist", id); + goto error; + } + swfdec_as_object_set_variable (SWFDEC_AS_OBJECT (movie), swfdec_movieclip_props[id].name, swfdec_as_stack_peek (cx, 1)); -out: + swfdec_as_stack_pop_n (cx, 3); + return; + +error : swfdec_as_stack_pop_n (cx, 3); } commit 9ee02d87b2f6837237a717b3b6232ebe7ec63c63 Author: Benjamin Otte <otte at gnome.org> Date: Sun Oct 14 11:41:36 2007 +0200 don't crash when decoding didn't produce any output (fixes #12793) diff --git a/...
2007 Jun 28
0
Branch 'as' - 5 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie.c test/trace
...erpret.c b/libswfdec/swfdec_as_interpret.c index 376f41f..09578b8 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -592,6 +592,7 @@ error: if (n_args > swfdec_as_stack_get_size (frame->stack)) n_args = swfdec_as_stack_get_size (frame->stack); swfdec_as_stack_pop_n (frame->stack, n_args); + SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_push (frame->stack)); return FALSE; } diff-tree 2966839c6ed4b0d33c7681654a80df45063f60dd (from 692c9a4cde349cc8c927e182c36de44a2e9c6a42) Author: Benjamin Otte <otte at gnome.org> Date: Thu Jun 28 15:03:24...
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
...ect); - if (!swfdec_action_call (cx, n_args, JSINVOKE_CONSTRUCT)) - return JS_FALSE; - fp->sp[-1] = OBJECT_TO_JSVAL (object); - return JS_TRUE; + } + + swfdec_action_create (fun, n_args); + return; fail: - fp->sp -= 2 + n_args; - fp->sp[-1] = JSVAL_VOID; - return JS_TRUE; + swfdec_as_stack_pop_n (cx->frame->stack, n_args); + SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (cx->frame->stack, 1)); } -#endif static void swfdec_action_init_object (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) @@ -2275,10 +2265,8 @@ const SwfdecActionSpec swfdec_as_acti...
2007 Oct 26
0
2 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.h test/trace
...= SWFDEC_AS_VALUE_GET_OBJECT (val); + } else { + proto = NULL; + } + } else { + object = NULL; + proto = NULL; + } + + val = swfdec_as_stack_pop (cx); + argc = swfdec_as_value_to_integer (cx, val); + + if (argc > 0) { + swfdec_as_stack_ensure_size (cx, argc); + argv = swfdec_as_stack_pop_n (cx, argc); + } else { + argv = NULL; + } + + if (proto == NULL) + return; + + for (i = 0; i < argc; i++) { + if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[i])) + continue; + interface = SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]); + swfdec_as_object_get_variable (interface, SW...
2007 Oct 15
0
8 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_sound.c libswfdec/swfdec_sound.h test/trace
...t_eval() diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c index a3c0c15..f2022b4 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -677,24 +677,6 @@ swfdec_action_set_variable (SwfdecAsContext *cx, guint action, const guint8 *dat swfdec_as_stack_pop_n (cx, 2); } -static const char * -swfdec_as_interpret_eval (SwfdecAsContext *cx, SwfdecAsObject *obj, - SwfdecAsValue *val) -{ - if (SWFDEC_AS_VALUE_IS_STRING (val)) { - const char *s = SWFDEC_AS_VALUE_GET_STRING (val); - if (s != SWFDEC_AS_STR_EMPTY) { - swfdec_as_context_eval (c...
2007 Jul 13
0
12 commits - AUTHORS doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_array.h libswfdec/swfdec_as_context.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h
...argument from swfdec_as_object_create() diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c index 938165e..d011028 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -1360,7 +1360,7 @@ swfdec_action_new_object (SwfdecAsContex } swfdec_as_stack_pop_n (cx, 2); - swfdec_as_object_create (fun, n_args, NULL, TRUE); + swfdec_as_object_create (fun, n_args, NULL); return; fail: @@ -1397,7 +1397,7 @@ swfdec_action_new_method (SwfdecAsContex } swfdec_as_stack_pop_n (cx, 3); - swfdec_as_object_create (fun, n_args, NULL, TRUE); + swfdec_...
2007 Jul 12
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie.c libswfdec/swfdec_sprite_movie_as.c test/trace
...gt;depth); + if (SWFDEC_IS_SPRITE_MOVIE (new_movie)) { + g_queue_push_tail (SWFDEC_PLAYER (cx)->init_queue, new_movie); + swfdec_movie_queue_script (new_movie, SWFDEC_EVENT_LOAD); + swfdec_movie_run_construct (new_movie); + } swfdec_movie_initialize (new_movie); } swfdec_as_stack_pop_n (cx, 3); diff-tree 5a0de2944bba30fd70804ba25412e589ef62e666 (from b7672f1e4e0ee0a598397080589d6a2a156bf2cf) Author: Benjamin Otte <otte at gnome.org> Date: Thu Jul 12 15:16:34 2007 +0200 return the path of the movie as debug string diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swf...
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
...S_OBJECT (swfdec_as_stack_peek (frame->stack, 1)) || !SWFDEC_AS_VALUE_IS_OBJECT (swfdec_as_stack_peek (frame->stack, 2))) @@ -667,7 +669,20 @@ swfdec_action_call (SwfdecAsContext *cx, goto error; thisp = SWFDEC_AS_VALUE_GET_OBJECT (swfdec_as_stack_peek (frame->stack, 2)); swfdec_as_stack_pop_n (frame->stack, 2); - swfdec_as_function_call (fun, thisp, n_args); + /* swap arguments on the stack */ + /* FIXME: can we somehow keep this order please, it might be interesting for debuggers */ + for (i = 0; i < n_args / 2; i++) { + SwfdecAsValue tmp = *swfdec_as_stack_peek (frame-&gt...
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
...ec_as_object_unroot (ret); diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c index a1a3625..f0d27ce 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -1112,7 +1112,7 @@ swfdec_action_create (SwfdecAsFunction * } if (n_args) swfdec_as_stack_pop_n (stack, n_args); - object = swfdec_as_object_create (fun, n_args, swfdec_as_stack_peek (stack, 0)); + object = swfdec_as_object_create (fun, n_args, swfdec_as_stack_peek (stack, 0), TRUE); g_assert (object); SWFDEC_AS_VALUE_SET_OBJECT (swfdec_as_stack_peek (stack, 1), object); } diff --git...
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
...goto error; - thisp = SWFDEC_AS_VALUE_GET_OBJECT (swfdec_as_stack_peek (frame->stack, 2)); + if (!SWFDEC_AS_VALUE_IS_OBJECT (swfdec_as_stack_peek (frame->stack, 2))) { + thisp = NULL; + } else { + thisp = SWFDEC_AS_VALUE_GET_OBJECT (swfdec_as_stack_peek (frame->stack, 2)); + } swfdec_as_stack_pop_n (frame->stack, 2); /* sanitize argument count */ if (n_args > swfdec_as_stack_get_size (frame->stack)) diff --git a/libswfdec/swfdec_as_native_function.c b/libswfdec/swfdec_as_native_function.c index b373e3a..dde7652 100644 --- a/libswfdec/swfdec_as_native_function.c +++ b/libswfdec/...
2007 Aug 20
0
15 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_super.c libswfdec/swfdec_as_with.c
...cess = swfdec_as_object_delete_variable (SWFDEC_AS_VALUE_GET_OBJECT (val), name); + if (SWFDEC_AS_VALUE_IS_OBJECT (val)) { + success = swfdec_as_object_delete_variable ( + SWFDEC_AS_VALUE_GET_OBJECT (val), name) == SWFDEC_AS_DELETE_DELETED; + } SWFDEC_AS_VALUE_SET_BOOLEAN (val, success); swfdec_as_stack_pop_n (cx, 1); } @@ -1724,10 +1726,12 @@ swfdec_action_delete2 (SwfdecAsContext * { SwfdecAsValue *val; const char *name; + gboolean success = FALSE; val = swfdec_as_stack_peek (cx, 1); name = swfdec_as_value_to_string (cx, val); - SWFDEC_AS_VALUE_SET_BOOLEAN (val, swfdec_as_frame_del...
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
...== NULL) - return JS_FALSE; - if (!JS_SetProperty (cx, object, s, &fp->sp[-2 - 2 * i])) - return JS_FALSE; + const char *s = swfdec_as_value_to_string (cx, swfdec_as_stack_peek (stack, 2)); + swfdec_as_object_set_variable (object, s, swfdec_as_stack_peek (stack, 1)); + swfdec_as_stack_pop_n (stack, 2); } - fp->sp -= 2 * n_args; - fp->sp[-1] = OBJECT_TO_JSVAL (object); - return JS_TRUE; + SWFDEC_AS_VALUE_SET_OBJECT (swfdec_as_stack_push (stack), object); } -#endif static void swfdec_action_init_array (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) @...
2007 Nov 14
0
7 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_super.c libswfdec/swfdec_as_super.h
...g super object on frame"); - swfdec_as_super_replace (SWFDEC_AS_SUPER (fun), NULL); + swfdec_as_super_new_chain (frame, SWFDEC_AS_SUPER (fun), NULL); } - return TRUE; + return frame; error: n_args += 2; @@ -834,7 +838,7 @@ error: n_args = swfdec_as_stack_get_size (cx); swfdec_as_stack_pop_n (cx, n_args); SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_push (cx)); - return FALSE; + return NULL; } static void @@ -858,7 +862,10 @@ swfdec_action_call_function (SwfdecAsContext *cx, guint action, const guint8 *da SWFDEC_AS_VALUE_SET_NULL (thisp); SWFDEC_AS_VALUE_SET_UNDEFI...
2007 Jul 07
0
Branch 'as' - 7 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_super.c libswfdec/swfdec_as_super.h libswfdec/swfdec_as_with.c test/trace
...e at least 2 elements big */ static gboolean -swfdec_action_call (SwfdecAsContext *cx, guint n_args, gboolean use_super) +swfdec_action_call (SwfdecAsContext *cx, guint n_args) { SwfdecAsFunction *fun; SwfdecAsObject *thisp; @@ -592,11 +592,9 @@ swfdec_action_call (SwfdecAsContext *cx, swfdec_as_stack_pop_n (frame->stack, n_args); swfdec_as_function_call (fun, thisp, n_args, swfdec_as_stack_peek (frame->stack, 0), swfdec_as_stack_peek (frame->stack, 1)); - if (use_super) { - if (cx->frame->super && SWFDEC_AS_SUPER (frame->super)->object) { - SWFDEC_LOG...
2007 Aug 27
0
8 commits - libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_number.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h test/trace vivified/core
...fdec_as_value_to_number (cx, swfdec_as_stack_peek (cx, 3))) { swfdec_as_stack_ensure_size (cx, 7); - n_args = 5; - /* yay for order */ - swfdec_as_stack_swap (cx, 4, 7); - swfdec_as_stack_swap (cx, 5, 6); - } - if (!SWFDEC_AS_VALUE_IS_OBJECT (swfdec_as_stack_peek (cx, 1))) { - swfdec_as_stack_pop_n (cx, n_args + 2); - return; + rect.x0 = swfdec_as_value_to_number (cx, swfdec_as_stack_peek (cx, 7)); + rect.y0 = swfdec_as_value_to_number (cx, swfdec_as_stack_peek (cx, 6)); + rect.x1 = swfdec_as_value_to_number (cx, swfdec_as_stack_peek (cx, 5)); + rect.y1 = swfdec_as_value_to_num...
2007 Oct 25
0
6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_event.c libswfdec/swfdec_event.h libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_resource.c
...->depth); - if (SWFDEC_IS_SPRITE_MOVIE (new_movie)) { - g_queue_push_tail (SWFDEC_PLAYER (cx)->init_queue, new_movie); - swfdec_movie_queue_script (new_movie, SWFDEC_EVENT_LOAD); - swfdec_movie_run_construct (new_movie); - } - swfdec_movie_initialize (new_movie); } } swfdec_as_stack_pop_n (cx, 3); diff --git a/libswfdec/swfdec_event.c b/libswfdec/swfdec_event.c index 03f05fa..c368ae3 100644 --- a/libswfdec/swfdec_event.c +++ b/libswfdec/swfdec_event.c @@ -145,56 +145,14 @@ swfdec_event_list_free (SwfdecEventList *list) g_free (list); } -static const char * -swfdec_event_list_c...
2007 Aug 20
0
Branch 'vivi' - 60 commits - libswfdec-gtk/swfdec_gtk_loader.c libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c
...cess = swfdec_as_object_delete_variable (SWFDEC_AS_VALUE_GET_OBJECT (val), name); + if (SWFDEC_AS_VALUE_IS_OBJECT (val)) { + success = swfdec_as_object_delete_variable ( + SWFDEC_AS_VALUE_GET_OBJECT (val), name) == SWFDEC_AS_DELETE_DELETED; + } SWFDEC_AS_VALUE_SET_BOOLEAN (val, success); swfdec_as_stack_pop_n (cx, 1); } @@ -1724,10 +1726,12 @@ swfdec_action_delete2 (SwfdecAsContext * { SwfdecAsValue *val; const char *name; + gboolean success = FALSE; val = swfdec_as_stack_peek (cx, 1); name = swfdec_as_value_to_string (cx, val); - SWFDEC_AS_VALUE_SET_BOOLEAN (val, swfdec_as_frame_del...
2007 Jun 27
0
Branch 'as' - 16 commits - configure.ac libswfdec/Makefile.am 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_script_function.c
...ct_set_variable (cx->frame->var_object, name, + if (cx->frame->is_local) { + target = SWFDEC_AS_OBJECT (cx->frame); + } else { + target = cx->frame->target; + } + swfdec_as_object_set_variable (target, name, swfdec_as_stack_peek (cx->frame->stack, 1)); swfdec_as_stack_pop_n (cx->frame->stack, 2); } @@ -1685,10 +1663,16 @@ static void swfdec_action_define_local2 (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) { SwfdecAsValue val = { 0, }; + SwfdecAsObject *target; const char *name; name = swfdec_as_value_to_string (cx, swfdec_as_...