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:
@ -1437,7 +1437,8 @@ gtk_stack_draw (GtkWidget *widget,
|
|||||||
GtkStackPrivate *priv = stack->priv;
|
GtkStackPrivate *priv = stack->priv;
|
||||||
cairo_t *pattern_cr;
|
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)
|
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),
|
gtk_container_propagate_draw (GTK_CONTAINER (stack),
|
||||||
priv->visible_child->widget,
|
priv->visible_child->widget,
|
||||||
cr);
|
cr);
|
||||||
|
|||||||
Reference in New Issue
Block a user