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.
This commit is contained in:
parent
e7720c4156
commit
f1ebfe30ce
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user