Skip to content

waylandsink: Fix wrong input region requests with weston

JeffyChen requested to merge (removed):input into master

Hi guys,

Found the input regions not working after we convert the empty regions to NULL in: 68fa80e8 waylandsink: Don't create throwaway empty regions

The reason is that the weston only expects empty input region as a request to disable input, and NULL input region would be converted to infinite:

static void
surface_set_input_region(struct wl_client *client,
             struct wl_resource *resource,
             struct wl_resource *region_resource)
{
    struct weston_surface *surface = wl_resource_get_user_data(resource);
    struct weston_region *region;

    if (region_resource) {
        region = wl_resource_get_user_data(region_resource);
        pixman_region32_copy(&surface->pending.input,
                     &region->region);
    } else {
        pixman_region32_fini(&surface->pending.input);
        region_init_infinite(&surface->pending.input); <---- check here
    }
}
Edited by GStreamer Release Monkey

Merge request reports