[Wayland-bugs] [Bug 73711] Invalid user data pointer passed to "pointer_handle_enter"
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Jan 31 05:35:47 PST 2014
https://bugs.freedesktop.org/show_bug.cgi?id=73711
--- Comment #9 from Ander Conselvan de Oliveira <conselvan2 at gmail.com> ---
(In reply to comment #8)
> Thanks, the trace confirms. You never set an empty input region, so it
> defaults to the whole surface. However, the mistake is not yours.
>
> The protocol specification for wl_pointer.set_cursor says: "The current and
> pending input regions of the wl_surface are cleared, and
> wl_surface.set_input_region is ignored until the wl_surface is no longer
> used as the cursor."
>
> Therefore this is indeed a Weston bug: it should never pick the cursor
> surface into focus.
Indeed the problem is in Weston. The input region of the cursor surface is set
to empty in pointer_cursor_surface_configure(). Since during the commit process
this function is called before the pending input region is made current, it
empties surface->pending.input instead of the pending input region instead of
surface->input.
But pointer_cursor_surface_configure() is also called from pointer_set_cursor()
in order to map the cursor even if there isn't a subsequent attach and commit
to the cursor surface. In that case, surface->input is never emptied, since the
configure function emptied only the pending input region and there wasn't a
commit that made it effective.
Here's the sequence of requests that triggers the problem.
[3269633.625] -> wl_compositor at 3.create_surface(new id wl_surface at 11)
[3269633.685] -> wl_surface at 11.attach(wl_buffer at 12, 0, 0)
[3269633.704] -> wl_surface at 11.damage(0, 0, 24, 24)
[3269633.730] -> wl_surface at 11.commit()
[3269633.739] -> wl_pointer at 9.set_cursor(0, wl_surface at 11, 5, 0)
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-bugs/attachments/20140131/3ea83a9c/attachment-0001.html>
More information about the Wayland-bugs
mailing list