vaapisink: don't mask button events for foreign windows

Don't subscribe to button press events when using a foreing window,
because the user created window would trap those events, preveting the
show of frames.

https://bugzilla.gnome.org/show_bug.cgi?id=791615
This commit is contained in:
VaL Doroshchuk 2018-02-02 08:54:00 +00:00 committed by Víctor Manuel Jáquez Leal
parent 58043ff62c
commit 76dbc3e971

View file

@ -448,9 +448,11 @@ gst_vaapisink_x11_pre_start_event_thread (GstVaapiSink * sink)
{ {
GstVaapiDisplayX11 *const display = GstVaapiDisplayX11 *const display =
GST_VAAPI_DISPLAY_X11 (GST_VAAPI_PLUGIN_BASE_DISPLAY (sink)); GST_VAAPI_DISPLAY_X11 (GST_VAAPI_PLUGIN_BASE_DISPLAY (sink));
static const int x11_event_mask = (KeyPressMask | KeyReleaseMask | int x11_event_mask = (KeyPressMask | KeyReleaseMask |
ButtonPressMask | ButtonReleaseMask | PointerMotionMask | PointerMotionMask | ExposureMask | StructureNotifyMask);
ExposureMask | StructureNotifyMask);
if (!sink->foreign_window)
x11_event_mask |= ButtonPressMask | ButtonReleaseMask;
if (sink->window) { if (sink->window) {
gst_vaapi_display_lock (GST_VAAPI_DISPLAY (display)); gst_vaapi_display_lock (GST_VAAPI_DISPLAY (display));