mesa: explicitly delete textures before creating new ones
authorBrian Paul <brian.paul@tungstengraphics.com>
Mon, 28 Apr 2008 20:20:11 +0000 (14:20 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Mon, 28 Apr 2008 20:20:11 +0000 (14:20 -0600)
Also, call glutDestroyWindow() upon exit.

progs/tests/manytex.c

index 61a1519ae6b61601c7862e8de0c53b2cc88e2d61..28f7d3b3f2d98d68e5d442c9bb2673c2eeffe7d3 100644 (file)
@@ -30,6 +30,7 @@ static GLboolean LinearFilter = GL_FALSE;
 static GLboolean RandomSize = GL_FALSE;
 static GLint Rows, Columns;
 static GLint LowPriorityCount = 0;
+static GLint Win;
 
 
 static void Idle( void )
@@ -128,6 +129,13 @@ static int RandomInt(int min, int max)
 }
 
 
+static void DeleteTextures(void)
+{
+   glDeleteTextures(NumTextures, TextureID);
+   free(TextureID);
+}
+
+
 
 static void Init( void )
 {
@@ -306,9 +314,12 @@ static void Key( unsigned char key, int x, int y )
          Zrot += step;
          break;
       case ' ':
+         DeleteTextures();
          Init();
          break;
       case 27:
+         DeleteTextures();
+         glutDestroyWindow(Win);
          exit(0);
          break;
    }
@@ -324,7 +335,7 @@ int main( int argc, char *argv[] )
    glutInitWindowPosition( 0, 0 );
    glutInitWindowSize( WinWidth, WinHeight );
    glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
-   glutCreateWindow(argv[0]);
+   Win = glutCreateWindow(argv[0]);
    glutReshapeFunc( Reshape );
    glutKeyboardFunc( Key );
    glutDisplayFunc( Display );