data = list->data;
list = list->next;
- provider_style = gtk_style_provider_get_style (data->provider);
- gtk_style_set_merge (priv->store, provider_style, TRUE);
- g_object_unref (provider_style);
+ provider_style = gtk_style_provider_get_style (data->provider,
+ priv->widget_path);
+
+ if (provider_style)
+ {
+ gtk_style_set_merge (priv->store, provider_style, TRUE);
+ g_object_unref (provider_style);
+ }
}
}
}
GtkStyleSet *
-gtk_style_provider_get_style (GtkStyleProvider *provider)
+gtk_style_provider_get_style (GtkStyleProvider *provider,
+ GtkWidgetPath *path)
{
GtkStyleProviderIface *iface;
if (!iface->get_style)
return NULL;
- return iface->get_style (provider);
+ return iface->get_style (provider, path);
}
#define __GTK_STYLE_PROVIDER_C__
#define __GTK_STYLE_PROVIDER_H__
#include <glib-object.h>
+#include "gtkwidgetpath.h"
#include "gtkstyleset.h"
#include "gtkenums.h"
{
GTypeInterface g_iface;
- GtkStyleSet * (* get_style) (GtkStyleProvider *provider);
+ GtkStyleSet * (* get_style) (GtkStyleProvider *provider,
+ GtkWidgetPath *path);
};
GType gtk_style_provider_get_type (void) G_GNUC_CONST;
-GtkStyleSet *gtk_style_provider_get_style (GtkStyleProvider *provider);
+GtkStyleSet *gtk_style_provider_get_style (GtkStyleProvider *provider,
+ GtkWidgetPath *path);
G_END_DECLS
}
GtkStyleSet *
-gtk_style_set_get_style (GtkStyleProvider *provider)
+gtk_style_set_get_style (GtkStyleProvider *provider,
+ GtkWidgetPath *path)
{
/* Return style set itself */
return g_object_ref (provider);