From e38af2304427db908a16bbae0e60aa68be1ba5b5 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Sat, 5 Mar 2016 17:16:24 +0100 Subject: gldisplay: really retrieve glcontext for a specific thread When requesting a glcontext (regardless of thread), the result was correct. However, when requesting current glcontext on a specific thread, it could come up with a glcontext active on another thread. https://bugzilla.gnome.org/show_bug.cgi?id=763168 --- gst-libs/gst/gl/gstgldisplay.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c index 60dec6aa3..65ce1a301 100644 --- a/gst-libs/gst/gl/gstgldisplay.c +++ b/gst-libs/gst/gl/gstgldisplay.c @@ -437,8 +437,11 @@ _get_gl_context_for_thread_unlocked (GstGLDisplay * display, GThread * thread) continue; } + if (thread == NULL) + return context; + context_thread = gst_gl_context_get_thread (context); - if (thread != NULL && thread == context_thread) { + if (thread != context_thread) { g_thread_unref (context_thread); gst_object_unref (context); prev = l; -- cgit v1.2.1