[gtk+/wip/actor: 36/42] xxx: cssactor
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/actor: 36/42] xxx: cssactor
- Date: Tue, 18 Dec 2012 13:29:03 +0000 (UTC)
commit 2db4ee0de5efb1be5b70a12e11af8ea8ff053adc
Author: Benjamin Otte <otte redhat com>
Date: Mon Dec 17 16:12:56 2012 +0100
xxx: cssactor
gtk/actors/gtkcssactor.c | 31 ++++++++++++++++++++++++++++---
1 files changed, 28 insertions(+), 3 deletions(-)
---
diff --git a/gtk/actors/gtkcssactor.c b/gtk/actors/gtkcssactor.c
index 3b6120b..7b7e23b 100644
--- a/gtk/actors/gtkcssactor.c
+++ b/gtk/actors/gtkcssactor.c
@@ -21,6 +21,7 @@
#include "gtkcssactorprivate.h"
+#include "gtkcontainer.h"
#include "gtkcssboxprivate.h"
#include "gtkcssmatcherprivate.h"
#include "gtkdebug.h"
@@ -29,6 +30,7 @@
#include "gtkstylecontext.h"
#include "gtkstylecontextprivate.h"
#include "gtktypebuiltins.h"
+#include "gtkwidgetactorprivate.h"
#include "gtkwidgetprivate.h"
struct _GtkCssActorPrivate {
@@ -230,15 +232,38 @@ _gtk_css_actor_get_style_context (GtkCssActor *actor)
}
static gboolean
+actor_needs_to_use_widget_path (GtkActor *actor)
+{
+ GtkWidget *widget, *parent;
+
+ if (!GTK_IS_WIDGET_ACTOR (actor))
+ return FALSE;
+
+ widget = _gtk_actor_get_widget (actor);
+ if (widget == NULL)
+ return FALSE;
+
+ parent = gtk_widget_get_parent (widget);
+ if (parent == NULL)
+ return FALSE;
+
+ if (GTK_CONTAINER_GET_CLASS (parent)->get_path_for_child ==
+ GTK_CONTAINER_CLASS(g_type_class_peek (GTK_TYPE_CONTAINER))->get_path_for_child)
+ return FALSE;
+
+ return TRUE;
+}
+
+static gboolean
gtk_css_actor_source_init_css_matcher (GtkCssMatcher *matcher,
gpointer actor)
{
- return FALSE;
-#if 0
+ if (actor_needs_to_use_widget_path (actor))
+ return FALSE;
+
_gtk_css_matcher_actor_init (matcher, actor);
return TRUE;
-#endif
}
static GtkWidgetPath *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]