backend/wayland: tag wl_surface

When integrating wlroots with another toolkit, wlroots may receive
wl_pointer.enter events for surfaces not backed by a wlr_output.
Ignore such surfaces by tagging the ones we're aware of with
wl_proxy_set_tag().
This commit is contained in:
Simon Ser 2023-06-14 18:16:44 +02:00
parent dd24991c9e
commit 4f88886199
4 changed files with 32 additions and 5 deletions

View file

@ -504,8 +504,13 @@ static void handle_tablet_tool_proximity_in(void *data,
struct tablet_tool *tool = data;
assert(tablet_id == tool->seat->zwp_tablet_v2);
struct wlr_wl_output *output = get_wl_output_from_surface(tool->seat->backend, surface);
if (output == NULL) {
return;
}
tool->is_in = true;
tool->output = wl_surface_get_user_data(surface);
tool->output = output;
}
static void handle_tablet_tool_proximity_out(void *data,