aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/backend.c2
-rw-r--r--backend/drm/atomic.c4
-rw-r--r--backend/wayland/backend.c4
3 files changed, 7 insertions, 3 deletions
diff --git a/backend/backend.c b/backend/backend.c
index 6b32bc6a..54e1cdca 100644
--- a/backend/backend.c
+++ b/backend/backend.c
@@ -53,7 +53,7 @@ struct wlr_egl *wlr_backend_get_egl(struct wlr_backend *backend) {
}
static struct wlr_backend *attempt_wl_backend(struct wl_display *display) {
- struct wlr_backend *backend = wlr_wl_backend_create(display);
+ struct wlr_backend *backend = wlr_wl_backend_create(display, NULL);
if (backend) {
int outputs = 1;
const char *_outputs = getenv("WLR_WL_OUTPUTS");
diff --git a/backend/drm/atomic.c b/backend/drm/atomic.c
index e7374a00..64fae6e4 100644
--- a/backend/drm/atomic.c
+++ b/backend/drm/atomic.c
@@ -167,6 +167,10 @@ bool legacy_crtc_move_cursor(struct wlr_drm_backend *drm,
static bool atomic_crtc_move_cursor(struct wlr_drm_backend *drm,
struct wlr_drm_crtc *crtc, int x, int y) {
+ if (!crtc || !crtc->cursor) {
+ return true;
+ }
+
struct wlr_drm_plane *plane = crtc->cursor;
// We can't use atomic operations on fake planes
if (plane->id == 0) {
diff --git a/backend/wayland/backend.c b/backend/wayland/backend.c
index 36fbd8e0..32fdc2b6 100644
--- a/backend/wayland/backend.c
+++ b/backend/wayland/backend.c
@@ -158,7 +158,7 @@ static void handle_display_destroy(struct wl_listener *listener, void *data) {
wlr_wl_backend_destroy(&backend->backend);
}
-struct wlr_backend *wlr_wl_backend_create(struct wl_display *display) {
+struct wlr_backend *wlr_wl_backend_create(struct wl_display *display, const char *remote) {
wlr_log(L_INFO, "Creating wayland backend");
struct wlr_wl_backend *backend = calloc(1, sizeof(struct wlr_wl_backend));
@@ -173,7 +173,7 @@ struct wlr_backend *wlr_wl_backend_create(struct wl_display *display) {
backend->local_display = display;
- backend->remote_display = wl_display_connect(NULL);
+ backend->remote_display = wl_display_connect(remote);
if (!backend->remote_display) {
wlr_log_errno(L_ERROR, "Could not connect to remote display");
return false;