search for: swfdec_is_as_context

Displaying 20 results from an estimated 47 matches for "swfdec_is_as_context".

2007 Mar 28
0
Branch 'as' - 3 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_types.c
...bug.h" +#include "swfdec_script.h" /*** GTK_DOC ***/ @@ -67,7 +69,7 @@ swfdec_as_context_abort (SwfdecAsContext gboolean swfdec_as_context_use_mem (SwfdecAsContext *context, gsize len) { - g_return_val_if_fail (SWFDEC_AS_IS_CONTEXT (context), FALSE); + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), FALSE); g_return_val_if_fail (len > 0, FALSE); context->memory += len; @@ -77,7 +79,7 @@ swfdec_as_context_use_mem (SwfdecAsConte void swfdec_as_context_unuse_mem (SwfdecAsContext *context, gsize len) { - g_return_if_fail (SWFDEC_AS_IS_CONTEXT (context)); + g_return_if...
2007 Jun 29
0
Branch 'as' - 3 commits - doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h
..._context_return +swfdec_as_context_run +swfdec_as_context_startup +swfdec_as_context_trace +swfdec_as_context_unuse_mem +swfdec_as_context_use_mem +<SUBSECTION Standard> +swfdec_as_context_get_type +SwfdecAsContextClass +SWFDEC_AS_CONTEXT +SWFDEC_AS_CONTEXT_CLASS +SWFDEC_AS_CONTEXT_GET_CLASS +SWFDEC_IS_AS_CONTEXT +SWFDEC_IS_AS_CONTEXT_CLASS +SWFDEC_TYPE_AS_CONTEXT +</SECTION> + diff-tree bc23ec80d8afa3d49618a6b180ace50f7c7b19f3 (from 677831ce294814177191a5950e5320efb73d6e3d) Author: Benjamin Otte <otte at gnome.org> Date: Fri Jun 29 02:00:34 2007 +0200 add lots of documentation diff --gi...
2007 Oct 26
0
8 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_interpret.c test/trace
...t;exception_value); swfdec_as_object_mark (context->Function); swfdec_as_object_mark (context->Function_prototype); swfdec_as_object_mark (context->Object); @@ -685,10 +685,10 @@ swfdec_as_context_throw (SwfdecAsContext *context, const SwfdecAsValue *value) { g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context)); g_return_if_fail (SWFDEC_IS_AS_VALUE (value)); - g_return_if_fail (!context->throwing); + g_return_if_fail (!context->exception); - context->throwing = TRUE; - context->throw_value = *value; + context->exception = TRUE; + context->exception_value = *value;...
2007 Jun 17
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_player.c
...fdec_as_context_use_mem (SwfdecAsConte g_return_val_if_fail (bytes > 0, FALSE); context->memory += bytes; + context->memory_since_gc += bytes; return TRUE; } @@ -244,15 +245,33 @@ swfdec_as_context_gc (SwfdecAsContext *c SwfdecAsContextClass *klass; g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context)); - + g_return_if_fail (context->frame == NULL); /* no GC during setup */ - if (context->state == SWFDEC_AS_CONTEXT_NEW) - return; + g_return_if_fail (context->state != SWFDEC_AS_CONTEXT_NEW); + SWFDEC_INFO ("invoking the garbage collector"); + g_print (&qu...
2007 May 21
0
Branch 'as' - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c
...s_frame_new (SwfdecAsContext *context, SwfdecScript *script) { - SwfdecAsContext *context; SwfdecAsFrame *frame; SwfdecAsStack *stack; gsize size; - g_return_val_if_fail (SWFDEC_IS_AS_OBJECT (thisp), NULL); - g_return_val_if_fail (thisp->properties, NULL); + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL); g_return_val_if_fail (script != NULL, NULL); - context = thisp->context; stack = swfdec_as_stack_new (context, 100); /* FIXME: invent better numbers here */ if (!stack) return NULL; @@ -130,10 +127,10 @@ swfdec_as_frame_new (SwfdecAsObject *thi frame->p...
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
...this state when unlocking the player diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c index 1eb5785..34dd33b 100644 --- a/libswfdec/swfdec_as_context.c +++ b/libswfdec/swfdec_as_context.c @@ -381,7 +381,7 @@ swfdec_as_context_gc (SwfdecAsContext *c g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context)); g_return_if_fail (context->frame == NULL); - g_return_if_fail (context->state != SWFDEC_AS_CONTEXT_NEW); + g_return_if_fail (context->state == SWFDEC_AS_CONTEXT_RUNNING); if (context->state == SWFDEC_AS_CONTEXT_ABORTED) return; @@ -412,8 +412,7 @@ void swfdec...
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
...ex 07aa538..2004e71 100644 --- a/libswfdec/swfdec_as_types.c +++ b/libswfdec/swfdec_as_types.c @@ -230,24 +230,29 @@ swfdec_as_value_to_printable (SwfdecAsCo double swfdec_as_value_to_number (SwfdecAsContext *context, const SwfdecAsValue *value) { + SwfdecAsValue tmp; + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), 0.0); g_return_val_if_fail (SWFDEC_IS_AS_VALUE (value), 0.0); - switch (value->type) { + tmp = *value; + swfdec_as_value_to_primitive (&tmp); + + switch (tmp.type) { case SWFDEC_AS_TYPE_UNDEFINED: case SWFDEC_AS_TYPE_NULL: return (context->version >...
2007 Apr 11
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...c_as_types.c index 2446681..ee8c403 100644 --- a/libswfdec/swfdec_as_types.c +++ b/libswfdec/swfdec_as_types.c @@ -227,6 +227,9 @@ swfdec_as_value_to_integer (SwfdecAsCont SwfdecAsObject * swfdec_as_value_to_object (SwfdecAsContext *context, const SwfdecAsValue *value) { + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL); + g_return_val_if_fail (SWFDEC_IS_AS_VALUE (value), NULL); + switch (value->type) { case SWFDEC_TYPE_AS_UNDEFINED: case SWFDEC_TYPE_AS_NULL: @@ -244,3 +247,46 @@ swfdec_as_value_to_object (SwfdecAsConte } } +/** + * swfdec_as_value_to_boolean: + * @context:...
2007 Mar 29
0
Branch 'as' - 9 commits - configure.ac doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_stack.c
...d >= 0 && spec->remove >= 0) ? stack->cur + spec->add - spec->remove : NULL; #endif @@ -393,7 +397,23 @@ start: } } -internal_error: +error: return; } +void +swfdec_as_context_return (SwfdecAsContext *context, SwfdecAsValue *retval) +{ + g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context)); + g_return_if_fail (context->frame != NULL); + g_return_if_fail (retval == NULL || SWFDEC_IS_AS_VALUE (retval)); + + context->frame = context->frame->next; + swfdec_as_stack_ensure_left (context->frame->stack, 1); + if (retval) { + swfdec_as_stack_push (context...
2007 May 18
0
Branch 'as' - libswfdec/Makefile.am libswfdec/swfdec_as_context.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_native_function.h
...fdecAsFunction * -swfdec_as_function_do_create (SwfdecAsContext *context) +swfdec_as_function_create (SwfdecAsContext *context, GType type, guint size) { SwfdecAsValue val; SwfdecAsObject *fun; - if (!swfdec_as_context_use_mem (context, sizeof (SwfdecAsFunction))) + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL); + g_return_val_if_fail (g_type_is_a (type, SWFDEC_TYPE_AS_FUNCTION), NULL); + g_return_val_if_fail (size >= sizeof (SwfdecAsFunction), NULL); + + if (!swfdec_as_context_use_mem (context, size)) return NULL; - fun = g_object_new (SWFDEC_TYPE_AS_FUNCTION, NULL); - swfde...
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
...SwfdecAsValue *ret) +{ + SwfdecAsBoolean *b = SWFDEC_AS_BOOLEAN (object); + + SWFDEC_AS_VALUE_SET_BOOLEAN (ret, b->boolean); +} + +void +swfdec_as_boolean_init_context (SwfdecAsContext *context, guint version) +{ + SwfdecAsObject *boolean, *proto; + SwfdecAsValue val; + + g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context)); + + boolean = SWFDEC_AS_OBJECT (swfdec_as_object_add_function (context->global, + SWFDEC_AS_STR_Boolean, SWFDEC_TYPE_AS_BOOLEAN, swfdec_as_boolean_construct, 0)); + if (!boolean) + return; + swfdec_as_native_function_set_construct_type (SWFDEC_AS_NATIVE_FUNCTION (boolean),...
2007 Jul 02
0
Branch 'as' - 24 commits - configure.ac doc/Makefile.am doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c
...fdec_as_context.c b/libswfdec/swfdec_as_context.c index 5b8079b..03b0c5e 100644 --- a/libswfdec/swfdec_as_context.c +++ b/libswfdec/swfdec_as_context.c @@ -586,7 +586,7 @@ swfdec_as_context_run (SwfdecAsContext * gboolean check_scope; /* some opcodes avoid a scope check */ g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context)); - if (context->frame == NULL) + if (context->frame == NULL || context->state == SWFDEC_AS_CONTEXT_ABORTED) return; klass = SWFDEC_AS_CONTEXT_GET_CLASS (context); @@ -627,7 +627,7 @@ start: pc = frame->pc; check_scope = TRUE; - while (TRUE) { + while (co...
2007 Sep 04
0
5 commits - doc/Makefile.am doc/swfdec-sections.txt libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.c libswfdec/swfdec_asbroadcaster.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_native_function.h
...conversion succeeded, %FALSE otherwise + **/ +gboolean +swfdec_as_native_function_check (SwfdecAsContext *cx, SwfdecAsObject *object, + GType type, gpointer *result, guint argc, SwfdecAsValue *argv, + const char *args, ...) +{ + gboolean ret; + va_list varargs; + + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (cx), FALSE); + g_return_val_if_fail (type == 0 || result != NULL, FALSE); + + va_start (varargs, args); + ret = swfdec_as_native_function_checkv (cx, object, type, result, argc, argv, args, varargs); + va_end (varargs); + return ret; +} + +/** + * swfdec_as_native_function_checkv: + * @cx: a...
2007 May 20
0
Branch 'as' - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_player.c
...d inside this context. By default, + * this is the same as g_get_current_time(), but it may be overwriten to allow + * things such as slower or faster playback. + **/ +void +swfdec_as_context_get_time (SwfdecAsContext *context, GTimeVal *tv) +{ + SwfdecAsContextClass *klass; + + g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context)); + g_return_if_fail (tv != NULL); + + klass = SWFDEC_AS_CONTEXT_GET_CLASS (context); + if (klass->get_time) + klass->get_time (context, tv); + else + g_get_current_time (tv); +} + void swfdec_as_context_run (SwfdecAsContext *context) { diff --git a/libswfdec/swfdec_as_...
2007 Oct 22
0
2 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h
...e excessive memory usage, infinite loops or other problems. + * In that case the script engine aborts for safety reasons. + * + * Returns: %TRUE if the player is aborted, %FALSE if it runs normally. + **/ +gboolean +swfdec_as_context_is_aborted (SwfdecAsContext *context) +{ + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), TRUE); + + return context->state == SWFDEC_AS_CONTEXT_ABORTED; +} + diff --git a/libswfdec/swfdec_as_context.h b/libswfdec/swfdec_as_context.h index 73feae4..8540cd8 100644 --- a/libswfdec/swfdec_as_context.h +++ b/libswfdec/swfdec_as_context.h @@ -97,6 +97,7 @@ GType swfdec_as_cont...
2007 Aug 17
0
Branch 'vivi' - 9 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c
...**/ -SwfdecAsFunction * -swfdec_as_function_create (SwfdecAsContext *context, GType type, guint size) +void +swfdec_as_function_set_constructor (SwfdecAsFunction *fun) { + SwfdecAsContext *context; + SwfdecAsObject *object; SwfdecAsValue val; - SwfdecAsObject *fun; - g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL); - g_return_val_if_fail (g_type_is_a (type, SWFDEC_TYPE_AS_FUNCTION), NULL); - g_return_val_if_fail (size >= sizeof (SwfdecAsFunction), NULL); - - if (!swfdec_as_context_use_mem (context, size)) - return NULL; - fun = g_object_new (type, NULL); - swfdec_as_object_add (SW...
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
...its *bits, SwfdecAmfType expected_type, - jsval *rval) +swfdec_amf_parse_one (SwfdecAsContext *context, SwfdecBits *bits, + SwfdecAmfType expected_type, SwfdecAsValue *rval) { SwfdecAmfParseFunc func; guint type; - g_return_val_if_fail (cx != NULL, FALSE); + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), 0); g_return_val_if_fail (bits != NULL, FALSE); g_return_val_if_fail (rval != NULL, FALSE); g_return_val_if_fail (expected_type < SWFDEC_AMF_N_TYPES, FALSE); @@ -205,23 +202,24 @@ swfdec_amf_parse_one (JSContext *cx, Swf SWFDEC_ERROR ("no parse func for AMF type %u&...
2007 Jul 13
0
3 commits - doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c
...example setup the newly constructed objects when constructing but only + * cast the provided argument when being called. + * + * Returns: %TRUE if the currently executing frame is a constructor + **/ +gboolean +swfdec_as_context_is_constructing (SwfdecAsContext *context) +{ + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), FALSE); + + return context->frame && context->frame->construct; +} + +/** + * swfdec_as_context_get_frame: + * @context: a #SwfdecAsContext + * + * This is a debugging function. It gets the topmost stack frame that is + * currently executing. If no function is executin...
2007 Dec 05
0
4 commits - libswfdec/swfdec_as_object.c libswfdec/swfdec_movie.c libswfdec/swfdec_policy_loader.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_format.c
...-git a/libswfdec/swfdec_policy_loader.c b/libswfdec/swfdec_policy_loader.c index 4158f27..983a034 100644 --- a/libswfdec/swfdec_policy_loader.c +++ b/libswfdec/swfdec_policy_loader.c @@ -61,7 +61,6 @@ swfdec_policy_loader_check (SwfdecAsContext *context, const char *text, g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), FALSE); g_return_val_if_fail (text != NULL, FALSE); - g_return_val_if_fail (host != NULL, FALSE); xml = swfdec_xml_new_no_properties (context, text, TRUE); @@ -75,7 +74,11 @@ swfdec_policy_loader_check (SwfdecAsContext *context, const char *text, return FALSE; } - h...
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
...t. This function must be called before any Actionscript + * is called on @context. The version is responsible for deciding which native + * functions and properties are available in the context. + **/ +void +swfdec_as_context_startup (SwfdecAsContext *context, guint version) +{ + g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context)); + g_return_if_fail (context->state == SWFDEC_AS_CONTEXT_NEW); + + context->version = version; + swfdec_as_function_init_context (context, version); + context->state = SWFDEC_AS_CONTEXT_RUNNING; +} + /*** EVAL ***/ char * diff --git a/libswfdec/swfdec_as_context.h b/libs...