struct ds_surface *ds_surface = surface->ds_surface;
E_Client *ec = surface->ec;
Eina_Tiler *region;
+ pixman_region32_t infinite_region;
- if (pixman_region32_not_empty(&ds_surface->current.input))
+ pixman_region32_init_rect(&infinite_region, INT32_MIN, INT32_MIN, UINT32_MAX, UINT32_MAX);
+ if (pixman_region32_equal(&ds_surface->current.input, &infinite_region))
{
- region = _tiler_new_from_pixman_region(&ds_surface->current.input);
- if (!region)
- return;
-
- e_comp_wl_client_surface_pending_input_region_set(ec, region);
-
- eina_tiler_free(region);
+ e_comp_wl_client_surface_pending_input_region_set(ec, NULL);
}
else
{
- e_comp_wl_client_surface_pending_input_region_set(ec, NULL);
+ region = _tiler_new_from_pixman_region(&ds_surface->current.input);
+ if (region)
+ {
+ e_comp_wl_client_surface_pending_input_region_set(ec, region);
+ eina_tiler_free(region);
+ }
}
}