Displaying 6 results from an estimated 6 matches for "original_target".
2007 Oct 10
0
2 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_script_function.h
...decAsC
}
if (fun == NULL)
return;
+ /* This is a hack that should only trigger for functions defined in the init scripts.
+ * It is supposed to ensure that those functions inherit their target when being
+ * called instead of when being defined */
+ if (!SWFDEC_IS_MOVIE (frame->original_target))
+ SWFDEC_AS_SCRIPT_FUNCTION (fun)->target = NULL;
/* attach the function */
if (*function_name == '\0') {
swfdec_as_stack_ensure_free (cx, 1);
diff --git a/libswfdec/swfdec_as_script_function.h b/libswfdec/swfdec_as_script_function.h
index c82aa62..1972e15 100644
--- a/li...
2007 Jun 27
0
Branch 'as' - 16 commits - configure.ac libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_script_function.c
...)
Author: Benjamin Otte <otte at gnome.org>
Date: Tue Jun 26 15:08:49 2007 +0200
fix setting undefined variables
This includes a rework of the target management. Every frame now contains
a ->target member that is always set to the current target. It also has an
->original_target member that remembers the original target, so a SetTarget
call can correctly reset it.
The previous notion of ->var_object has been removed.
An ->is_local property has been added. This porperty is used during
DefineLocal actions to decide wether to set proeprties on the c...
2007 Jun 23
1
Patches to make blocky.swf playable
So here is the patch series to make blocky.swf work with branch 'as'. Summary:
Nguy?n Th?i Ng?c Duy (7):
Add a missing else statement
Create swfdec_movie_duplicate
Implement action CloneSprite with swfdec_movie_duplicate
Add action RemoveSprite
Add new variables to the target
Remove movies with the same name when adding new movie
We don't
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
...*/
- /* script execution */
- SwfdecScript * script; /* script being executed */
- SwfdecAsScope * scope; /* first object in scope chain (either this frame or a with object) */
- SwfdecAsObject * target; /* target to use as last object in scope chain or for SetVariable */
- SwfdecAsObject * original_target;/* original target (used when resetting target) */
- gboolean is_local; /* TRUE if this frame takes local variables */
- SwfdecAsValue * registers; /* the registers */
- guint n_registers; /* number of allocated registers */
- SwfdecConstantPool * constant_pool; /* constant pool currently in...
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
...guint8 * block_start; /* start of current block */
+ const guint8 * block_end; /* end of current block */
+ GArray * blocks; /* blocks we have entered (like With) */
SwfdecAsObject * target; /* target to use as last object in scope chain or for SetVariable */
SwfdecAsObject * original_target;/* original target (used when resetting target) */
gboolean is_local; /* TRUE if this frame takes local variables */
@@ -55,7 +59,7 @@ struct _SwfdecAsFrame {
};
struct _SwfdecAsFrameClass {
- SwfdecAsScopeClass scope_class;
+ SwfdecAsObjectClass object_class;
};
SwfdecAsFrame * 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
...cAsObject *ob
swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->scope));
if (frame->thisp)
swfdec_as_object_mark (frame->thisp);
+ if (frame->super)
+ swfdec_as_object_mark (frame->super);
swfdec_as_object_mark (frame->target);
swfdec_as_object_mark (frame->original_target);
if (frame->function)
@@ -356,12 +358,12 @@ swfdec_as_frame_preload (SwfdecAsFrame *
}
}
if (!(script->flags & SWFDEC_SCRIPT_SUPPRESS_SUPER)) {
- SwfdecAsObject *super = swfdec_as_super_new (frame);
- if (super) {
+ frame->super = swfdec_as_super_new (frame);
+...