diff options
author | Emmanuele Bassi <ebassi@linux.intel.com> | 2011-11-14 15:43:20 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@linux.intel.com> | 2011-11-14 15:43:20 +0000 |
commit | f1ebfe30cee518811454b2bea6558bcfd19a5eb7 (patch) | |
tree | 372c09161004c6f27ba4780314607fef23140fbb | |
parent | e7720c415649cb67453b90764258f398f8e97107 (diff) | |
download | clutter-f1ebfe30cee518811454b2bea6558bcfd19a5eb7.tar.gz |
stage-manager: Store the stage manager into the main context
Use the main context to store the stage manager singleton, instead of a
static pointer inside clutter-stage-manager.c.
-rw-r--r-- | clutter/clutter-private.h | 4 | ||||
-rw-r--r-- | clutter/clutter-stage-manager.c | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/clutter/clutter-private.h b/clutter/clutter-private.h index 017d54e7a..8c8f602f3 100644 --- a/clutter/clutter-private.h +++ b/clutter/clutter-private.h @@ -40,6 +40,7 @@ #include "clutter-layout-manager.h" #include "clutter-master-clock.h" #include "clutter-settings.h" +#include "clutter-stage-manager.h" #include "clutter-stage.h" G_BEGIN_DECLS @@ -124,6 +125,9 @@ struct _ClutterMainContext /* the main windowing system backend */ ClutterBackend *backend; + /* the object holding all the stage instances */ + ClutterStageManager *stage_manager; + /* the main event queue */ GQueue *events_queue; diff --git a/clutter/clutter-stage-manager.c b/clutter/clutter-stage-manager.c index 26e58ccd9..a6005944f 100644 --- a/clutter/clutter-stage-manager.c +++ b/clutter/clutter-stage-manager.c @@ -178,12 +178,12 @@ clutter_stage_manager_init (ClutterStageManager *stage_manager) ClutterStageManager * clutter_stage_manager_get_default (void) { - static ClutterStageManager *stage_manager = NULL; + ClutterMainContext *context = _clutter_context_get_default (); - if (G_UNLIKELY (stage_manager == NULL)) - stage_manager = g_object_new (CLUTTER_TYPE_STAGE_MANAGER, NULL); + if (G_UNLIKELY (context->stage_manager == NULL)) + context->stage_manager = g_object_new (CLUTTER_TYPE_STAGE_MANAGER, NULL); - return stage_manager; + return context->stage_manager; } /** |