[libgd] GdStack: Fix crossfade with Gtk 3.9.x



commit 572fcf471c8d521ddbff7dab5be08450ec15c995
Author: Alexander Larsson <alexl redhat com>
Date:   Tue May 7 13:57:26 2013 +0200

    GdStack: Fix crossfade with Gtk 3.9.x
    
    With more recent Gtk+ we're drawing the crossfade twice, once
    for each GdkWindow. We should only draw it on bin_window.

 libgd/gd-stack.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/libgd/gd-stack.c b/libgd/gd-stack.c
index 9d0e82b..98872b6 100644
--- a/libgd/gd-stack.c
+++ b/libgd/gd-stack.c
@@ -1178,7 +1178,8 @@ gd_stack_draw (GtkWidget *widget,
   GdStackPrivate *priv = stack->priv;
   cairo_t *pattern_cr;
 
-  if (priv->visible_child)
+  if (priv->visible_child &&
+      gtk_cairo_should_draw_window (cr, priv->bin_window))
     {
       if (priv->transition_pos < 1.0)
         {
@@ -1213,7 +1214,7 @@ gd_stack_draw (GtkWidget *widget,
             }
 
         }
-      else if (gtk_cairo_should_draw_window (cr, priv->bin_window))
+      else
         gtk_container_propagate_draw (GTK_CONTAINER (stack),
                                       priv->visible_child->widget,
                                       cr);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]