summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@linux.intel.com>2011-11-14 17:04:14 +0000
committerEmmanuele Bassi <ebassi@linux.intel.com>2011-11-14 17:16:27 +0000
commitb281f2090a8fb042cb471611eab54c26ceba8074 (patch)
treefc2a922ed231af6fb489b119ad32a8605a0f5860
parentf1ebfe30cee518811454b2bea6558bcfd19a5eb7 (diff)
downloadclutter-b281f2090a8fb042cb471611eab54c26ceba8074.tar.gz
Store the master clock pointer in the main context
Let's try and move all singletons into ClutterMainContext.
-rw-r--r--clutter/clutter-master-clock.c10
-rw-r--r--clutter/clutter-private.h3
2 files changed, 7 insertions, 6 deletions
diff --git a/clutter/clutter-master-clock.c b/clutter/clutter-master-clock.c
index 21a86d579..2f2debda4 100644
--- a/clutter/clutter-master-clock.c
+++ b/clutter/clutter-master-clock.c
@@ -95,8 +95,6 @@ static gboolean clutter_clock_dispatch (GSource *source,
GSourceFunc callback,
gpointer user_data);
-static ClutterMasterClock *default_clock = NULL;
-
static GSourceFuncs clock_funcs = {
clutter_clock_prepare,
clutter_clock_check,
@@ -461,12 +459,12 @@ clutter_master_clock_init (ClutterMasterClock *self)
ClutterMasterClock *
_clutter_master_clock_get_default (void)
{
- if (G_LIKELY (default_clock != NULL))
- return default_clock;
+ ClutterMainContext *context = _clutter_context_get_default ();
- default_clock = g_object_new (CLUTTER_TYPE_MASTER_CLOCK, NULL);
+ if (G_UNLIKELY (context->master_clock == NULL))
+ context->master_clock = g_object_new (CLUTTER_TYPE_MASTER_CLOCK, NULL);
- return default_clock;
+ return context->master_clock;
}
/*
diff --git a/clutter/clutter-private.h b/clutter/clutter-private.h
index 8c8f602f3..30ea65fa3 100644
--- a/clutter/clutter-private.h
+++ b/clutter/clutter-private.h
@@ -128,6 +128,9 @@ struct _ClutterMainContext
/* the object holding all the stage instances */
ClutterStageManager *stage_manager;
+ /* the clock driving all the frame operations */
+ ClutterMasterClock *master_clock;
+
/* the main event queue */
GQueue *events_queue;