summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorTifaine Inguere <tifaine.inguere@st.com>2014-07-24 16:53:53 +0200
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2014-10-11 17:18:29 +0200
commit4395c02b9634b353d57a630db69b188394bb148b (patch)
tree8e7d29f32477e82bfed5514b32bc0fb107e7b2fe /ext
parent3058fe8d98d975e9199b694f383ed9c93cb71aa0 (diff)
downloadgstreamer-plugins-bad-4395c02b9634b353d57a630db69b188394bb148b.tar.gz
waylandsink : Allow surface to catch input events
If waylandsink is the owner of the display then it is in charge of catching input events on the surface. https://bugzilla.gnome.org/show_bug.cgi?id=733682 Signed-off-by: Tifaine Inguere <tifaine.inguere@st.com> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Diffstat (limited to 'ext')
-rw-r--r--ext/wayland/wlwindow.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c
index a4da2c662..ab7eddabb 100644
--- a/ext/wayland/wlwindow.c
+++ b/ext/wayland/wlwindow.c
@@ -252,6 +252,15 @@ gst_wl_window_resize_video_surface (GstWlWindow * window, gboolean commit)
wl_surface_commit (window->video_surface);
}
+ 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->surface_width = res.w;
window->surface_height = res.h;