GtkStack: Fix double-draw in crossfade

We should only draw the cross-fade on the bin window, not doing this
was causing us to draw it multiple times using ADD which resulted
in weird colors.
This commit is contained in:
Alexander Larsson 2013-05-07 09:28:30 +02:00
parent 3610005191
commit e2c8a95af6

View File

@ -1437,7 +1437,8 @@ gtk_stack_draw (GtkWidget *widget,
GtkStackPrivate *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)
{
@ -1475,7 +1476,7 @@ gtk_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);