From b24b68df776ed3f78826587f236c10c70449aaa9 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 18 Oct 2017 11:41:04 -0400 Subject: [PATCH] set null input regions for surfaces upon calling set_cursor or start_drag these surfaces have no input region according to spec --- src/bin/e_comp_wl_data.c | 7 +++++++ src/bin/e_comp_wl_input.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c index da25d7cae..09bf4e553 100644 --- a/src/bin/e_comp_wl_data.c +++ b/src/bin/e_comp_wl_data.c @@ -654,6 +654,13 @@ _e_comp_wl_data_device_cb_drag_start(struct wl_client *client, struct wl_resourc EC_CHANGED(ec); e_comp_wl->drag_client = ec; } + if (ec->comp_data->pending.input) + eina_tiler_clear(ec->comp_data->pending.input); + else + { + ec->comp_data->pending.input = eina_tiler_new(65535, 65535); + eina_tiler_tile_size_set(ec->comp_data->pending.input, 1, 1); + } } EINA_LIST_FOREACH(e_comp_wl->ptr.resources, l, res) diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c index c3da683c2..b1d50e959 100644 --- a/src/bin/e_comp_wl_input.c +++ b/src/bin/e_comp_wl_input.c @@ -89,6 +89,13 @@ _e_comp_wl_input_pointer_cb_cursor_set(struct wl_client *client, struct wl_resou * are being processed... let's BAIL. */ if (!ec) return; + if (ec->comp_data->pending.input) + eina_tiler_clear(ec->comp_data->pending.input); + else + { + ec->comp_data->pending.input = eina_tiler_new(65535, 65535); + eina_tiler_tile_size_set(ec->comp_data->pending.input, 1, 1); + } if (!ec->re_manage) { ec->comp_data->cursor = ec->re_manage = 1;