gl/window_x11: avoid BadDrawable error on shutdown
authorMatthew Waters <ystreet00@gmail.com>
Tue, 27 May 2014 03:04:39 +0000 (13:04 +1000)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 9 Dec 2017 19:31:41 +0000 (19:31 +0000)
gst-libs/gst/gl/x11/gstglwindow_x11.c

index 54b2094..490b27d 100644 (file)
@@ -258,9 +258,14 @@ void
 gst_gl_window_x11_close (GstGLWindow * window)
 {
   GstGLWindowX11 *window_x11 = GST_GL_WINDOW_X11 (window);
+  GstGLDisplay *display = window->display;
   XEvent event;
 
   if (window_x11->device) {
+    /* Avoid BadDrawable Errors... */
+    if (gst_gl_display_get_handle_type (display) & GST_GL_DISPLAY_TYPE_X11)
+      XSync (GST_GL_DISPLAY_X11 (display)->display, FALSE);
+
     if (window_x11->internal_win_id)
       XUnmapWindow (window_x11->device, window_x11->internal_win_id);