widget: Use cssnode api to get the filter value
authorTimm Bäder <mail@baedert.org>
Thu, 2 Jan 2020 09:04:29 +0000 (10:04 +0100)
committerTimm Bäder <mail@baedert.org>
Tue, 7 Jan 2020 16:27:18 +0000 (17:27 +0100)
it's confusing that we use GtkStyleContext here while we use the CssNode
directly elsewhere.

gtk/gtkwidget.c

index 2a67391479455c81cbf21dfbfbe5f28eff7f1b4a..433dfe2f062ddece4fedf9e5d77a6afe36fb6cf9 100644 (file)
@@ -12670,8 +12670,9 @@ gtk_widget_create_render_node (GtkWidget   *widget,
                            "RenderNode for %s %p",
                            G_OBJECT_TYPE_NAME (widget), widget);
 
-  filter_value = _gtk_style_context_peek_property (_gtk_widget_get_style_context (widget), GTK_CSS_PROPERTY_FILTER);
-  gtk_css_filter_value_push_snapshot (filter_value, snapshot);
+  filter_value = gtk_css_style_get_value (gtk_css_node_get_style (priv->cssnode), GTK_CSS_PROPERTY_FILTER);
+  if (filter_value)
+    gtk_css_filter_value_push_snapshot (filter_value, snapshot);
 
   if (opacity < 1.0)
     gtk_snapshot_push_opacity (snapshot, opacity);