[clutter] Store the master clock pointer in the main context



commit b281f2090a8fb042cb471611eab54c26ceba8074
Author: Emmanuele Bassi <ebassi linux intel com>
Date:   Mon Nov 14 17:04:14 2011 +0000

    Store the master clock pointer in the main context
    
    Let's try and move all singletons into ClutterMainContext.

 clutter/clutter-master-clock.c |   10 ++++------
 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 21a86d5..2f2debd 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 8c8f602..30ea65f 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;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]