Benjamin Otte
2007-Nov-13 12:01 UTC
[Swfdec] 3 commits - configure.ac libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite_movie_as.c README
README | 2 +- configure.ac | 4 ++-- libswfdec/swfdec_sprite.c | 15 +++++++-------- libswfdec/swfdec_sprite_movie_as.c | 8 ++++++-- 4 files changed, 16 insertions(+), 13 deletions(-) New commits: commit 53e074fa803c2184a4a3eb808a8c856314150f93 Author: Benjamin Otte <otte at gnome.org> Date: Tue Nov 13 12:52:46 2007 +0100 call onLoad, onConstruct and onInitialize in attachMovie diff --git a/libswfdec/swfdec_sprite_movie_as.c b/libswfdec/swfdec_sprite_movie_as.c index 0f8d4c6..158468f 100644 --- a/libswfdec/swfdec_sprite_movie_as.c +++ b/libswfdec/swfdec_sprite_movie_as.c @@ -368,6 +368,11 @@ swfdec_sprite_movie_init_from_object (SwfdecMovie *movie, swfdec_sprite_movie_foreach_copy_properties, SWFDEC_AS_OBJECT (movie)); } + if (SWFDEC_IS_SPRITE_MOVIE (movie)) { + swfdec_movie_queue_script (movie, SWFDEC_EVENT_INITIALIZE); + swfdec_movie_queue_script (movie, SWFDEC_EVENT_LOAD); + swfdec_movie_execute (movie, SWFDEC_EVENT_CONSTRUCT); + } swfdec_movie_initialize (movie); } @@ -383,7 +388,7 @@ swfdec_sprite_movie_attachMovie (SwfdecAsContext *cx, SwfdecAsObject *object, int depth; SwfdecGraphic *sprite; - SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&movie, "ss", &export, &name); + SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&movie, "ssi", &export, &name, &depth); if (argc > 3 && SWFDEC_AS_VALUE_IS_OBJECT (&argv[3])) { initObject = SWFDEC_AS_VALUE_GET_OBJECT ((&argv[3])); @@ -399,7 +404,6 @@ swfdec_sprite_movie_attachMovie (SwfdecAsContext *cx, SwfdecAsObject *object, } return; } - depth = swfdec_as_value_to_integer (cx, &argv[2]); if (swfdec_depth_classify (depth) == SWFDEC_DEPTH_CLASS_EMPTY) return; ret = swfdec_movie_find (movie, depth); commit 1f792590fd694ccda1e7195043d39319afb8d34a Author: Benjamin Otte <otte at gnome.org> Date: Tue Nov 13 12:03:12 2007 +0100 a sprite with 0 frames does have 0 frames diff --git a/libswfdec/swfdec_sprite.c b/libswfdec/swfdec_sprite.c index 51a9b0f..e81c688 100644 --- a/libswfdec/swfdec_sprite.c +++ b/libswfdec/swfdec_sprite.c @@ -202,15 +202,14 @@ swfdec_sprite_set_n_frames (SwfdecSprite *sprite, guint n_frames, guint i; g_return_if_fail (SWFDEC_IS_SPRITE (sprite)); - if (n_frames == 0) - n_frames = 1; + if (n_frames > 0) { + sprite->frames = g_new0 (SwfdecSpriteFrame, n_frames); + sprite->n_frames = n_frames; - sprite->frames = g_new0 (SwfdecSpriteFrame, n_frames); - sprite->n_frames = n_frames; - - if (rate > 0) { - for (i = 0; i < n_frames; i++) { - sprite->frames[i].sound_samples = 44100 * 256 / rate; + if (rate > 0) { + for (i = 0; i < n_frames; i++) { + sprite->frames[i].sound_samples = 44100 * 256 / rate; + } } } commit 4a2c3ac6329d11003c9c0b51a100f89eeb846bcc Author: Benjamin Otte <otte at gnome.org> Date: Tue Nov 13 12:03:01 2007 +0100 PNG image loading requires cairo-png diff --git a/README b/README index 1649a30..db45aaa 100644 --- a/README +++ b/README @@ -61,7 +61,7 @@ Limitations: Dependencies: - cairo (>= 1.2.0 - >= 1.4.0 recommended) + cairo (>= 1.2.0 - >= 1.4.0 recommended) with png support enabled glib (>= 2.10.0) liboil (>= 0.3.6) Pangocairo (aka Pango with cairo support) diff --git a/configure.ac b/configure.ac index 882a129..7abf6e3 100644 --- a/configure.ac +++ b/configure.ac @@ -191,11 +191,11 @@ if test "$HAVE_LIBOIL" = "no"; then fi CAIRO_VER=1.2.0 -PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_VER, HAVE_CAIRO=yes, HAVE_CAIRO=no) +PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_VER cairo-png >= $CAIRO_VER, HAVE_CAIRO=yes, HAVE_CAIRO=no) AC_SUBST(CAIRO_LIBS) AC_SUBST(CAIRO_CFLAGS) if test "$HAVE_CAIRO" = "no"; then - AC_MSG_ERROR([cairo >= $CAIRO_VER is required to build swfdec]) + AC_MSG_ERROR([cairo and cairo-png = $CAIRO_VER is required to build swfdec]) fi AC_ARG_ENABLE(mad,