From: Matthias Clasen Date: Fri, 25 Aug 2023 12:37:22 +0000 (-0400) Subject: demo: Fix a bug without GL X-Git-Tag: archive/raspbian/4.12.4+ds-3+rpi1^2~21^2~2^2~39 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=2117afbbb55136d0e450deaed87e584f7cb7831c;p=gtk4.git demo: Fix a bug without GL The gears widget was just not unrealizing properly when GL is not available. Fix that. Fixes: #6059 --- diff --git a/demos/gtk-demo/gtkgears.c b/demos/gtk-demo/gtkgears.c index 0c0ea3398a..f02b1321f9 100644 --- a/demos/gtk-demo/gtkgears.c +++ b/demos/gtk-demo/gtkgears.c @@ -840,24 +840,24 @@ gtk_gears_unrealize (GtkWidget *widget) GtkGearsPrivate *priv = gtk_gears_get_instance_private ((GtkGears *) widget); gtk_gl_area_make_current (glarea); - if (gtk_gl_area_get_error (glarea) != NULL) - return; - - /* Release the resources associated with OpenGL */ - if (priv->gear_vbo[0] != 0) - glDeleteBuffers (1, &(priv->gear_vbo[0])); + if (gtk_gl_area_get_error (glarea) == NULL) + { + /* Release the resources associated with OpenGL */ + if (priv->gear_vbo[0] != 0) + glDeleteBuffers (1, &(priv->gear_vbo[0])); - if (priv->gear_vbo[1] != 0) - glDeleteBuffers (1, &(priv->gear_vbo[1])); + if (priv->gear_vbo[1] != 0) + glDeleteBuffers (1, &(priv->gear_vbo[1])); - if (priv->gear_vbo[2] != 0) - glDeleteBuffers (1, &(priv->gear_vbo[2])); + if (priv->gear_vbo[2] != 0) + glDeleteBuffers (1, &(priv->gear_vbo[2])); - if (priv->vao != 0) - glDeleteVertexArrays (1, &priv->vao); + if (priv->vao != 0) + glDeleteVertexArrays (1, &priv->vao); - if (priv->program != 0) - glDeleteProgram (priv->program); + if (priv->program != 0) + glDeleteProgram (priv->program); + } priv->ModelViewProjectionMatrix_location = 0; priv->NormalMatrix_location = 0;