search for: swfdecasframe

Displaying 20 results from an estimated 63 matches for "swfdecasframe".

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
...h> - #endif diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 109b4ab..ede2858 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -30,8 +30,38 @@ #include "swfdec_as_super.h" #include "swfdec_debug.h" +/** + * SECTION:SwfdecAsFrame + * @title: SwfdecAsFrame + * @short_description: information about currently executing frames + * + * This section is only interesting for people that want to look into debugging. + * A SwfdecAsFrame describes a currently executing function while it is + * running. On every new function call, a ne...
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
...ct *ob for (i = 0; i < frame->n_registers; i++) { swfdec_as_value_mark (&frame->registers[i]); } - /* FIXME: do we want this? */ for (i = 0; i < frame->argc; i++) { swfdec_as_value_mark (&frame->argv[i]); } @@ -102,18 +102,15 @@ swfdec_as_frame_init (SwfdecAsFrame *fra } SwfdecAsFrame * -swfdec_as_frame_new (SwfdecAsObject *thisp, SwfdecScript *script) +swfdec_as_frame_new (SwfdecAsContext *context, SwfdecScript *script) { - SwfdecAsContext *context; SwfdecAsFrame *frame; SwfdecAsStack *stack; gsize size; - g_return_val_if_fail (SWFDEC_IS_A...
2007 Sep 13
0
5 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_scope.c libswfdec/swfdec_as_scope.h libswfdec/swfdec_as_script_function.c
...e, ret); } - swfdec_as_object_set_variable (obj, name, ret); } static void diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 5620ac7..c11c03a 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -535,45 +535,72 @@ swfdec_as_frame_set_this (SwfdecAsFrame } /** - * swfdec_as_frame_find_variable: + * swfdec_as_frame_get_variable_and_flags: * @frame: a #SwfdecAsFrame - * @variable: name of the variable to find + * @variable: name of the variable + * @value: pointer to take value of the variable or %NULL + * @flags: pointer to take flags or %NUL...
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
...frame); } diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c index c911276..cb44953 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -876,6 +876,7 @@ swfdec_action_call_method (SwfdecAsContext *cx, guint action, const guint8 *data SwfdecAsFrame *frame = cx->frame; SwfdecAsValue *val; SwfdecAsObject *obj; + SwfdecAsObject *pobj = NULL; guint n_args; const char *name; @@ -892,7 +893,7 @@ swfdec_action_call_method (SwfdecAsContext *cx, guint action, const guint8 *data name = ""; } else { SWFDE...
2007 Oct 28
0
4 commits - libswfdec-gtk/swfdec_gtk_loader.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader.h libswfdec/swfdec_load_object.c
...(gpointer data) -{ - TryData *try_data = data; - - g_return_if_fail (try_data != NULL); - - if (--try_data->ref_count > 0) - return; - if (!try_data->use_register) g_free (try_data->variable_name); g_free (try_data); @@ -2595,7 +2581,7 @@ swfdec_action_try_end_finally (SwfdecAsFrame *frame, gpointer data) if (!cx->exception) swfdec_as_context_throw (cx, exception_value); - swfdec_as_frame_pop_block (frame); + g_free (data); } static void @@ -2610,9 +2596,6 @@ swfdec_action_try_end_catch (SwfdecAsFrame *frame, gpointer data) cx = SWFDEC_AS_OBJECT (frame)...
2007 Aug 21
0
Branch 'vivi' - 4 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_string.c vivified/core
...or: Benjamin Otte <otte at gnome.org> Date: Tue Aug 21 13:28:10 2007 +0200 implement swfdec_as_frame_get_this () diff --git a/doc/swfdec-sections.txt b/doc/swfdec-sections.txt index c5f9076..019380c 100644 --- a/doc/swfdec-sections.txt +++ b/doc/swfdec-sections.txt @@ -375,6 +375,7 @@ SwfdecAsFrame swfdec_as_frame_get_next swfdec_as_frame_get_function_name swfdec_as_frame_get_script +swfdec_as_frame_get_this SwfdecAsStackIterator swfdec_as_stack_iterator_init swfdec_as_stack_iterator_init_arguments diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index a9fe372..b7c...
2007 Oct 26
0
3 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_interpret.c
...gpointer data) +{ + TryData *try_data = data; + g_return_if_fail (try_data != NULL); + if (--try_data->ref_count > 0) + return; + if (!try_data->use_register) g_free (try_data->variable_name); g_free (try_data); @@ -2575,14 +2591,15 @@ swfdec_action_try_end_finally (SwfdecAsFrame *frame, gpointer data) g_return_if_fail (SWFDEC_IS_AS_FRAME (frame)); g_return_if_fail (SWFDEC_IS_AS_VALUE (error)); - swfdec_as_frame_pop_block (frame); - cx = SWFDEC_AS_OBJECT (frame)->context; + // finally has ended and we had exception stored, throw it if (!cx->throwing)...
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
...ec/swfdec_as_context.h b/libswfdec/swfdec_as_context.h index 145f647..df09fa2 100644 --- a/libswfdec/swfdec_as_context.h +++ b/libswfdec/swfdec_as_context.h @@ -63,8 +63,8 @@ struct _SwfdecAsContext { unsigned int call_depth; /* current depth of call stack (equals length of frame list) */ SwfdecAsFrame * frame; /* topmost stack frame */ SwfdecAsFrame * last_frame; /* last frame before calling context_run */ - gboolean throwing; /* whether we are throwing an error */ - SwfdecAsValue throw_value; /* the error object being thrown */ + gboolean exception; /* whether we are throwing an ex...
2007 Aug 15
0
Branch 'vivi' - 13 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_debugger.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_types.h vivified/core vivified/ui
...Aug 15 10:57:21 2007 +0200 add swfdec_as_frame_get_function_name() function diff --git a/doc/swfdec-sections.txt b/doc/swfdec-sections.txt index 69d7785..cf0e5b1 100644 --- a/doc/swfdec-sections.txt +++ b/doc/swfdec-sections.txt @@ -373,6 +373,7 @@ SWFDEC_TYPE_AS_NATIVE_FUNCTION <TITLE>SwfdecAsFrame</TITLE> SwfdecAsFrame swfdec_as_frame_get_next +swfdec_as_frame_get_function_name SwfdecAsStackIterator swfdec_as_stack_iterator_init swfdec_as_stack_iterator_init_arguments diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 3a08819..0721022 100644 --- a/libswfd...
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
....org> Date: Tue May 22 14:01:12 2007 +0200 fix up super object some more diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 9f99031..3c5fe2c 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -297,16 +297,14 @@ swfdec_as_frame_preload (SwfdecAsFrame * swfdec_as_object_set_variable (object, SWFDEC_AS_STR_arguments, &val); } } - if (script->flags & SWFDEC_SCRIPT_PRELOAD_SUPER) { - SwfdecAsObject *super = swfdec_as_super_new (object->context); + if (!(script->flags & SWFDEC_SCRIPT_SUPPRESS_SUPER)) { + S...
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
...dd; /* values added to the stack or -1 for dynamic */ + SwfdecActionExec exec[MAXSCRIPTVERSION - MINSCRIPTVERSION + 1]; + /* array is for version 3, 4, 5, 6, 7+ */ +} SwfdecActionSpec; + +extern const SwfdecActionSpec actions[256]; +void +swfdec_as_context_run (SwfdecAsContext *context) +{ + SwfdecAsFrame *frame; + SwfdecScript *script; + const SwfdecActionSpec *spec; + guint8 *startpc, *pc, *endpc, *nextpc; + guint action, len; + guint8 *data; + int version; + + g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context)); + + /* setup data */ + frame = context->frame; + if (frame == NULL) + r...
2007 Jul 30
0
10 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_super.c libswfdec/swfdec_video_movie_as.c test/trace
...ame_preload() order to match tests diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 87ff71a..fec2389 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -549,10 +549,10 @@ swfdec_as_frame_set_target (SwfdecAsFram void swfdec_as_frame_preload (SwfdecAsFrame *frame) { - SwfdecAsObject *object; + SwfdecAsObject *object, *args; guint i, current_reg = 1; SwfdecScript *script; - SwfdecAsValue val; + SwfdecAsValue val = { 0, }; const SwfdecAsValue *cur; SwfdecAsContext *context; SwfdecAsStackIterator iter; @@ -561,17 +561,30 @@ swfdec_as...
2008 Jun 02
4
[Bug 16206] New: Charts in Yahoo Finance crash swfdec
http://bugs.freedesktop.org/show_bug.cgi?id=16206 Summary: Charts in Yahoo Finance crash swfdec Product: swfdec Version: git Platform: Other URL: http://finance.yahoo.com/echarts?s=%5EDJI#symbol=%5EDJI; range=1d OS/Version: All Status: NEW Severity: critical Priority: medium
2007 Oct 28
1
9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_object.c libswfdec/swfdec_codec_gst.c test/trace
...n Oct 28 15:46:55 2007 +0100 we need to check_block(), not pop_block() diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 2c3fdbd..c902406 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -799,7 +799,7 @@ swfdec_as_frame_handle_exception (SwfdecAsFrame *frame) /* pop blocks in the hope that we are inside a Try block */ while (cx->exception && frame->blocks->len) { - swfdec_as_frame_pop_block (frame); + swfdec_as_frame_check_block (frame); } /* exit frame, nothing caught the exception */ if (cx->exception...
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
...to add native functions. + rename SwfdecAsNativeCall to SwfdecAsNative diff --git a/libswfdec/swfdec_as_function.c b/libswfdec/swfdec_as_function.c index 0e52e7c..643fed5 100644 --- a/libswfdec/swfdec_as_function.c +++ b/libswfdec/swfdec_as_function.c @@ -90,7 +90,7 @@ swfdec_as_function_new (SwfdecAsFrame *s } SwfdecAsFunction * -swfdec_as_function_new_native (SwfdecAsContext *context, SwfdecAsNativeCall native, +swfdec_as_function_new_native (SwfdecAsContext *context, SwfdecAsNative native, guint min_args) { SwfdecAsFunction *fun; diff --git a/libswfdec/swfdec_as_function.h b/libswfdec...
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
...new frames can be NULL diff --git a/libswfdec/swfdec_as_native_function.c b/libswfdec/swfdec_as_native_function.c index 0905178..87f937d 100644 --- a/libswfdec/swfdec_as_native_function.c +++ b/libswfdec/swfdec_as_native_function.c @@ -51,6 +51,8 @@ swfdec_as_native_function_call (SwfdecAs SwfdecAsFrame *frame; frame = swfdec_as_frame_new_native (SWFDEC_AS_OBJECT (function)->context); + if (frame == NULL) + return NULL; g_assert (native->name); frame->function_name = native->name; frame->function = function; diff --git a/libswfdec/swfdec_as_super.c b/libswfdec/swfd...
2007 Aug 16
0
Branch 'vivi' - 18 commits - configure.ac doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_types.h libswfdec/swfdec_player.c vivified/core vivified/ui
...t gnome.org> Date: Thu Aug 16 14:00:15 2007 +0200 add swfdec_as_frame_get_script () diff --git a/doc/swfdec-sections.txt b/doc/swfdec-sections.txt index cf0e5b1..c5f9076 100644 --- a/doc/swfdec-sections.txt +++ b/doc/swfdec-sections.txt @@ -374,6 +374,7 @@ SWFDEC_TYPE_AS_NATIVE_FUNCTION SwfdecAsFrame swfdec_as_frame_get_next swfdec_as_frame_get_function_name +swfdec_as_frame_get_script SwfdecAsStackIterator swfdec_as_stack_iterator_init swfdec_as_stack_iterator_init_arguments diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 0721022..17f88cb 100644 --- a/libswfde...
2007 Aug 23
0
23 commits - doc/.gitignore doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec-gtk/swfdec-gtk.h libswfdec-gtk/swfdec_gtk_keys.c libswfdec-gtk/swfdec_gtk_keys.h libswfdec-gtk/swfdec_gtk_widget.c libswfdec/Makefile.am
...@@ -55,9 +55,9 @@ G_DEFINE_TYPE (SwfdecAsDebugger, swfdec_ * @step: This function is called everytime just before a bytecode is executed * by the script engine. So it's very powerful, but can also slow down * the script engine a lot. - * @start_frame: Called after a new #SwfdecAsFrame has been initialized and + * @enter_frame: Called after a new #SwfdecAsFrame has been initialized and * pushed to the top of the execution stack. - * @finish_frame: Called just after a #SwfdecAsFrame has been removed from the + * @leave_frame: Called just after a #SwfdecAsFrame ha...
2007 Nov 15
0
4 commits - libswfdec/swfdec_asbroadcaster.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c test/trace
...!swfdec_as_object_foreach (object, swfdec_as_array_foreach_sort_populate, &fdata)) diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 5f0a40d..16546a5 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -378,7 +378,6 @@ swfdec_as_frame_init (SwfdecAsFrame *frame) frame->function_name = "unnamed"; frame->blocks = g_array_new (FALSE, FALSE, sizeof (SwfdecAsFrameBlock)); frame->block_end = (gpointer) -1; - frame->caller = TRUE; } static void @@ -699,10 +698,11 @@ swfdec_as_frame_preload (SwfdecAsFrame *frame) }...
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
...* context); void swfdec_as_context_trace (SwfdecAsContext * context, const char * string); diff --git a/libswfdec/swfdec_as_frame.h b/libswfdec/swfdec_as_frame.h index 8d806bf..a89c7ee 100644 --- a/libswfdec/swfdec_as_frame.h +++ b/libswfdec/swfdec_as_frame.h @@ -40,6 +40,7 @@ struct _SwfdecAsFrame { SwfdecAsFrame * next; /* next frame (FIXME: keep a list in the context instead?) */ char * function_name; /* name of function */ + SwfdecAsValue * return_value; /* pointer to where to store the return value */ /* normal execution */ SwfdecScript * script; /* script being execute...