diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c index ad0d603749..7fe27d3e9d 100644 --- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c +++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c @@ -637,11 +637,11 @@ gst_gl_window_wayland_egl_send_message (GstGLWindow * window, g_mutex_init (&message.lock); g_cond_init (&message.cond); - g_mutex_lock (&message.lock); - g_main_context_invoke (window_egl->main_context, (GSourceFunc) _run_message, &message); + g_mutex_lock (&message.lock); + while (!message.fired) g_cond_wait (&message.cond, &message.lock); g_mutex_unlock (&message.lock);