forked from AuroraMiddleware/gtk
GtkContainer: Also copy permanent container's classes on get_path_for_child()
This makes inheritance work for the simplest cases when style is defined for classes.
This commit is contained in:
parent
6d1cf76822
commit
f62583d30c
@ -2215,7 +2215,28 @@ static GtkWidgetPath *
|
|||||||
gtk_container_real_get_path_for_child (GtkContainer *container,
|
gtk_container_real_get_path_for_child (GtkContainer *container,
|
||||||
GtkWidget *child)
|
GtkWidget *child)
|
||||||
{
|
{
|
||||||
return gtk_widget_path_copy (gtk_widget_get_path (GTK_WIDGET (container)));
|
GtkStyleContext *context;
|
||||||
|
GtkWidgetPath *path;
|
||||||
|
GList *classes;
|
||||||
|
|
||||||
|
context = gtk_widget_get_style_context (GTK_WIDGET (container));
|
||||||
|
path = gtk_widget_path_copy (gtk_widget_get_path (GTK_WIDGET (container)));
|
||||||
|
|
||||||
|
/* Copy any permanent classes to the path */
|
||||||
|
classes = gtk_style_context_list_classes (context);
|
||||||
|
|
||||||
|
while (classes)
|
||||||
|
{
|
||||||
|
GList *cur;
|
||||||
|
|
||||||
|
cur = classes;
|
||||||
|
classes = classes->next;
|
||||||
|
|
||||||
|
gtk_widget_path_iter_add_class (path, -1, cur->data);
|
||||||
|
g_list_free_1 (cur);
|
||||||
|
}
|
||||||
|
|
||||||
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
Loading…
Reference in New Issue
Block a user