mesa: call glutDestroyWindow() on exit to help find mem leaks
diff --git a/progs/glsl/texdemo1.c b/progs/glsl/texdemo1.c
index d29ecf4..3ceae14 100644
--- a/progs/glsl/texdemo1.c
+++ b/progs/glsl/texdemo1.c
@@ -48,6 +48,7 @@
static GLfloat Xrot = 20.0, Yrot = 20.0, Zrot = 0.0;
static GLfloat EyeDist = 10;
static GLboolean Anim = GL_TRUE;
+static int win = 0;
struct uniform_info {
@@ -177,6 +178,7 @@
EyeDist = 90;
break;
case 27:
+ glutDestroyWindow(win);
exit(0);
}
glutPostRedisplay();
@@ -554,7 +556,7 @@
glutInit(&argc, argv);
glutInitWindowSize(500, 400);
glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
- glutCreateWindow(Demo);
+ win = glutCreateWindow(Demo);
glutReshapeFunc(Reshape);
glutKeyboardFunc(key);
glutSpecialFunc(specialkey);
diff --git a/progs/trivial/quad-tex-2d.c b/progs/trivial/quad-tex-2d.c
index 3a6e523..97c9fc5 100644
--- a/progs/trivial/quad-tex-2d.c
+++ b/progs/trivial/quad-tex-2d.c
@@ -31,6 +31,7 @@
static GLenum Filter = GL_NEAREST;
GLenum doubleBuffer;
static float Rot = 0;
+static int win = 0;
static void Init(void)
{
@@ -88,6 +89,7 @@
glFrustum(-1, 1, -1, 1, 10, 20);
#endif
glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
glTranslatef(0, 0, -15);
}
@@ -101,6 +103,7 @@
Rot -= 10.0;
break;
case 27:
+ glutDestroyWindow(win);
exit(0);
default:
return;
@@ -170,7 +173,8 @@
type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
glutInitDisplayMode(type);
- if (glutCreateWindow("First Tri") == GL_FALSE) {
+ win = glutCreateWindow("First Tri");
+ if (!win) {
exit(1);
}