window->video_surface);
}
- /* do not accept input */
- region = wl_compositor_create_region (display->compositor);
- wl_surface_set_input_region (window->area_surface, region);
- wl_region_destroy (region);
-
+ /* never accept input events on the video surface */
region = wl_compositor_create_region (display->compositor);
wl_surface_set_input_region (window->video_surface, region);
wl_region_destroy (region);
struct wl_surface * parent, GMutex * render_lock)
{
GstWlWindow *window;
+ struct wl_region *region;
window = gst_wl_window_new_internal (display, render_lock);
+ /* do not accept input events on the area surface when embedded */
+ region = wl_compositor_create_region (display->compositor);
+ wl_surface_set_input_region (window->area_surface, region);
+ wl_region_destroy (region);
+
/* embed in parent */
window->area_subsurface =
wl_subcompositor_get_subsurface (display->subcompositor,
wl_surface_commit (window->video_surface_wrapper);
}
- if (gst_wl_window_is_toplevel (window)) {
- struct wl_region *region;
-
- region = wl_compositor_create_region (window->display->compositor);
- wl_region_add (region, 0, 0, window->render_rectangle.w,
- window->render_rectangle.h);
- wl_surface_set_input_region (window->area_surface, region);
- wl_region_destroy (region);
- }
-
/* this is saved for use in wl_surface_damage */
window->video_rectangle = res;
}