summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorMatthew Waters <matthew@centricular.com>2016-03-25 17:49:14 +1100
committerMatthew Waters <matthew@centricular.com>2016-03-25 17:51:10 +1100
commit719270aaa40e91b877acf1cd9c6e2941c86be07c (patch)
tree61b68bc3183eb9894116924b2593cdb8440a209f /ext
parent740d3507eaf4381ba80de18b607bbd732bccca65 (diff)
downloadgstreamer-plugins-bad-719270aaa40e91b877acf1cd9c6e2941c86be07c.tar.gz
gtk/gl: don't assert when gdk doesn't provide a GL context
Allows the application to check whether gtkglsink is supported by setting the element to READY. https://bugzilla.gnome.org/show_bug.cgi?id=764148
Diffstat (limited to 'ext')
-rw-r--r--ext/gtk/gtkgstglwidget.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/gtk/gtkgstglwidget.c b/ext/gtk/gtkgstglwidget.c
index c9ad0b63f..e3d08ab3b 100644
--- a/ext/gtk/gtkgstglwidget.c
+++ b/ext/gtk/gtkgstglwidget.c
@@ -420,8 +420,13 @@ _get_gl_context (GtkGstGLWidget * gst_widget)
gtk_widget_realize (GTK_WIDGET (gst_widget));
+ if (priv->other_context)
+ gst_object_unref (priv->other_context);
+ priv->other_context = NULL;
+
if (priv->gdk_context)
g_object_unref (priv->gdk_context);
+
priv->gdk_context = gtk_gl_area_get_context (GTK_GL_AREA (gst_widget));
if (priv->gdk_context == NULL) {
GError *error = gtk_gl_area_get_error (GTK_GL_AREA (gst_widget));
@@ -429,7 +434,6 @@ _get_gl_context (GtkGstGLWidget * gst_widget)
GST_ERROR_OBJECT (gst_widget, "Error creating GdkGLContext : %s",
error ? error->message : "No error set by Gdk");
g_clear_error (&error);
- g_assert_not_reached ();
return;
}