[Swfdec] Branch 'as' - 4 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_object.c libswfdec/swfdec_player.c

Benjamin Otte company at kemper.freedesktop.org
Fri Jun 15 13:31:31 PDT 2007


 libswfdec/swfdec_as_frame.c  |    3 ++-
 libswfdec/swfdec_as_object.c |    3 ++-
 libswfdec/swfdec_player.c    |   16 ++++++++++------
 3 files changed, 14 insertions(+), 8 deletions(-)

New commits:
diff-tree 51bdd4e30a331ac9d4c21748097323187eed89f9 (from e415c0893f4316b99bbec0eb418b9664efee2b99)
Author: Benjamin Otte <otte at gnome.org>
Date:   Fri Jun 15 19:38:26 2007 +0200

    mark the roots

diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c
index 4087cd4..0b05320 100644
--- a/libswfdec/swfdec_player.c
+++ b/libswfdec/swfdec_player.c
@@ -777,11 +777,15 @@ static void
 swfdec_player_mark (SwfdecAsContext *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 ce031c6d521c4364da0b6a35cbd3397ceb8f3917)
Author: Benjamin Otte <otte at gnome.org>
Date:   Fri Jun 15 19:36:56 2007 +0200

    fix comments to be valid docbook

diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c
index 10712be..4087cd4 100644
--- a/libswfdec/swfdec_player.c
+++ b/libswfdec/swfdec_player.c
@@ -901,18 +901,18 @@ swfdec_player_class_init (SwfdecPlayerCl
    * call Javascript functions. Standalone Flash players understand a limited 
    * set of functions. They vary from player to player, but the most common are 
    * listed here: <itemizedlist>
-   * <listitem><para>"quit": quits the player.</para>
+   * <listitem><para>"quit": quits the player.</para></listitem>
    * <listitem><para>"fullscreen": A boolean setting (parameter is "true" or 
-   * "false") that sets the player into fullscreen mode.</para>
+   * "false") that sets the player into fullscreen mode.</para></listitem>
    * <listitem><para>"allowscale": A boolean setting that tells the player to
-   * not scale the Flash application.</para>
+   * not scale the Flash application.</para></listitem>
    * <listitem><para>"showmenu": A boolean setting that tells the Flash player
-   * to not show its own entries in the right-click menu.</para>
+   * to not show its own entries in the right-click menu.</para></listitem>
    * <listitem><para>"exec": Run an external executable. The parameter 
-   * specifies the path.</para>
+   * specifies the path.</para></listitem>
    * <listitem><para>"trapallkeys": A boolean setting that tells the Flash 
    * player to pass all key events to the Flash application instead of using it
-   * for keyboard shortcuts or similar.
+   * for keyboard shortcuts or similar.</para></listitem>
    * </itemizedlist>
    */
   signals[FSCOMMAND] = g_signal_new ("fscommand", G_TYPE_FROM_CLASS (klass),
diff-tree ce031c6d521c4364da0b6a35cbd3397ceb8f3917 (from 9bf0cec6e1dd2b1e9a3e6405029269cccd94c8aa)
Author: Benjamin Otte <otte at gnome.org>
Date:   Fri Jun 15 19:28:46 2007 +0200

    only mark the prototype if there is one

diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c
index 849c9d4..d2dabd1 100644
--- a/libswfdec/swfdec_as_object.c
+++ b/libswfdec/swfdec_as_object.c
@@ -60,7 +60,8 @@ swfdec_as_object_mark_property (gpointer
 static void
 swfdec_as_object_do_mark (SwfdecAsObject *object)
 {
-  swfdec_as_object_mark (object->prototype);
+  if (object->prototype)
+    swfdec_as_object_mark (object->prototype);
   g_hash_table_foreach (object->properties, swfdec_as_object_mark_property, NULL);
 }
 
diff-tree 9bf0cec6e1dd2b1e9a3e6405029269cccd94c8aa (from 9ff54695704fb4f628dcddd8ea5d834371cf89c7)
Author: Benjamin Otte <otte at gnome.org>
Date:   Fri Jun 15 19:28:19 2007 +0200

    only mark the next frame if there is one

diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c
index 0c312bf..1664161 100644
--- a/libswfdec/swfdec_as_frame.c
+++ b/libswfdec/swfdec_as_frame.c
@@ -62,7 +62,8 @@ swfdec_as_frame_mark (SwfdecAsObject *ob
   SwfdecAsFrame *frame = SWFDEC_AS_FRAME (object);
   guint i;
 
-  swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->next));
+  if (frame->next)
+    swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->next));
   if (frame->scope)
     swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->scope));
   if (frame->script) {


More information about the Swfdec mailing list