From b6b8f9cd8861d306633bfab78ff28f2887e020aa Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Mon, 24 Feb 2014 23:55:58 +1100 Subject: [PATCH] [893/906] x11: close both of the display's we use (the comment doesn't seem to apply anymore) https://bugzilla.gnome.org/show_bug.cgi?id=725048 --- gst-libs/gst/gl/x11/gstglwindow_x11.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/gst-libs/gst/gl/x11/gstglwindow_x11.c b/gst-libs/gst/gl/x11/gstglwindow_x11.c index 27c4fb22ff..0d68ed8eb4 100644 --- a/gst-libs/gst/gl/x11/gstglwindow_x11.c +++ b/gst-libs/gst/gl/x11/gstglwindow_x11.c @@ -292,19 +292,9 @@ gst_gl_window_x11_close (GstGLWindow * window) while (XPending (window_x11->device)) XNextEvent (window_x11->device, &event); - /*XAddToSaveSet (display, w) - Display *display; - Window w; */ - - //FIXME: it seems it causes destroy all created windows, even by other display connection: - //This is case in: gst-launch-0.10 videotestsrc ! tee name=t t. ! queue ! glimagesink t. ! queue ! glimagesink - //When the first window is closed and so its display is closed by the following line, then the other Window managed by the - //other glimagesink, is not useable and so each opengl call causes a segmentation fault. - //Maybe the solution is to use: XAddToSaveSet - //The following line is commented to avoid the disagreement explained before. - //XCloseDisplay (window_x11->device); - + XCloseDisplay (window_x11->device); GST_DEBUG ("display receiver closed"); + XCloseDisplay (window_x11->disp_send); GST_DEBUG ("display sender closed"); }