glarea: Check that the context is not NULL
authorEmmanuele Bassi <ebassi@gnome.org>
Wed, 25 Mar 2015 15:19:30 +0000 (15:19 +0000)
committerEmmanuele Bassi <ebassi@gnome.org>
Wed, 25 Mar 2015 15:19:30 +0000 (15:19 +0000)
The public API should perform more checks when it comes to an NULL
context.

https://bugzilla.gnome.org/show_bug.cgi?id=746746

gtk/gtkglarea.c

index 1936a7b47c42be737897a23a17c5a41af69fd842..90ab9fc523f122a9b48e7ccae0baed76facb544f 100644 (file)
@@ -448,6 +448,11 @@ gtk_gl_area_attach_buffers (GtkGLArea *area)
 {
   GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
 
+  g_return_if_fail (GTK_IS_GL_AREA (area));
+
+  if (priv->context == NULL)
+    return;
+
   gtk_gl_area_make_current (area);
 
   if (!priv->have_buffers)
@@ -631,6 +636,9 @@ gtk_gl_area_draw (GtkWidget *widget,
       return FALSE;
     }
 
+  if (priv->context == NULL)
+    return FALSE;
+
   gtk_gl_area_make_current (area);
 
   gtk_gl_area_attach_buffers (area);
@@ -1301,6 +1309,6 @@ gtk_gl_area_make_current (GtkGLArea *area)
 
   g_return_if_fail (gtk_widget_get_realized (widget));
 
-  if (priv->context)
+  if (priv->context != NULL)
     gdk_gl_context_make_current (priv->context);
 }