On 05/02/16 03:36 PM, Benoit Gschwind wrote: > > > Le 05/02/2016 22:18, Pekka Paalanen a écrit : >> On Fri, 5 Feb 2016 09:15:13 -0600 >> Derek Foreman <[email protected]> wrote: >> >>> When the cursor plane is disabled the kernel can lose its location. >>> If we don't update our internal idea of where the plane is at that time, >>> the next time we set a cursor it can show up at 0,0. >>> >>> This can show up when an application is put in the cursor plane, removed >>> from the plane, then put back at the same location. It might show up at >>> 0,0 when it's reinstated. >>> >>> We now use INT32_MIN as a location for disabled cursors so enabling the >>> plane will always cause an update. >>> >>> Reviewed-by: Pekka Paalanen <[email protected]> >>> Signed-off-by: Derek Foreman <[email protected]> >>> --- >>> Change from v1: >>> Use INT32_MIN instead of 0 >>> init cursor_plane values in create_output_for_connector >>> >>> >>> src/compositor-drm.c | 5 +++++ >>> 1 file changed, 5 insertions(+) >>> >>> diff --git a/src/compositor-drm.c b/src/compositor-drm.c >>> index 8b9882e..4e4368c 100644 >>> --- a/src/compositor-drm.c >>> +++ b/src/compositor-drm.c >>> @@ -1174,6 +1174,8 @@ drm_output_set_cursor(struct drm_output *output) >>> output->cursor_view = NULL; >>> if (ev == NULL) { >>> drmModeSetCursor(b->drm.fd, output->crtc_id, 0, 0, 0); >>> + output->cursor_plane.x = INT32_MIN; >>> + output->cursor_plane.y = INT32_MIN; >>> return; >>> } >>> >>> @@ -2312,6 +2314,9 @@ create_output_for_connector(struct drm_backend *b, >>> if (output == NULL) >>> return -1; >>> >>> + output->cursor_plane.x = INT32_MIN; >>> + output->cursor_plane.y = INT32_MIN; >>> + >>> output->base.subpixel = >>> drm_subpixel_to_wayland(connector->subpixel); >>> output->base.name = make_connector_name(connector); >>> output->base.make = "unknown"; >> >> Hi, >> >> this latter should be in the weston_plane_init() call arguments, >> here it just gets overwritten with 0. It's almost at the end of the >> function.
Ugh, yeah, you're right. v3 coming.... >> >> Thanks, >> pq >> >> >> >> _______________________________________________ >> wayland-devel mailing list >> [email protected] >> http://lists.freedesktop.org/mailman/listinfo/wayland-devel >> > > Hi, > > INT32_MIN may be confusing, is it -2147483648 ? Yup. What's wrong with that? It should be a good value that will never be a sensible real cursor plane position. > maybe INT32_BASE ? What's INT32_BASE? > Best regards. _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
