[Swfdec-commits] src/swfmoz_player.c

Benjamin Otte company at kemper.freedesktop.org
Thu Apr 10 01:35:03 PDT 2008


 src/swfmoz_player.c |   22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

New commits:
commit 2cad9b37c9562830780814a0b903b82ee906f032
Author: Benjamin Otte <otte at gnome.org>
Date:   Thu Apr 10 10:34:36 2008 +0200

    update to mirror redraw priorities change in core

diff --git a/src/swfmoz_player.c b/src/swfmoz_player.c
index b8e1c67..d879f87 100644
--- a/src/swfmoz_player.c
+++ b/src/swfmoz_player.c
@@ -200,7 +200,7 @@ swfmoz_player_redraw (SwfmozPlayer *player, const SwfdecRectangle *extents,
     } else {
       GSource *source = g_idle_source_new ();
       player->repaint_source = source;
-      g_source_set_priority (source, GDK_PRIORITY_REDRAW);
+      g_source_set_priority (source, GDK_PRIORITY_REDRAW - 10);
       g_source_set_callback (source, swfmoz_player_idle_redraw, player, NULL);
       g_source_attach (source, player->context);
       player->repaint = region;
@@ -618,15 +618,9 @@ swfmoz_player_render (SwfmozPlayer *player, GdkRegion *region)
   if (player->repaint) {
 
     g_assert (player->repaint_source);
-    gdk_region_subtract (player->repaint, region);
-
-    if (gdk_region_empty (player->repaint)) {
-      g_source_destroy (player->repaint_source);
-      g_source_unref (player->repaint_source);
-      player->repaint_source = NULL;
-      gdk_region_destroy (player->repaint);
-      player->repaint = NULL;
-    }
+    gdk_region_union (player->repaint, region);
+
+    region = player->repaint;
   }
 
   /* second, check if we have anything to draw */
@@ -656,6 +650,14 @@ swfmoz_player_render (SwfmozPlayer *player, GdkRegion *region)
   }
   cairo_destroy (cr);
   gdk_window_end_paint (player->target);
+
+  if (region == player->repaint) {
+    g_source_destroy (player->repaint_source);
+    g_source_unref (player->repaint_source);
+    player->repaint_source = NULL;
+    gdk_region_destroy (player->repaint);
+    player->repaint = NULL;
+  }
 }
 
 gboolean


More information about the Swfdec-commits mailing list