forked from enlightenment/enlightenment
track the current pointer focus client in wayland compositor
This commit is contained in:
parent
acf5d09796
commit
e5678549da
|
@ -163,6 +163,7 @@ _e_comp_wl_evas_cb_mouse_in(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj
|
|||
|
||||
if (!ec->comp_data->surface) return;
|
||||
|
||||
e_comp->wl_comp_data->ptr.ec = ec;
|
||||
if (!eina_list_count(e_comp->wl_comp_data->ptr.resources)) return;
|
||||
|
||||
wc = wl_resource_get_client(ec->comp_data->surface);
|
||||
|
@ -196,6 +197,8 @@ _e_comp_wl_evas_cb_mouse_out(void *data, Evas *evas EINA_UNUSED, Evas_Object *ob
|
|||
if (e_comp->pointer->o_ptr != o)
|
||||
e_pointer_object_set(e_comp->pointer, NULL, 0, 0);
|
||||
}
|
||||
if (e_comp->wl_comp_data->ptr.ec == ec)
|
||||
e_comp->wl_comp_data->ptr.ec = NULL;
|
||||
if (e_object_is_del(E_OBJECT(ec))) return;
|
||||
|
||||
if (!ec->comp_data->surface) return;
|
||||
|
|
|
@ -159,10 +159,11 @@ struct _E_Comp_Wl_Data
|
|||
struct
|
||||
{
|
||||
Eina_List *resources;
|
||||
Eina_Bool enabled : 1;
|
||||
wl_fixed_t x, y;
|
||||
wl_fixed_t grab_x, grab_y;
|
||||
uint32_t button;
|
||||
E_Client *ec;
|
||||
Eina_Bool enabled : 1;
|
||||
} ptr;
|
||||
|
||||
struct
|
||||
|
|
Loading…
Reference in New Issue