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
This commit is contained in:
Mark Nauwelaerts 2016-03-05 17:16:24 +01:00
parent 23806d4953
commit e38af23044

View file

@ -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;