input: check if the focus surface has a valid resource
the resource can be NULL in some cases, like when the focus is taken by the black_surface used in shell.c as fullscreen background.
This commit is contained in:
committed by
Kristian Høgsberg
parent
c0b9487937
commit
1fd4b01d10
@@ -1110,6 +1110,11 @@ pointer_set_cursor(struct wl_client *client, struct wl_resource *resource,
|
|||||||
|
|
||||||
if (pointer->focus == NULL)
|
if (pointer->focus == NULL)
|
||||||
return;
|
return;
|
||||||
|
/* pointer->focus->resource can be NULL. Surfaces like the
|
||||||
|
black_surface used in shell.c for fullscreen don't have
|
||||||
|
a resource, but can still have focus */
|
||||||
|
if (pointer->focus->resource == NULL)
|
||||||
|
return;
|
||||||
if (wl_resource_get_client(pointer->focus->resource) != client)
|
if (wl_resource_get_client(pointer->focus->resource) != client)
|
||||||
return;
|
return;
|
||||||
if (pointer->focus_serial - serial > UINT32_MAX / 2)
|
if (pointer->focus_serial - serial > UINT32_MAX / 2)
|
||||||
|
|||||||
Reference in New Issue
Block a user