Displaying 8 results from an estimated 8 matches for "scope_chain".
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
..._flags (SwfdecAsFrame *frame, const char *variable,
+ SwfdecAsValue *value, guint *flags, SwfdecAsObject **pobject)
{
GSList *walk;
- SwfdecAsValue val;
g_return_val_if_fail (SWFDEC_IS_AS_FRAME (frame), NULL);
g_return_val_if_fail (variable != NULL, NULL);
for (walk = frame->scope_chain; walk; walk = walk->next) {
- if (swfdec_as_object_get_variable (walk->data, variable, &val))
- return SWFDEC_AS_OBJECT (walk->data);
+ if (swfdec_as_object_get_variable_and_flags (walk->data, variable, value,
+ flags, pobject))
+ return walk->data;
}
/*...
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
...else {
SWFDEC_ERROR ("Try without neither catch or finally block");
- swfdec_action_try_data_unref (try_data);
+ swfdec_action_try_data_free (try_data);
}
}
@@ -2762,7 +2742,6 @@ swfdec_action_pop_with (SwfdecAsFrame *frame, gpointer with_object)
{
g_assert (frame->scope_chain->data == with_object);
frame->scope_chain = g_slist_delete_link (frame->scope_chain, frame->scope_chain);
- swfdec_as_frame_pop_block (frame);
}
static void
@@ -2784,7 +2763,7 @@ swfdec_action_with (SwfdecAsContext *cx, guint action, const guint8 *data, guint
} else {
cx...
2007 Oct 10
0
2 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_script_function.h
...ion.h
index c82aa62..1972e15 100644
--- a/libswfdec/swfdec_as_script_function.h
+++ b/libswfdec/swfdec_as_script_function.h
@@ -43,7 +43,7 @@ struct _SwfdecAsScriptFunction {
/* for script script_functions */
SwfdecScript * script; /* script being executed or NULL when native */
GSList * scope_chain; /* scope this script_function was defined in */
- SwfdecAsObject * target; /* target this object was defined in */
+ SwfdecAsObject * target; /* target this object was defined in or NULL if in init script */
};
struct _SwfdecAsScriptFunctionClass {
diff-tree 3d089e6c7d75cdf5584e2123ad514...
2007 Sep 13
0
2 commits - libswfdec/swfdec_as_function.c test/trace
...513 insertions(+), 5 deletions(-)
New commits:
diff-tree 9c4a5df4d39d861247676283426891e29bfe9fe2 (from 87e4fa70d0d8cb93ec124fe97e5781794a8a2d7e)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Sep 13 20:45:51 2007 +0200
add tests from http://www.timotheegroleau.com/Flash/articles/scope_chain.htm
diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index fb81cde..eb8a89a 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -1145,6 +1145,123 @@ EXTRA_DIST = \
scope.swf.trace \
scope2.swf \
scope2.swf.trace \
+ scope-chain-did-you-understand.as \
+ scope-chai...
2007 Oct 23
0
6 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c libswfdec/swfdec_flash_security.c
...c
index dc10056..c696305 100644
--- a/libswfdec/swfdec_as_script_function.c
+++ b/libswfdec/swfdec_as_script_function.c
@@ -56,6 +56,8 @@ swfdec_as_script_function_dispose (GObject *object)
swfdec_script_unref (script->script);
script->script = NULL;
}
+ g_slist_free (script->scope_chain);
+ script->scope_chain = NULL;
G_OBJECT_CLASS (swfdec_as_script_function_parent_class)->dispose (object);
}
2007 Oct 26
0
3 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_interpret.c
...t;version);
+ }
+
+ if (swfdec_bits_left (&bits)) {
+ SWFDEC_WARNING ("leftover bytes in Try action");
+ }
+
+ SWFDEC_FIXME ("Try action not implemented");
+}
+
+static void
swfdec_action_pop_with (SwfdecAsFrame *frame, gpointer with_object)
{
g_assert (frame->scope_chain->data == with_object);
@@ -2959,7 +3014,7 @@ const SwfdecActionSpec swfdec_as_actions[256] = {
[SWFDEC_AS_ACTION_END_DRAG] = { "EndDrag", NULL, 0, 0, { NULL, swfdec_action_end_drag, swfdec_action_end_drag, swfdec_action_end_drag, swfdec_action_end_drag } },
[SWFDEC_AS_ACTION_STRI...
2007 Oct 11
0
12 commits - configure.ac doc/Makefile.am libswfdec/swfdec_as_frame.c libswfdec/swfdec_audio.c libswfdec/swfdec_audio_event.c libswfdec/swfdec_audio_event.h libswfdec/swfdec_shape_parser.c libswfdec/swfdec_sound.c test/sound
...if (frame->constant_pool) {
swfdec_constant_pool_free (frame->constant_pool);
frame->constant_pool = NULL;
@@ -285,6 +281,10 @@ swfdec_as_frame_dispose (GObject *object
swfdec_as_frame_pop_block (frame);
g_array_free (frame->blocks, TRUE);
g_slist_free (frame->scope_chain);
+ if (frame->script) {
+ swfdec_script_unref (frame->script);
+ frame->script = NULL;
+ }
G_OBJECT_CLASS (swfdec_as_frame_parent_class)->dispose (object);
}
diff-tree 8166f67d4082877a4115c1e099e94b36b1d3a258 (from b1771f28adb77864e0072748ee08c462e4abe29d)
Author: Benjami...
2007 Oct 12
0
Changes to 'refs/tags/0.5.3'
...of ssh://company at git.freedesktop.org/git/swfdec/swfdec
properly exit when pc == endpc
replace swfdec_as_frame_find_variable with _get/set_variable
it's better to initialize correctly than to delete later ;)
add tests from http://www.timotheegroleau.com/Flash/articles/scope_chain.htm
scale by a double, not an int
use g_ascii_strcasecmp here
fix Function.apply
document that the args need to stay available.
add test for last commit
allow empty blocks
add a test that just calls an empty function
Merge branch 'master' of s...