Skip to content

Moved session into backend/session and changed ownership

Simon Ser requested to merge github/fork/ascent12/session into master

Created by: ascent12

The session stuff is tied very closely to the DRM/libinput backend, so it didn't really make sense for it to be sitting at the top level of project. I moved it into backend/, where it can live alongside other similar things like wlr_udev (also very DRM/libinput specific).

Also, the user no longer needs to pass a wlr_session to wlr_backend_autocreate: it will create one on its own. The multi backend has been modified to accept a wlr_session and a wlr_udev. It takes "ownership" of them, and will clean them up properly when it is destroyed (previously, we leaked the wlr_udev). If the multi backend is ever used for something that doesn't need a wlr_session/wlr_udev, it's perfectly safe to just pass it NULL.

This fixes the broken session issue I outlined in #28. Again, the build system code is not committed. I'll wait for #27.

Currently, this breaks the ability to change VT in the examples, because the user doesn't have access to the wlr_session any more. We need to decide how the VT changing function and how the other backend-specific functions are going to look.

Merge request reports