search for: swfdec_action_new_method

Displaying 12 results from an estimated 12 matches for "swfdec_action_new_method".

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
...dec_as_interpret.c b/libswfdec/swfdec_as_interpret.c index b9e19ad..42479d2 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -1327,54 +1327,44 @@ fail: SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (cx->frame->stack, 1)); } -#if 0 static void swfdec_action_new_method (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) { - JSStackFrame *fp = cx->fp; - const char *s; - guint32 n_args; - JSObject *object; - jsval constructor; - - if (!swfdec_script_ensure_stack (cx, 3)) - return JS_FALSE; - s = swfdec_js_to_string (cx, fp->sp[-1])...
2007 Mar 05
0
5 commits - libswfdec/swfdec_js.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_script.c test/trace
...roto)) { + SWFDEC_ERROR ("prototype of %s is not an object", name); + } + object = JS_NewObject (cx, clasp, JSVAL_IS_OBJECT (proto) ? JSVAL_TO_OBJECT (proto) : NULL, NULL); if (object == NULL) return JS_FALSE; fp->sp[-2] = OBJECT_TO_JSVAL (object); @@ -1436,7 +1441,7 @@ swfdec_action_new_method (JSContext *cx, const char *s; guint32 n_args; JSObject *object; - jsval constructor; + jsval constructor, proto; const JSClass *clasp; s = swfdec_js_to_string (cx, fp->sp[-1]); @@ -1467,7 +1472,12 @@ swfdec_action_new_method (JSContext *cx, if (JS_GetClass (object) != &a...
2007 Apr 16
0
Branch 'as' - 3 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...son_7 } }, [SWFDEC_AS_ACTION_EQUALS2] = { "Equals2", NULL, 2, 1, { NULL, NULL, swfdec_action_equals2, swfdec_action_equals2, swfdec_action_equals2 } }, @@ -2220,9 +2240,11 @@ const SwfdecActionSpec swfdec_as_actions #if 0 [0x53] = { "NewMethod", NULL, -1, 1, { NULL, NULL, swfdec_action_new_method, swfdec_action_new_method, swfdec_action_new_method } }, /* version 6 */ - [0x54] = { "InstanceOf", NULL }, - [0x55] = { "Enumerate2", NULL, 1, -1, { NULL, NULL, NULL, swfdec_action_enumerate2, swfdec_action_enumerate2 } }, +#endif + [SWFDEC_AS_ACTION_INSTANCE_OF] = { &quo...
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
...!JS_ValueToECMAUint32 (cx, fp->sp[-2], &n_args)) return JS_FALSE; - if ((guint) (fp->sp - fp->spbase) < n_args + 2) { + if (!swfdec_script_ensure_stack (cx, n_args + 2)) { SWFDEC_ERROR ("not enough stack space"); return JS_FALSE; } @@ -1447,7 +1483,7 @@ swfdec_action_new_method (JSContext *cx, return JS_FALSE; if (!JS_ValueToECMAUint32 (cx, fp->sp[-3], &n_args)) return JS_FALSE; - if (n_args + 3 > (guint) (fp->sp - fp->spbase)) + if (!swfdec_script_ensure_stack (cx, n_args + 3)) return JS_FALSE; if (!JS_ValueToObject (cx, fp->...
2007 Nov 07
0
14 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_net_stream.c libswfdec/swfdec_script.c libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_tag.c libswfdec/swfdec_text_field_movie.c
...ecrement, swfdec_action_decrement } }, - [SWFDEC_AS_ACTION_CALL_METHOD] = { "CallMethod", NULL, -1, 1, { NULL, NULL, swfdec_action_call_method, swfdec_action_call_method, swfdec_action_call_method } }, - [SWFDEC_AS_ACTION_NEW_METHOD] = { "NewMethod", NULL, -1, 1, { NULL, NULL, swfdec_action_new_method, swfdec_action_new_method, swfdec_action_new_method } }, + [SWFDEC_AS_ACTION_DELETE] = { "Delete", NULL, 2, 1, swfdec_action_delete, 5 }, + [SWFDEC_AS_ACTION_DELETE2] = { "Delete2", NULL, 1, 1, swfdec_action_delete2, 5 }, + [SWFDEC_AS_ACTION_DEFINE_LOCAL] = { "DefineLoca...
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
...swfdec_action_decrement, swfdec_action_decrement } }, [SWFDEC_AS_ACTION_CALL_METHOD] = { "CallMethod", NULL, -1, 1, { NULL, NULL, swfdec_action_call_method, swfdec_action_call_method, swfdec_action_call_method } }, #if 0 [0x53] = { "NewMethod", NULL, -1, 1, { NULL, NULL, swfdec_action_new_method, swfdec_action_new_method, swfdec_action_new_method } }, diff-tree 75d5878407131d54858da7a2443c9ff5e793c86c (from 1f5c7b93200bf3416a9ebad2ef079f46348a76c6) Author: Benjamin Otte <otte@gnome.org> Date: Thu Apr 12 10:51:22 2007 +0200 implement SetTarget and SetTarget2 diff --git a/libsw...
2007 Oct 25
0
12 commits - libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c test/trace
...cActionSpec swfdec_as_actions[256] = { [SWFDEC_AS_ACTION_CALL_METHOD] = { "CallMethod", NULL, -1, 1, { NULL, NULL, swfdec_action_call_method, swfdec_action_call_method, swfdec_action_call_method } }, [SWFDEC_AS_ACTION_NEW_METHOD] = { "NewMethod", NULL, -1, 1, { NULL, NULL, swfdec_action_new_method, swfdec_action_new_method, swfdec_action_new_method } }, /* version 6 */ - [SWFDEC_AS_ACTION_INSTANCE_OF] = { "InstanceOf", NULL }, + [SWFDEC_AS_ACTION_INSTANCE_OF] = { "InstanceOf", NULL, 2, 1, { NULL, NULL, NULL, swfdec_action_instance_of, swfdec_action_instance_of } },...
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
...lt;otte at gnome.org> Date: Wed Jun 27 13:30:54 2007 +0200 fix NewMethod action diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c index b4bcc4f..376f41f 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -1365,16 +1365,13 @@ swfdec_action_new_method (SwfdecAsContex constructor = swfdec_as_stack_pop (cx->frame->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 (construct...
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
...; + fp->sp[-2] = OBJECT_TO_JSVAL (object); + if (!swfdec_action_call (cx, n_args, JSINVOKE_CONSTRUCT)) + return JS_FALSE; + fp->sp[-1] = OBJECT_TO_JSVAL (object); + return JS_TRUE; + +fail: + fp->sp -= n_args + 1; + fp->sp[-1] = JSVAL_VOID; + return JS_TRUE; +} + +static void +swfdec_action_new_method (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) +{ + JSStackFrame *fp = cx->fp; + const char *s; + guint32 n_args; + JSObject *object; + jsval constructor; + + if (!swfdec_script_ensure_stack (cx, 3)) + return JS_FALSE; + s = swfdec_js_to_string (cx, fp->sp[-1])...
2007 Mar 11
0
10 commits - libswfdec/js libswfdec/swfdec_js_color.c libswfdec/swfdec_js_connection.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_js_net_stream.c libswfdec/swfdec_js_video.c libswfdec/swfdec_js_xml.c libswfdec/swfdec_script.c player/.gitignore
...mp;n_args)) return JS_FALSE; - if (!swfdec_script_ensure_stack (cx, n_args + 2)) { - SWFDEC_ERROR ("not enough stack space"); - return JS_FALSE; - } if (constructor == JSVAL_VOID) { SWFDEC_WARNING ("no constructor for %s", name); } @@ -1479,13 +1485,13 @@ swfdec_action_new_method (JSContext *cx, JSObject *object; jsval constructor; + if (!swfdec_script_ensure_stack (cx, 3)) + return JS_FALSE; s = swfdec_js_to_string (cx, fp->sp[-1]); if (s == NULL) return JS_FALSE; if (!JS_ValueToECMAUint32 (cx, fp->sp[-3], &n_args)) return JS_FALS...
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
...ap } }, [0x4e] = { "GetMember", NULL, 2, 1, { NULL, swfdec_action_get_member, swfdec_action_get_member, swfdec_action_get_member, swfdec_action_get_member } }, @@ -2383,7 +2508,7 @@ static const SwfdecActionSpec actions[25 [0x53] = { "NewMethod", NULL, -1, 1, { NULL, NULL, swfdec_action_new_method, swfdec_action_new_method, swfdec_action_new_method } }, /* version 6 */ [0x54] = { "InstanceOf", NULL }, - [0x55] = { "Enumerate2", NULL }, + [0x55] = { "Enumerate2", NULL, 1, -1, { NULL, NULL, NULL, swfdec_action_enumerate2, swfdec_action_enumerate2 } }, /...
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
...s_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_as_object_create (fun, n_args, NULL); return; fail: diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c index 02fdeae..f9bf7ac 100644 --- a/libswfdec/s...