• Jonas Ådahl's avatar
    backend: Set up and use ownership chains · c390f70e
    Jonas Ådahl authored and Marge Bot's avatar Marge Bot committed
    This means objects have an owner, where the chain eventually always
    leads to a MetaContext. This also means that all objects can find their
    way to other object instances via the chain, instead of scattered global
    This is a squashed commit originally containing the following:
    cursor-tracker: Don't get backend from singleton
    idle-manager: Don't get backend from singleton
    input-device: Pass pointer to backend during construction
    The backend is needed during construction to get the wacom database.
    input-mapper: Pass backend when constructing
    monitor: Don't get backend from singleton
    monitor-manager: Get backend directly from monitor manager
    remote: Get backend from manager class
    For the remote desktop and screen cast implementations, replace getting
    the backend from singletons with getting it via the manager classes.
    launcher: Pass backend during construction
    device-pool: Pass backend during construction
    Instead of passing the (maybe null) launcher, pass the backend, and get
    the launcher from there. That way we always have a way to some known
    context from the device pool.
    drm-buffer/gbm: Get backend via device pool
    cursor-renderer: Get backend directly from renderer
    input-device: Get backend getter
    input-settings: Add backend construct property and getter
    input-settings/x11: Don't get backend from singleton
    renderer: Get backend from renderer itself
    seat-impl: Add backend getter
    seat/native: Get backend from instance struct
    stage-impl: Get backend from stage impl itself
    x11/xkb-a11y: Don't get backend from singleton
    backend/x11/nested: Don't get Wayland compositor from singleton
    crtc: Add backend property
    Adding a link to the GPU isn't enough; the virtual CRTCs of virtual
    monitors doesn't have one.
    cursor-tracker: Don't get display from singleton
    remote: Don't get display from singleton
    seat: Don't get display from singleton
    backend/x11: Don't get display from singleton
    Part-of: <!2718>