GtkStyleProviderPrivate * gtk_css_node_get_style_provider (GtkCssNode *cssnode) { GtkStyleProviderPrivate *result; result = gtk_css_node_get_style_provider_or_null (cssnode); if (result) return result; if (cssnode->parent) return gtk_css_node_get_style_provider (cssnode->parent); return GTK_STYLE_PROVIDER_PRIVATE (_gtk_settings_get_style_cascade (gtk_settings_get_default (), 1)); }
static GtkStyleProviderPrivate * gtk_css_widget_node_get_style_provider (GtkCssNode *node) { GtkCssWidgetNode *widget_node = GTK_CSS_WIDGET_NODE (node); GtkStyleContext *context; GtkStyleCascade *cascade; if (widget_node->widget == NULL) return NULL; context = _gtk_widget_peek_style_context (widget_node->widget); if (context) return gtk_style_context_get_style_provider (context); cascade = _gtk_settings_get_style_cascade (gtk_widget_get_settings (widget_node->widget), gtk_widget_get_scale_factor (widget_node->widget)); return GTK_STYLE_PROVIDER_PRIVATE (cascade); }