_e_comp_wl_input_cb_pointer_constraints_surface_committed(struct wl_listener *listener,
void *data)
{
- E_Client *ec = (E_Client *)data;
+ E_Client *ec;
E_Comp_Wl_Pointer_Constraint *constraint = container_of(listener,
E_Comp_Wl_Pointer_Constraint,
surface_commit_listener);
int new_x, new_y;;
- if (ec != constraint->ec)
- return;
+ if (!(ec = constraint->ec)) return;
if (constraint->is_hint_pending)
{
wl_signal_add(&comp_wl->ptr_constraints.pointer_destroy_signal,
&constraint->pointer_destroy_listener);
- wl_signal_add(&comp_wl->ptr_constraints.surface_commit_signal,
- &constraint->surface_commit_listener);
wl_signal_add(&comp_wl->ptr_constraints.surface_mousein_signal,
&constraint->surface_mousein_listener);
wl_signal_add(&comp_wl->ptr_constraints.surface_mouseout_signal,
&constraint->surface_mouseout_listener);
wl_list_init(&constraint->surface_unmap_listener.link);
+ e_surface_commit_listener_add(e_surface_try_from_ec(ec),
+ &constraint->surface_commit_listener);
+
return constraint;
}
NULL, _e_comp_wl_input_cb_unbind_pointer_constraints);
}
-static void
-_e_comp_wl_input_cb_surface_commit(void *data EINA_UNUSED, E_Client *ec)
-{
- E_Comp_Wl_Data *comp_wl = e_comp_wl_get();
-
- wl_signal_emit(&comp_wl->ptr_constraints.surface_commit_signal, ec);
-}
-
static void
_e_comp_wl_input_keymap_cache_create(const char *keymap_path, char *keymap_data)
{
comp_wl->ptr_constraints.activated = EINA_FALSE;
wl_signal_init(&comp_wl->ptr_constraints.pointer_destroy_signal);
wl_signal_init(&comp_wl->ptr_constraints.surface_unmap_signal);
- wl_signal_init(&comp_wl->ptr_constraints.surface_commit_signal);
wl_signal_init(&comp_wl->ptr_constraints.surface_mousein_signal);
wl_signal_init(&comp_wl->ptr_constraints.surface_mouseout_signal);
- _surface_commit_hook = e_comp_wl_hook_add(E_COMP_WL_HOOK_CLIENT_SURFACE_COMMIT,
- _e_comp_wl_input_cb_surface_commit,
- NULL);
-
wl_array_init(&e_comp_input_key->kbd.keys);
wl_array_init(&e_comp_input_key->kbd.routed_keys);
Eina_Bool activated : 1;
struct wl_signal pointer_destroy_signal;
struct wl_signal surface_unmap_signal;
- struct wl_signal surface_commit_signal;
+ E_DEPRECATED struct wl_signal surface_commit_signal;
struct wl_signal surface_mousein_signal;
struct wl_signal surface_mouseout_signal;
struct wl_global *global;
struct
{
- Eina_List *resources;
- E_DEPRECATED Eina_Bool enabled : 1;
- E_DEPRECATED unsigned int num_devices;
+ E_DEPRECATED Eina_List *resources;
+ E_DEPRECATED Eina_Bool enabled : 1;
+ E_DEPRECATED unsigned int num_devices;
unsigned int pressed;
E_Client *faked_ec;
E_Client *frame_ec;