mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 15:40:41 -05:00
wayland: Initialize in a single step
Before we first created the MetaWaylandCompositor instance, which would repare Clutter/Cogl so they could initialize and turn on Wayland display server features, then later to initialize the rest. Now that part is done by the Wayland infrastructure itself, so we don't need the early initialization. Simplify things a bit by centralizing it all into a single meta_wayland_compositor_new() call. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1861>
This commit is contained in:
parent
0330ce1f15
commit
d3b7d8df0d
@ -317,10 +317,6 @@ meta_context_setup (MetaContext *context,
|
||||
|
||||
init_introspection (context);
|
||||
|
||||
#ifdef HAVE_WAYLAND
|
||||
priv->wayland_compositor = meta_wayland_compositor_new (context);
|
||||
#endif
|
||||
|
||||
return META_CONTEXT_GET_CLASS (context)->setup (context, error);
|
||||
}
|
||||
|
||||
@ -335,7 +331,7 @@ meta_context_start (MetaContext *context,
|
||||
#ifdef HAVE_WAYLAND
|
||||
if (meta_context_get_compositor_type (context) ==
|
||||
META_COMPOSITOR_TYPE_WAYLAND)
|
||||
meta_wayland_compositor_setup (priv->wayland_compositor);
|
||||
priv->wayland_compositor = meta_wayland_compositor_new (context);
|
||||
#endif
|
||||
|
||||
priv->display = meta_display_new (context, error);
|
||||
|
@ -481,17 +481,6 @@ meta_wayland_get_xwayland_auth_file (MetaWaylandCompositor *compositor)
|
||||
return compositor->xwayland_manager.auth_file;
|
||||
}
|
||||
|
||||
MetaWaylandCompositor *
|
||||
meta_wayland_compositor_new (MetaContext *context)
|
||||
{
|
||||
MetaWaylandCompositor *compositor;
|
||||
|
||||
compositor = g_object_new (META_TYPE_WAYLAND_COMPOSITOR, NULL);
|
||||
compositor->context = context;
|
||||
|
||||
return compositor;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_wayland_init_egl (MetaWaylandCompositor *compositor)
|
||||
{
|
||||
@ -522,13 +511,17 @@ meta_wayland_init_egl (MetaWaylandCompositor *compositor)
|
||||
g_warning ("Failed to bind Wayland display: %s", error->message);
|
||||
}
|
||||
|
||||
void
|
||||
meta_wayland_compositor_setup (MetaWaylandCompositor *compositor)
|
||||
MetaWaylandCompositor *
|
||||
meta_wayland_compositor_new (MetaContext *context)
|
||||
{
|
||||
MetaBackend *backend = meta_context_get_backend (compositor->context);
|
||||
MetaBackend *backend = meta_context_get_backend (context);
|
||||
ClutterActor *stage = meta_backend_get_stage (backend);
|
||||
MetaWaylandCompositor *compositor;
|
||||
GSource *wayland_event_source;
|
||||
|
||||
compositor = g_object_new (META_TYPE_WAYLAND_COMPOSITOR, NULL);
|
||||
compositor->context = context;
|
||||
|
||||
wayland_event_source = wayland_event_source_new (compositor->wayland_display);
|
||||
|
||||
/* XXX: Here we are setting the wayland event source to have a
|
||||
@ -624,6 +617,8 @@ meta_wayland_compositor_setup (MetaWaylandCompositor *compositor)
|
||||
}
|
||||
|
||||
set_gnome_env ("WAYLAND_DISPLAY", meta_wayland_get_wayland_display_name (compositor));
|
||||
|
||||
return compositor;
|
||||
}
|
||||
|
||||
const char *
|
||||
|
@ -34,8 +34,6 @@ void meta_wayland_override_display_name (const char *display_
|
||||
|
||||
MetaWaylandCompositor * meta_wayland_compositor_new (MetaContext *context);
|
||||
|
||||
void meta_wayland_compositor_setup (MetaWaylandCompositor *compositor);
|
||||
|
||||
void meta_wayland_compositor_prepare_shutdown (MetaWaylandCompositor *compositor);
|
||||
|
||||
META_EXPORT_TEST
|
||||
|
Loading…
Reference in New Issue
Block a user