diff options
-rw-r--r-- | backend/drm/drm.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/backend/drm/drm.c b/backend/drm/drm.c index a3594bb0..27a8490c 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -503,13 +503,6 @@ static bool wlr_drm_connector_set_cursor(struct wlr_output *output, struct wlr_drm_crtc *crtc = conn->crtc; struct wlr_drm_plane *plane = crtc->cursor; - 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) { plane = calloc(1, sizeof(*plane)); @@ -520,6 +513,13 @@ static bool wlr_drm_connector_set_cursor(struct wlr_output *output, crtc->cursor = plane; } + if (!buf && update_pixels) { + // Hide the cursor + plane->cursor_enabled = false; + return drm->iface->crtc_set_cursor(drm, crtc, NULL); + } + plane->cursor_enabled = true; + if (!plane->surf.gbm) { int ret; uint64_t w, h; |