recalculate cursor projection matrix on set_cursor

Updates the projection matrix for the cursor plane in the DRM backend,
when the cursor is set, so new cursor are uploaded with the correct
transformation.
This commit is contained in:
Markus Ongyerth 2018-05-16 15:14:57 +02:00
parent 027ead2de7
commit 6a46fcc6f2

View File

@ -581,11 +581,11 @@ static bool drm_connector_set_cursor(struct wlr_output *output,
wlr_log_errno(L_ERROR, "Failed to create cursor bo"); wlr_log_errno(L_ERROR, "Failed to create cursor bo");
return false; return false;
} }
wlr_matrix_projection(plane->matrix, plane->surf.width,
plane->surf.height, output->transform);
} }
wlr_matrix_projection(plane->matrix, plane->surf.width,
plane->surf.height, output->transform);
struct wlr_box hotspot = { .x = hotspot_x, .y = hotspot_y }; struct wlr_box hotspot = { .x = hotspot_x, .y = hotspot_y };
wlr_box_transform(&hotspot, wlr_output_transform_invert(output->transform), wlr_box_transform(&hotspot, wlr_output_transform_invert(output->transform),
plane->surf.width, plane->surf.height, &hotspot); plane->surf.width, plane->surf.height, &hotspot);