layout: add a comment for gtk_style_context_set_background()
And wrap it with G_GNUC_IGNORE_DEPRECATIONS. Unfortunately we can't stop rendering the background altogether here. Also, refactor some common code in a single function.
This commit is contained in:
parent
380ebbf76d
commit
a9b45e7c3c
@ -858,6 +858,25 @@ gtk_layout_init (GtkLayout *layout)
|
|||||||
|
|
||||||
/* Widget methods
|
/* Widget methods
|
||||||
*/
|
*/
|
||||||
|
static void
|
||||||
|
set_background (GtkWidget *widget)
|
||||||
|
{
|
||||||
|
GtkLayoutPrivate *priv;
|
||||||
|
|
||||||
|
if (gtk_widget_get_realized (widget))
|
||||||
|
{
|
||||||
|
priv = GTK_LAYOUT (widget)->priv;
|
||||||
|
|
||||||
|
/* We still need to call gtk_style_context_set_background() here for
|
||||||
|
* GtkLayout, since subclasses like EelCanvas depend on a background to
|
||||||
|
* be set since the beginning of the draw() implementation.
|
||||||
|
* This should be revisited next time we have a major API break.
|
||||||
|
*/
|
||||||
|
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
||||||
|
gtk_style_context_set_background (gtk_widget_get_style_context (widget), priv->bin_window);
|
||||||
|
G_GNUC_END_IGNORE_DEPRECATIONS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_layout_realize (GtkWidget *widget)
|
gtk_layout_realize (GtkWidget *widget)
|
||||||
@ -903,7 +922,7 @@ gtk_layout_realize (GtkWidget *widget)
|
|||||||
priv->bin_window = gdk_window_new (window,
|
priv->bin_window = gdk_window_new (window,
|
||||||
&attributes, attributes_mask);
|
&attributes, attributes_mask);
|
||||||
gtk_widget_register_window (widget, priv->bin_window);
|
gtk_widget_register_window (widget, priv->bin_window);
|
||||||
gtk_style_context_set_background (gtk_widget_get_style_context (widget), priv->bin_window);
|
set_background (widget);
|
||||||
|
|
||||||
tmp_list = priv->children;
|
tmp_list = priv->children;
|
||||||
while (tmp_list)
|
while (tmp_list)
|
||||||
@ -918,15 +937,9 @@ gtk_layout_realize (GtkWidget *widget)
|
|||||||
static void
|
static void
|
||||||
gtk_layout_style_updated (GtkWidget *widget)
|
gtk_layout_style_updated (GtkWidget *widget)
|
||||||
{
|
{
|
||||||
GtkLayoutPrivate *priv;
|
|
||||||
|
|
||||||
GTK_WIDGET_CLASS (gtk_layout_parent_class)->style_updated (widget);
|
GTK_WIDGET_CLASS (gtk_layout_parent_class)->style_updated (widget);
|
||||||
|
|
||||||
if (gtk_widget_get_realized (widget))
|
set_background (widget);
|
||||||
{
|
|
||||||
priv = GTK_LAYOUT (widget)->priv;
|
|
||||||
gtk_style_context_set_background (gtk_widget_get_style_context (widget), priv->bin_window);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user