window: Don't set a background pattern/colour when client decorated

Otherwise we'll potentially get some background sticking through our rounded
corners in our decorations. The actual background will get drawn as part of
the decoration drawing.
This commit is contained in:
Rob Bradford 2013-02-19 19:26:19 +00:00 committed by Matthias Clasen
parent 6a8362111e
commit 4618e0dcc7

View File

@ -5315,7 +5315,11 @@ gtk_window_realize (GtkWidget *widget)
gtk_widget_set_window (widget, gdk_window);
gtk_widget_register_window (widget, gdk_window);
gtk_style_context_set_background (gtk_widget_get_style_context (widget), gdk_window);
/* We don't need to set a background on the GdkWindow; with decorations
* we draw the background ourself
*/
if (!priv->client_decorated)
gtk_style_context_set_background (gtk_widget_get_style_context (widget), gdk_window);
return;
}
@ -5393,9 +5397,14 @@ gtk_window_realize (GtkWidget *widget)
gtk_widget_register_window (widget, gdk_window);
context = gtk_widget_get_style_context (widget);
gtk_style_context_set_background (context, gdk_window);
/* We don't need to set a background on the GdkWindow; with decorations
* we draw the background ourself
*/
if (!priv->client_decorated)
{
context = gtk_widget_get_style_context (widget);
gtk_style_context_set_background (context, gdk_window);
}
if (priv->transient_parent &&
gtk_widget_get_realized (GTK_WIDGET (priv->transient_parent)))