st/scroll-view: Don't emit superfluous style-changed events on children

Since we correctly call the `style_changed` vfunc superclass at the end
of our own function anyway, the style changes will get propagated to the
children of the scrollView inside `st_widget_real_style_changed` anyway.

So remove those unneeded and quite expensive (because they cause the
theme node to be regenerated) calls to `st_widget_style_changed`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/953>
This commit is contained in:
Jonas Dreßler 2019-11-14 08:37:25 +01:00 committed by Marge Bot
parent f6553ef5f0
commit 85ffb96924

View File

@ -752,7 +752,6 @@ static void
st_scroll_view_style_changed (StWidget *widget) st_scroll_view_style_changed (StWidget *widget)
{ {
StScrollView *self = ST_SCROLL_VIEW (widget); StScrollView *self = ST_SCROLL_VIEW (widget);
StScrollViewPrivate *priv = self->priv;
StThemeNode *theme_node = st_widget_get_theme_node (widget); StThemeNode *theme_node = st_widget_get_theme_node (widget);
gdouble vfade_offset = st_theme_node_get_length (theme_node, "-st-vfade-offset"); gdouble vfade_offset = st_theme_node_get_length (theme_node, "-st-vfade-offset");
@ -765,9 +764,6 @@ st_scroll_view_style_changed (StWidget *widget)
.right = hfade_offset, .right = hfade_offset,
}); });
st_widget_style_changed (ST_WIDGET (priv->hscroll));
st_widget_style_changed (ST_WIDGET (priv->vscroll));
ST_WIDGET_CLASS (st_scroll_view_parent_class)->style_changed (widget); ST_WIDGET_CLASS (st_scroll_view_parent_class)->style_changed (widget);
} }