Store the master clock pointer in the main context

Let's try and move all singletons into ClutterMainContext.
This commit is contained in:
Emmanuele Bassi 2011-11-14 17:04:14 +00:00
parent f1ebfe30ce
commit b281f2090a
2 changed files with 7 additions and 6 deletions

View File

@ -95,8 +95,6 @@ static gboolean clutter_clock_dispatch (GSource *source,
GSourceFunc callback, GSourceFunc callback,
gpointer user_data); gpointer user_data);
static ClutterMasterClock *default_clock = NULL;
static GSourceFuncs clock_funcs = { static GSourceFuncs clock_funcs = {
clutter_clock_prepare, clutter_clock_prepare,
clutter_clock_check, clutter_clock_check,
@ -461,12 +459,12 @@ clutter_master_clock_init (ClutterMasterClock *self)
ClutterMasterClock * ClutterMasterClock *
_clutter_master_clock_get_default (void) _clutter_master_clock_get_default (void)
{ {
if (G_LIKELY (default_clock != NULL)) ClutterMainContext *context = _clutter_context_get_default ();
return default_clock;
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;
} }
/* /*

View File

@ -128,6 +128,9 @@ struct _ClutterMainContext
/* the object holding all the stage instances */ /* the object holding all the stage instances */
ClutterStageManager *stage_manager; ClutterStageManager *stage_manager;
/* the clock driving all the frame operations */
ClutterMasterClock *master_clock;
/* the main event queue */ /* the main event queue */
GQueue *events_queue; GQueue *events_queue;