[Swfdec-commits] 5 commits -

Benjamin Otte company at kemper.freedesktop.org
Sat May 31 04:23:37 PDT 2008


 0 files changed

New commits:
commit 72b9cadb4998002e811d1b5b16835c943567e250
Merge: d1614ba... b39a558...
Author: Benjamin Otte <otte at gnome.org>
Date:   Sat May 31 13:23:28 2008 +0200

    Merge branch '0.6'
    
    Conflicts:
    
    	swfdec/swfdec_as_interpret.c

commit b39a5580b70cfa83630b5e610f16c2e955fa57de
Author: Lúcio Corrêa <lucio.correa at gmail.com>
Date:   Sat May 24 11:21:33 2008 +0200

    Make swfdec compile with gold linker

diff --git a/configure.ac b/configure.ac
index e302489..7094632 100644
--- a/configure.ac
+++ b/configure.ac
@@ -306,7 +306,7 @@ AC_SUBST(GLOBAL_CFLAGS)
 AC_SUBST(GLOBAL_CFLAGS)
 
 SWFDEC_CFLAGS="-I\$(top_srcdir) $GLIB_CFLAGS $CAIRO_CFLAGS"
-SWFDEC_LIBS="\$(top_builddir)/swfdec/libswfdec-$SWFDEC_MAJORMINOR.la $GLIB_LIBS $CAIRO_LIBS -lz"
+SWFDEC_LIBS="\$(top_builddir)/swfdec/libswfdec-$SWFDEC_MAJORMINOR.la $GLIB_LIBS $CAIRO_LIBS -lz -lm"
 AC_SUBST(SWFDEC_LIBS)
 AC_SUBST(SWFDEC_CFLAGS)
 
commit 43edd10454bfd1fe5fc7a31f67400d78904821a0
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed May 28 14:07:35 2008 +0300

    Fix exception fired when ending a block not handled immediately
    
    This allowed one more action to be ran after throwing and catching, could lead
    to assert

diff --git a/swfdec/swfdec_as_context.c b/swfdec/swfdec_as_context.c
index f2b4d09..24b25c6 100644
--- a/swfdec/swfdec_as_context.c
+++ b/swfdec/swfdec_as_context.c
@@ -907,7 +907,11 @@ start:
       pc = frame->pc;
       if (frame != context->frame)
 	goto start;
+      if (context->exception)
+	break;
     }
+    if (context->exception)
+      continue;
 
     /* decode next action */
     action = *pc;
commit 395097ce4092b142f545b3e1bf9785899135fb0b
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed May 28 14:43:15 2008 +0300

    Fix try actions that have only a catch statement
    
    Conflicts:
    
    	swfdec/swfdec_as_interpret.c

diff --git a/swfdec/swfdec_as_interpret.c b/swfdec/swfdec_as_interpret.c
index 98859be..eedd896 100644
--- a/swfdec/swfdec_as_interpret.c
+++ b/swfdec/swfdec_as_interpret.c
@@ -2606,7 +2606,7 @@ swfdec_action_try_end_catch (SwfdecAsFrame *frame, gpointer data)
 
   cx = SWFDEC_AS_OBJECT (frame)->context;
 
-  if (swfdec_as_context_catch (cx, &val))
+  if (try_data->finally_start && swfdec_as_context_catch (cx, &val))
   {
     // we got an exception while in catch block:
     // create new block for finally to pass on the exception
commit d84dd3d3a23745cee2c23642bbc1c81a5483e7d4
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed May 28 14:42:20 2008 +0300

    Fix handling of try actions with only finally statement
    
    Conflicts:
    
    	swfdec/swfdec_as_interpret.c

diff --git a/swfdec/swfdec_as_interpret.c b/swfdec/swfdec_as_interpret.c
index ff0a66c..98859be 100644
--- a/swfdec/swfdec_as_interpret.c
+++ b/swfdec/swfdec_as_interpret.c
@@ -2726,7 +2726,7 @@ swfdec_action_try (SwfdecAsContext *cx, guint action, const guint8 *data, guint
   if (use_catch)
     try_data->catch_start = data + len + try_size;
   if (use_finally)
-    try_data->finally_start = try_data->catch_start + try_data->catch_size;
+    try_data->finally_start = data + len + try_size + try_data->catch_size;
 
   if (try_data->use_register) {
     try_data->register_number = swfdec_bits_get_u8 (&bits);


More information about the Swfdec-commits mailing list