diff options
author | Emmanuele Bassi <ebassi@linux.intel.com> | 2011-11-14 17:04:14 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@linux.intel.com> | 2011-11-14 17:16:27 +0000 |
commit | b281f2090a8fb042cb471611eab54c26ceba8074 (patch) | |
tree | fc2a922ed231af6fb489b119ad32a8605a0f5860 | |
parent | f1ebfe30cee518811454b2bea6558bcfd19a5eb7 (diff) | |
download | clutter-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.c | 10 | ||||
-rw-r--r-- | clutter/clutter-private.h | 3 |
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; |