diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c index c6931acd8c..e7f489298e 100644 --- a/sys/ximage/ximagesink.c +++ b/sys/ximage/ximagesink.c @@ -922,10 +922,13 @@ gst_ximagesink_xwindow_update_geometry (GstXImageSink * ximagesink) XWindowAttributes attr; g_return_if_fail (GST_IS_XIMAGESINK (ximagesink)); - g_return_if_fail (ximagesink->xwindow != NULL); /* Update the window geometry */ g_mutex_lock (ximagesink->x_lock); + if (G_UNLIKELY (ximagesink->xwindow == NULL)) { + g_mutex_unlock (ximagesink->x_lock); + return; + } XGetWindowAttributes (ximagesink->xcontext->disp, ximagesink->xwindow->win, &attr); diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c index 8298a9a860..f2af4953f4 100644 --- a/sys/xvimage/xvimagesink.c +++ b/sys/xvimage/xvimagesink.c @@ -1048,10 +1048,13 @@ gst_xvimagesink_xwindow_update_geometry (GstXvImageSink * xvimagesink) XWindowAttributes attr; g_return_if_fail (GST_IS_XVIMAGESINK (xvimagesink)); - g_return_if_fail (xvimagesink->xwindow != NULL); /* Update the window geometry */ g_mutex_lock (xvimagesink->x_lock); + if (G_UNLIKELY (xvimagesink->xwindow == NULL)) { + g_mutex_unlock (xvimagesink->x_lock); + return; + } XGetWindowAttributes (xvimagesink->xcontext->disp, xvimagesink->xwindow->win, &attr);