From 6c51803dc8823f764effffeb7cb99784a6684d0b Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Thu, 15 Apr 2010 12:59:53 +0300 Subject: [PATCH] x(v)imagesink: gracefully handle ximagesink>xwindow == NULL Expose could be called before we have set the xwindow. Handle this gracefully like we do in image_put. Fixes #615789 --- sys/ximage/ximagesink.c | 5 ++++- sys/xvimage/xvimagesink.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) 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);