summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2021-07-14 16:09:41 -0400
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-07-15 16:22:48 +0000
commit210cf85fdc77b91b02b02fe1449d90f91f3dd167 (patch)
tree2c94232dbf472c2fc12cde2609006ba5ec67d637
parent3e69c5546b0e77c07c10396f64fb621146b44f89 (diff)
downloadgstreamer-plugins-base-210cf85fdc77b91b02b02fe1449d90f91f3dd167.tar.gz
gl: x11: Issue XSync to close our top level window
This is similar action as when the window handle is modified, we now issue XSync whenever we destroy our internal window. This ensure that the window is properly closed before the connecgtion is dropped. Fixes #815 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1226>
-rw-r--r--gst-libs/gst/gl/x11/gstglwindow_x11.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gst-libs/gst/gl/x11/gstglwindow_x11.c b/gst-libs/gst/gl/x11/gstglwindow_x11.c
index 960d39fb8..7ee1deda3 100644
--- a/gst-libs/gst/gl/x11/gstglwindow_x11.c
+++ b/gst-libs/gst/gl/x11/gstglwindow_x11.c
@@ -271,6 +271,9 @@ gst_gl_window_x11_close (GstGLWindow * window)
XUnmapWindow (window_x11->device, window_x11->internal_win_id);
XDestroyWindow (window_x11->device, window_x11->internal_win_id);
+
+ /* Ensure everything is sent immediatly */
+ XSync (window_x11->device, FALSE);
}
XFree (window_x11->visual_info);