stylecontext: Stop querying style providers for icon factories
Nobody implements this feature and I don't wanna maintain it. If it turns out somebody is using it, we gotta invent something.
This commit is contained in:
parent
a52336bedc
commit
015e3a768f
@ -338,7 +338,6 @@ struct GtkStyleInfo
|
|||||||
struct StyleData
|
struct StyleData
|
||||||
{
|
{
|
||||||
GtkCssComputedValues *store;
|
GtkCssComputedValues *store;
|
||||||
GSList *icon_factories;
|
|
||||||
GArray *property_cache;
|
GArray *property_cache;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -608,8 +607,6 @@ style_data_free (StyleData *data)
|
|||||||
g_object_unref (data->store);
|
g_object_unref (data->store);
|
||||||
clear_property_cache (data);
|
clear_property_cache (data);
|
||||||
|
|
||||||
g_slist_free_full (data->icon_factories, g_object_unref);
|
|
||||||
|
|
||||||
g_slice_free (StyleData, data);
|
g_slice_free (StyleData, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -991,42 +988,6 @@ build_properties (GtkStyleContext *context,
|
|||||||
_gtk_css_lookup_free (lookup);
|
_gtk_css_lookup_free (lookup);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
build_icon_factories (GtkStyleContext *context,
|
|
||||||
StyleData *style_data,
|
|
||||||
GtkWidgetPath *path)
|
|
||||||
{
|
|
||||||
GtkStyleContextPrivate *priv;
|
|
||||||
GList *elem, *list, *global_list = NULL;
|
|
||||||
|
|
||||||
priv = context->priv;
|
|
||||||
list = priv->providers_last;
|
|
||||||
|
|
||||||
if (priv->screen)
|
|
||||||
{
|
|
||||||
global_list = g_object_get_qdata (G_OBJECT (priv->screen), provider_list_quark);
|
|
||||||
global_list = g_list_last (global_list);
|
|
||||||
}
|
|
||||||
|
|
||||||
while ((elem = find_next_candidate (list, global_list)) != NULL)
|
|
||||||
{
|
|
||||||
GtkIconFactory *factory;
|
|
||||||
GtkStyleProviderData *data;
|
|
||||||
|
|
||||||
data = elem->data;
|
|
||||||
|
|
||||||
if (elem == list)
|
|
||||||
list = list->prev;
|
|
||||||
else
|
|
||||||
global_list = global_list->prev;
|
|
||||||
|
|
||||||
factory = gtk_style_provider_get_icon_factory (data->provider, path);
|
|
||||||
|
|
||||||
if (factory)
|
|
||||||
style_data->icon_factories = g_slist_prepend (style_data->icon_factories, factory);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static GtkWidgetPath *
|
static GtkWidgetPath *
|
||||||
create_query_path (GtkStyleContext *context)
|
create_query_path (GtkStyleContext *context)
|
||||||
{
|
{
|
||||||
@ -1104,7 +1065,6 @@ style_data_lookup (GtkStyleContext *context,
|
|||||||
path = create_query_path (context);
|
path = create_query_path (context);
|
||||||
|
|
||||||
build_properties (context, priv->current_data, path, state);
|
build_properties (context, priv->current_data, path, state);
|
||||||
build_icon_factories (context, priv->current_data, path);
|
|
||||||
|
|
||||||
gtk_widget_path_free (path);
|
gtk_widget_path_free (path);
|
||||||
}
|
}
|
||||||
@ -2690,8 +2650,6 @@ gtk_style_context_lookup_icon_set (GtkStyleContext *context,
|
|||||||
const gchar *stock_id)
|
const gchar *stock_id)
|
||||||
{
|
{
|
||||||
GtkStyleContextPrivate *priv;
|
GtkStyleContextPrivate *priv;
|
||||||
StyleData *data;
|
|
||||||
GSList *list;
|
|
||||||
|
|
||||||
g_return_val_if_fail (GTK_IS_STYLE_CONTEXT (context), NULL);
|
g_return_val_if_fail (GTK_IS_STYLE_CONTEXT (context), NULL);
|
||||||
g_return_val_if_fail (stock_id != NULL, NULL);
|
g_return_val_if_fail (stock_id != NULL, NULL);
|
||||||
@ -2699,20 +2657,6 @@ gtk_style_context_lookup_icon_set (GtkStyleContext *context,
|
|||||||
priv = context->priv;
|
priv = context->priv;
|
||||||
g_return_val_if_fail (priv->widget_path != NULL, NULL);
|
g_return_val_if_fail (priv->widget_path != NULL, NULL);
|
||||||
|
|
||||||
data = style_data_lookup (context, 0);
|
|
||||||
|
|
||||||
for (list = data->icon_factories; list; list = list->next)
|
|
||||||
{
|
|
||||||
GtkIconFactory *factory;
|
|
||||||
GtkIconSet *icon_set;
|
|
||||||
|
|
||||||
factory = list->data;
|
|
||||||
icon_set = gtk_icon_factory_lookup (factory, stock_id);
|
|
||||||
|
|
||||||
if (icon_set)
|
|
||||||
return icon_set;
|
|
||||||
}
|
|
||||||
|
|
||||||
return gtk_icon_factory_lookup_default (stock_id);
|
return gtk_icon_factory_lookup_default (stock_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user