diff options
author | emersion <contact@emersion.fr> | 2017-10-26 18:58:44 +0200 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2017-10-26 18:58:44 +0200 |
commit | 9d587d759f45fac9bad49b7d1de8a45c4d56d652 (patch) | |
tree | cdc6484ce5dbfbc530afc454f315efb919bc5e69 /backend | |
parent | b3eec47d57514390de6c934090cebb1c44068594 (diff) |
Do not set hw cursor if disabled when switching VT
Diffstat (limited to 'backend')
-rw-r--r-- | backend/drm/backend.c | 2 | ||||
-rw-r--r-- | backend/drm/drm.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/backend/drm/backend.c b/backend/drm/backend.c index 40b559e2..af2619ff 100644 --- a/backend/drm/backend.c +++ b/backend/drm/backend.c @@ -76,7 +76,7 @@ static void session_signal(struct wl_listener *listener, void *data) { struct wlr_drm_plane *plane = conn->crtc->cursor; drm->iface->crtc_set_cursor(drm, conn->crtc, - plane ? plane->cursor_bo : NULL); + (plane && plane->cursor_enabled) ? plane->cursor_bo : NULL); } } else { wlr_log(L_INFO, "DRM fd paused"); diff --git a/backend/drm/drm.c b/backend/drm/drm.c index 441ba24e..a3594bb0 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -505,8 +505,10 @@ static bool wlr_drm_connector_set_cursor(struct wlr_output *output, if (!buf && update_pixels) { // Hide the cursor + plane->cursor_enabled = false; return drm->iface->crtc_set_cursor(drm, crtc, NULL); } + plane->cursor_enabled = true; // We don't have a real cursor plane, so we make a fake one if (!plane) { |