Displaying 20 results from an estimated 63 matches for "swfdecasfram".
Did you mean:
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 n...
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_...
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 %NU...
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 {
SWFD...
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..b7...
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 e...
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/libswf...
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)) {
+...
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)
+...
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
...47:23 2007 +0200
reorganize swfdec_as_frame_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;
SwfdecAsStack...
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->exceptio...
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/libswfde...
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/swf...
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/libswfd...
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 h...
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 execut...