Clean up the backend creation
Move it to its own function.
This commit is contained in:
parent
3987db1659
commit
98c177def5
@ -1313,46 +1313,40 @@ _clutter_context_is_initialized (void)
|
|||||||
return ClutterCntx->is_initialized;
|
return ClutterCntx->is_initialized;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline ClutterMainContext *
|
static ClutterBackend *
|
||||||
clutter_context_get_default_unlocked (void)
|
clutter_create_backend (void)
|
||||||
{
|
{
|
||||||
if (G_UNLIKELY (ClutterCntx == NULL))
|
const char *backend = g_getenv ("CLUTTER_BACKEND");
|
||||||
{
|
ClutterBackend *retval = NULL;
|
||||||
ClutterMainContext *ctx;
|
|
||||||
const char *backend;
|
|
||||||
|
|
||||||
ClutterCntx = ctx = g_new0 (ClutterMainContext, 1);
|
|
||||||
|
|
||||||
backend = g_getenv ("CLUTTER_BACKEND");
|
|
||||||
|
|
||||||
#ifdef CLUTTER_WINDOWING_OSX
|
#ifdef CLUTTER_WINDOWING_OSX
|
||||||
if (backend == NULL || strcmp (backend, CLUTTER_OSX_BACKEND) == 0)
|
if (backend == NULL || strcmp (backend, CLUTTER_OSX_BACKEND) == 0)
|
||||||
ctx->backend = g_object_new (CLUTTER_TYPE_BACKEND_OSX, NULL);
|
retval = g_object_new (CLUTTER_TYPE_BACKEND_OSX, NULL);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
#ifdef CLUTTER_WINDOWING_WIN32
|
#ifdef CLUTTER_WINDOWING_WIN32
|
||||||
if (backend == NULL || strcmp (backend, CLUTTER_WIN32_BACKEND) == 0)
|
if (backend == NULL || strcmp (backend, CLUTTER_WIN32_BACKEND) == 0)
|
||||||
ctx->backend = g_object_new (CLUTTER_TYPE_BACKEND_WIN32, NULL);
|
retval = g_object_new (CLUTTER_TYPE_BACKEND_WIN32, NULL);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
#ifdef CLUTTER_WINDOWING_WAYLAND
|
#ifdef CLUTTER_WINDOWING_WAYLAND
|
||||||
if (backend == NULL || strcmp (backend, CLUTTER_WAYLAND_BACKEND) == 0)
|
if (backend == NULL || strcmp (backend, CLUTTER_WAYLAND_BACKEND) == 0)
|
||||||
ctx->backend = g_object_new (CLUTTER_TYPE_BACKEND_WAYLAND, NULL);
|
retval = g_object_new (CLUTTER_TYPE_BACKEND_WAYLAND, NULL);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
#ifdef CLUTTER_WINDOWING_EGL
|
#ifdef CLUTTER_WINDOWING_EGL
|
||||||
if (backend == NULL || strcmp (backend, CLUTTER_EGL_NATIVE_BACKEND) == 0)
|
if (backend == NULL || strcmp (backend, CLUTTER_EGL_NATIVE_BACKEND) == 0)
|
||||||
ctx->backend = g_object_new (CLUTTER_TYPE_BACKEND_EGL_NATIVE, NULL);
|
retval = g_object_new (CLUTTER_TYPE_BACKEND_EGL_NATIVE, NULL);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
#ifdef CLUTTER_WINDOWING_X11
|
#ifdef CLUTTER_WINDOWING_X11
|
||||||
if (backend == NULL || strcmp (backend, CLUTTER_X11_BACKEND) == 0)
|
if (backend == NULL || strcmp (backend, CLUTTER_X11_BACKEND) == 0)
|
||||||
ctx->backend = g_object_new (CLUTTER_TYPE_BACKEND_X11, NULL);
|
retval = g_object_new (CLUTTER_TYPE_BACKEND_X11, NULL);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
#ifdef CLUTTER_WINDOWING_GDK
|
#ifdef CLUTTER_WINDOWING_GDK
|
||||||
if (backend == NULL || strcmp (backend, CLUTTER_GDK_BACKEND) == 0)
|
if (backend == NULL || strcmp (backend, CLUTTER_GDK_BACKEND) == 0)
|
||||||
ctx->backend = g_object_new (CLUTTER_TYPE_BACKEND_GDK, NULL);
|
retval = g_object_new (CLUTTER_TYPE_BACKEND_GDK, NULL);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
if (backend != NULL)
|
if (backend != NULL)
|
||||||
@ -1360,8 +1354,26 @@ clutter_context_get_default_unlocked (void)
|
|||||||
else
|
else
|
||||||
g_error ("No default Clutter backend found.");
|
g_error ("No default Clutter backend found.");
|
||||||
|
|
||||||
|
CLUTTER_NOTE (BACKEND, "Backend type: '%s' (requested: '%s')",
|
||||||
|
G_OBJECT_TYPE_NAME (retval),
|
||||||
|
backend != NULL ? backend : "<default>");
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
static ClutterMainContext *
|
||||||
|
clutter_context_get_default_unlocked (void)
|
||||||
|
{
|
||||||
|
if (G_UNLIKELY (ClutterCntx == NULL))
|
||||||
|
{
|
||||||
|
ClutterMainContext *ctx;
|
||||||
|
|
||||||
|
ClutterCntx = ctx = g_new0 (ClutterMainContext, 1);
|
||||||
|
|
||||||
ctx->is_initialized = FALSE;
|
ctx->is_initialized = FALSE;
|
||||||
ctx->motion_events_per_actor = TRUE;
|
|
||||||
|
/* create the windowing system backend */
|
||||||
|
ctx->backend = clutter_create_backend ();
|
||||||
|
|
||||||
/* create the default settings object, and store a back pointer to
|
/* create the default settings object, and store a back pointer to
|
||||||
* the backend singleton
|
* the backend singleton
|
||||||
@ -1374,11 +1386,8 @@ clutter_context_get_default_unlocked (void)
|
|||||||
g_timer_start (ctx->timer);
|
g_timer_start (ctx->timer);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
ctx->motion_events_per_actor = TRUE;
|
||||||
ctx->last_repaint_id = 1;
|
ctx->last_repaint_id = 1;
|
||||||
|
|
||||||
CLUTTER_NOTE (BACKEND, "Backend type: '%s' (requested: '%s')",
|
|
||||||
G_OBJECT_TYPE_NAME (ctx->backend),
|
|
||||||
backend != NULL ? backend : "<default>");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ClutterCntx;
|
return ClutterCntx;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user