Skip to content
Snippets Groups Projects
Commit 8130fa08 authored by Olivier Fourdan's avatar Olivier Fourdan :tools:
Browse files

xwayland: Check for pointer in xwl_seat_leave_ptr()

Since commit 792758fa ("xwayland: Update lost focus on deactivation"),
in rootful mode, if we receive an "activated" state from xdg-shell
indicating that the surface is no longer active, we shall end up calling
xwl_seat_leave_ptr().

But xwl_seat_leave_ptr() does not actually check whether the seat has
pointer capabilities, and if not, get_pointer_device() will return NULL.

As a result, we would crash using a NULL pointer in GetMaster(). This
typically can happen when using Xwayland rootful on headless compositors
such as "cage" which do not advertise any capabilities for the seat.

To avoid the issue, simply check whether get_pointer_device() returns a
valid non-null device and bail out early otherwise.

Fixes: 792758fa - xwayland: Update lost focus on deactivation
Closes: #1700


Signed-off-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
(cherry picked from commit 72036261)

Part-of: <!1592>
parent 38060228
No related branches found
No related tags found
1 merge request!1592[Backport to Xwayland 24.1] xwayland: Check for pointer in xwl_seat_leave_ptr()
Checking pipeline status
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment