set null input regions for surfaces upon calling set_cursor or start_drag

these surfaces have no input region according to spec
This commit is contained in:
Mike Blumenkrantz 2017-10-18 11:41:04 -04:00
parent d15c72417c
commit 2afb298b75
2 changed files with 14 additions and 0 deletions

View File

@ -647,6 +647,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)

View File

@ -85,6 +85,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;