Displaying 20 results from an estimated 44 matches for "swfdec_as_object_mark".
2007 Jun 15
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_object.c libswfdec/swfdec_player.c
...fdecAsContext *context)
{
SwfdecPlayer *player = SWFDEC_PLAYER (context);
+ GList *walk;
g_hash_table_foreach (player->registered_classes, swfdec_player_mark_string_object, NULL);
swfdec_listener_mark (player->mouse_listener);
swfdec_listener_mark (player->key_listener);
swfdec_as_object_mark (player->MovieClip);
+ for (walk = player->roots; walk; walk = walk->next) {
+ swfdec_as_object_mark (walk->data);
+ }
SWFDEC_AS_CONTEXT_CLASS (swfdec_player_parent_class)->mark (context);
}
diff-tree e415c0893f4316b99bbec0eb418b9664efee2b99 (from ce031c6d521c4364da0b6a35c...
2007 Aug 20
0
15 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_super.c libswfdec/swfdec_as_with.c
...e.org>
Date: Mon Aug 20 15:45:07 2007 +0200
GC intervals, too
diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c
index b1ad1c7..b303408 100644
--- a/libswfdec/swfdec_player.c
+++ b/libswfdec/swfdec_player.c
@@ -1094,6 +1094,7 @@ swfdec_player_mark (SwfdecAsContext *con
swfdec_as_object_mark (player->MovieClip);
swfdec_as_object_mark (player->Video);
g_list_foreach (player->roots, (GFunc) swfdec_as_object_mark, NULL);
+ g_list_foreach (player->intervals, (GFunc) swfdec_as_object_mark, NULL);
g_list_foreach (player->load_objects, (GFunc) swfdec_as_object_mark, N...
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
...hrow_value to exception_value
diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c
index 403e03d..663a15c 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -361,7 +361,7 @@ static void
swfdec_as_context_do_mark (SwfdecAsContext *context)
{
swfdec_as_object_mark (context->global);
- swfdec_as_value_mark (&context->throw_value);
+ swfdec_as_value_mark (&context->exception_value);
swfdec_as_object_mark (context->Function);
swfdec_as_object_mark (context->Function_prototype);
swfdec_as_object_mark (context->Object);
@@ -68...
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
...alling functions without a this object
diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c
index 23b3c41..75e0534 100644
--- a/libswfdec/swfdec_as_frame.c
+++ b/libswfdec/swfdec_as_frame.c
@@ -68,7 +68,8 @@ swfdec_as_frame_mark (SwfdecAsObject *ob
if (frame->script) {
swfdec_as_object_mark (frame->var_object);
}
- swfdec_as_object_mark (frame->thisp);
+ if (frame->thisp)
+ swfdec_as_object_mark (frame->thisp);
if (frame->target)
swfdec_as_object_mark (frame->target);
if (frame->function)
@@ -76,7 +77,6 @@ swfdec_as_frame_mark (SwfdecAsObject *o...
2007 Sep 10
0
3 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...SwfdecAsFunction * watch; /* watcher or %NULL */
+ SwfdecAsValue watch_data; /* user data to watcher */
+ guint refcount; /* refcount - misused for recursion detection */
+} SwfdecAsWatch;
+
G_DEFINE_TYPE (SwfdecAsObject, swfdec_as_object, G_TYPE_OBJECT)
static void
@@ -141,22 +144,28 @@ swfdec_as_object_mark_property (gpointer
if (var->set)
swfdec_as_object_mark (SWFDEC_AS_OBJECT (var->set));
} else {
- if (var->watch) {
- swfdec_as_object_mark (SWFDEC_AS_OBJECT (var->watch));
- if (var->watch_data) {
- swfdec_as_value_mark (var->watch_data);
- }
-...
2007 Nov 08
0
libswfdec/swfdec_load_object.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_resource.c libswfdec/swfdec_resource.h
...16 @@ swfdec_player_mark_string_object (gpointer key, gpointer value, gpointer data)
}
static void
+swfdec_player_mark_rooted_object (gpointer object, gpointer unused)
+{
+ if (SWFDEC_IS_RESOURCE (object)) {
+ swfdec_resource_mark (object);
+ } else if (SWFDEC_IS_AS_OBJECT (object)) {
+ swfdec_as_object_mark (object);
+ }
+}
+
+static void
swfdec_player_mark (SwfdecAsContext *context)
{
SwfdecPlayer *player = SWFDEC_PLAYER (context);
@@ -1383,7 +1394,7 @@ swfdec_player_mark (SwfdecAsContext *context)
swfdec_as_object_mark (player->Video);
g_list_foreach (player->roots, (GFunc) swfdec_...
2007 Jun 29
0
Branch 'as' - 3 commits - doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h
...t a/doc/swfdec-sections.txt b/doc/swfdec-sections.txt
index 4d93f11..d147bdd 100644
--- a/doc/swfdec-sections.txt
+++ b/doc/swfdec-sections.txt
@@ -180,6 +180,14 @@ SWFDEC_TYPE_GTK_LOADER
</SECTION>
<SECTION>
+<FILE>Internals</FILE>
+<TITLE>Internals</TITLE>
+swfdec_as_object_mark
+swfdec_as_string_mark
+swfdec_as_value_mark
+</SECTION>
+
+<SECTION>
<FILE>SwfdecAsValue</FILE>
<TITLE>SwfdecAsValue</TITLE>
SwfdecAsValueType
@@ -212,3 +220,34 @@ SWFDEC_AS_VALUE_IS_STRING
SWFDEC_AS_VALUE_IS_NULL
SWFDEC_AS_VALUE_IS_OBJECT
</SECTION>...
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
...(context->memory >= len);
@@ -166,7 +168,7 @@ swfdec_as_string_mark (const char *strin
void
swfdec_as_value_mark (SwfdecAsValue *value)
{
- g_return_if_fail (SWFDEC_AS_IS_VALUE (value));
+ g_return_if_fail (SWFDEC_IS_AS_VALUE (value));
if (SWFDEC_AS_VALUE_IS_OBJECT (value)) {
swfdec_as_object_mark (SWFDEC_AS_VALUE_GET_OBJECT (value));
@@ -187,7 +189,7 @@ swfdec_as_context_mark_roots (gpointer k
void
swfdec_as_context_gc (SwfdecAsContext *context)
{
- g_return_if_fail (SWFDEC_AS_IS_CONTEXT (context));
+ g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context));
SWFDEC_INFO ("invoking t...
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
...L;
}
+ while (frame->blocks->len > 0)
+ swfdec_as_frame_pop_block (frame);
+ g_array_free (frame->blocks, TRUE);
G_OBJECT_CLASS (swfdec_as_frame_parent_class)->dispose (object);
}
@@ -228,8 +294,7 @@ swfdec_as_frame_mark (SwfdecAsObject *ob
if (frame->next)
swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->next));
- if (frame->scope)
- swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->scope));
+ g_slist_foreach (frame->scope_chain, (GFunc) swfdec_as_object_mark, NULL);
if (frame->thisp)
swfdec_as_object_mark (frame->thisp);
if (frame->super...
2007 Jun 27
0
Branch 'as' - 3 commits - libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_js_video.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_video_movie_as.c libswfdec/swfdec_video_movie.c
..._player.c b/libswfdec/swfdec_player.c
index aa7de2f..554d22b 100644
--- a/libswfdec/swfdec_player.c
+++ b/libswfdec/swfdec_player.c
@@ -791,6 +791,7 @@ swfdec_player_mark (SwfdecAsContext *con
swfdec_listener_mark (player->mouse_listener);
swfdec_listener_mark (player->key_listener);
swfdec_as_object_mark (player->MovieClip);
+ swfdec_as_object_mark (player->Video);
for (walk = player->roots; walk; walk = walk->next) {
swfdec_as_object_mark (walk->data);
}
@@ -1070,6 +1071,7 @@ extern void swfdec_movie_color_init_cont
extern void swfdec_net_connection_init_context (Swfdec...
2007 Nov 01
0
4 commits - libswfdec/swfdec_sound_object.c libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c test/crashfinder.c test/Makefile.am
...c/swfdec_sound_object.c b/libswfdec/swfdec_sound_object.c
index 85e870e..98d00a0 100644
--- a/libswfdec/swfdec_sound_object.c
+++ b/libswfdec/swfdec_sound_object.c
@@ -43,7 +43,8 @@ swfdec_sound_object_mark (SwfdecAsObject *object)
{
SwfdecSoundObject *sound = SWFDEC_SOUND_OBJECT (object);
- swfdec_as_object_mark (SWFDEC_AS_OBJECT (sound->target));
+ if (sound->target != NULL)
+ swfdec_as_object_mark (SWFDEC_AS_OBJECT (sound->target));
SWFDEC_AS_OBJECT_CLASS (swfdec_sound_object_parent_class)->mark (object);
}
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
...rget;
}
swfdec_as_object_set_variable (obj, name, ret);
}
diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c
index 1664161..e503c7c 100644
--- a/libswfdec/swfdec_as_frame.c
+++ b/libswfdec/swfdec_as_frame.c
@@ -66,13 +66,10 @@ swfdec_as_frame_mark (SwfdecAsObject *ob
swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->next));
if (frame->scope)
swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->scope));
- if (frame->script) {
- swfdec_as_object_mark (frame->var_object);
- }
if (frame->thisp)
swfdec_as_object_mark (frame->thisp);
- if (frame->tar...
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
...Apr 12 10:51:22 2007 +0200
implement SetTarget and SetTarget2
diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c
index da19217..36db616 100644
--- a/libswfdec/swfdec_as_frame.c
+++ b/libswfdec/swfdec_as_frame.c
@@ -57,6 +57,8 @@ swfdec_as_frame_mark (SwfdecAsObject *ob
swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->next));
swfdec_as_object_mark (frame->scope);
swfdec_as_object_mark (frame->var_object);
+ if (frame->target)
+ swfdec_as_object_mark (frame->target);
for (i = 0; i < frame->n_registers; i++) {
swfdec_as_value_mark (&frame->reg...
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
...before calling context_run */
};
struct _SwfdecAsContextClass {
diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c
index ee6c8ca..9f9381f 100644
--- a/libswfdec/swfdec_as_frame.c
+++ b/libswfdec/swfdec_as_frame.c
@@ -59,9 +59,15 @@ swfdec_as_frame_mark (SwfdecAsObject *ob
swfdec_as_object_mark (frame->var_object);
if (frame->target)
swfdec_as_object_mark (frame->target);
+ if (frame->function)
+ swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->function));
for (i = 0; i < frame->n_registers; i++) {
swfdec_as_value_mark (&frame->registers[i]);...
2008 Jan 21
0
70 commits - configure.ac libswfdec-gtk/Makefile.am libswfdec-gtk/swfdec-gtk.h libswfdec-gtk/swfdec_gtk_loader.c libswfdec-gtk/swfdec_gtk_player.c libswfdec-gtk/swfdec_gtk_socket.c libswfdec-gtk/swfdec_gtk_socket.h libswfdec-gtk/swfdec_playback_alsa.c
...AsObject *target, const char *url,
if (!swfdec_load_object_load (load_object, url, request, data))
return NULL;
- swfdec_player_root_object (SWFDEC_PLAYER (target->context),
- G_OBJECT (load_object));
+ swfdec_player_root (SWFDEC_PLAYER (target->context), load_object, (GFunc) swfdec_as_object_mark);
return SWFDEC_AS_OBJECT (load_object);
}
diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c
index 215d604..f60b7e8 100644
--- a/libswfdec/swfdec_player.c
+++ b/libswfdec/swfdec_player.c
@@ -878,9 +878,8 @@ swfdec_player_dispose (GObject *object)
g_object_unref (priv->...
2007 Oct 23
0
9 commits - libswfdec/swfdec_as_strings.c libswfdec/swfdec_html_parser.c libswfdec/swfdec_style_sheet.c libswfdec/swfdec_style_sheet.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_field_movie.h
...sed to set the text)
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index b56466d..15b945f 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -893,6 +893,8 @@ swfdec_text_field_movie_mark (SwfdecAsObject *object)
swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
if (text->style_sheet != NULL)
swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->style_sheet));
+ if (text->style_sheet_input != NULL)
+ swfdec_as_string_mark (text->style_sheet_input);
if (text->restrict_ != NULL)
swfdec_as_...
2007 Jun 17
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_player.c
...se */
+ gsize memory; /* total memory currently in use */
+ gsize memory_since_gc;/* memory allocated since last GC run */
GHashTable * strings; /* string=>memory mapping the context manages */
GHashTable * objects; /* all objects the context manages */
@@ -108,6 +112,7 @@ void swfdec_as_object_mark (SwfdecAsOb
void swfdec_as_value_mark (SwfdecAsValue * value);
void swfdec_as_string_mark (const char * string);
void swfdec_as_context_gc (SwfdecAsContext * context);
+void swfdec_as_context_maybe_gc (SwfdecAsContext * context);
void swfdec_as_context_run (SwfdecAsContext * contex...
2007 Dec 13
0
libswfdec-gtk/swfdec_gtk_player.c libswfdec/swfdec_as_date.c libswfdec/swfdec_audio.c libswfdec/swfdec_audio_event.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_interval.c libswfdec/swfdec_key_as.c libswfdec/swfdec_mouse_as.c libswfdec/swfdec_movie.c
...ERRUPTED);
@@ -1472,13 +1511,14 @@ static void
swfdec_player_mark (SwfdecAsContext *context)
{
SwfdecPlayer *player = SWFDEC_PLAYER (context);
+ SwfdecPlayerPrivate *priv = player->priv;
- g_hash_table_foreach (player->registered_classes, swfdec_player_mark_string_object, NULL);
- swfdec_as_object_mark (player->MovieClip);
- swfdec_as_object_mark (player->Video);
- g_list_foreach (player->roots, (GFunc) swfdec_as_object_mark, NULL);
- g_list_foreach (player->intervals, (GFunc) swfdec_as_object_mark, NULL);
- g_list_foreach (player->rooted_objects, swfdec_player_mark_rooted_obje...
2008 Jan 19
0
11 commits - libswfdec/swfdec_as_strings.c libswfdec/swfdec_sprite_movie_as.c libswfdec/swfdec_xml.c libswfdec/swfdec_xml.h libswfdec/swfdec_xml_node.c libswfdec/swfdec_xml_node.h test/image test/swfdec_test.c test/swfdec_test_image.c test/trace
...fdecAsValue content_type;
SwfdecAsValue loaded;
};
diff --git a/libswfdec/swfdec_xml_node.c b/libswfdec/swfdec_xml_node.c
index 5c74870..b0d35aa 100644
--- a/libswfdec/swfdec_xml_node.c
+++ b/libswfdec/swfdec_xml_node.c
@@ -53,8 +53,8 @@ swfdec_xml_node_do_mark (SwfdecAsObject *object)
swfdec_as_object_mark (SWFDEC_AS_OBJECT (node->children));
if (node->attributes != NULL)
swfdec_as_object_mark (SWFDEC_AS_OBJECT (node->attributes));
- if (node->childNodes != NULL)
- swfdec_as_object_mark (SWFDEC_AS_OBJECT (node->childNodes));
+ if (node->child_nodes != NULL)
+ swfdec_...
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
...00
keep a reference to the super object in the SwfdecAsFrame
diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c
index 4dc861c..1caf849 100644
--- a/libswfdec/swfdec_as_frame.c
+++ b/libswfdec/swfdec_as_frame.c
@@ -69,6 +69,8 @@ swfdec_as_frame_mark (SwfdecAsObject *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->funct...