Introduce MetaContext
MetaContext
aims to provide a single entry point to a "Mutter context". It takes ownership of things like MetaBackend
, MetaDisplay
, MetaWaylandCompositor
, and probably more in the future.
It also takes over the responsibility for creating, setting up, running and terminating a context.
A "test" context is also introduced, that tries to take care of some of the test case boiler plate and test related features.
A couple of things that probably needs to change before landing:
-
Explicit tear down. It currently relies on reference counting reaching zero; that's unreliable with GC:ed languages. -
...
Marked as WIP due to the above, but it also contains !1833 (merged), !1859 (merged) and !1863 (merged).
Edited by Jonas Ådahl