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...