| @@ -236,11 +236,28 @@ special(int k, int x, int y) | |||
| } | |||
| } | |||
| static void | |||
| cleanup(void) | |||
| { | |||
| int i; | |||
| glDeleteTextures(1, &t1id); | |||
| glDeleteTextures(1, &t2id); | |||
| glDeleteLists(skydlist, 1); | |||
| for (i = 0; i < MAX_LOD; i++) { | |||
| glDeleteLists(LODdlist[i], 1); | |||
| glDeleteLists(LODnumpoly[i], 1); | |||
| } | |||
| } | |||
| static void | |||
| key(unsigned char k, int x, int y) | |||
| { | |||
| switch (k) { | |||
| case 27: | |||
| cleanup(); | |||
| exit(0); | |||
| break; | |||
| @@ -707,6 +724,7 @@ main(int ac, char **av) | |||
| glutIdleFunc(draw); | |||
| glutMainLoop(); | |||
| cleanup(); | |||
| return 0; | |||
| } | |||
| @@ -173,10 +173,20 @@ static void special(int k, int x, int y) | |||
| } | |||
| } | |||
| static void cleanup(void) | |||
| { | |||
| glDeleteTextures(1, &t1id); | |||
| glDeleteTextures(1, &t2id); | |||
| glDeleteLists(teapotdlist, 1); | |||
| glDeleteLists(basedlist, 1); | |||
| glDeleteLists(lightdlist, 1); | |||
| } | |||
| static void key(unsigned char k, int x, int y) | |||
| { | |||
| switch(k) { | |||
| case 27: | |||
| cleanup(); | |||
| exit(0); | |||
| break; | |||
| @@ -670,6 +680,7 @@ int main(int ac, char **av) | |||
| glutIdleFunc(draw); | |||
| glutMainLoop(); | |||
| cleanup(); | |||
| return 0; | |||
| } | |||
| @@ -202,11 +202,19 @@ special(int k, int x, int y) | |||
| } | |||
| } | |||
| static void | |||
| cleanup(void) | |||
| { | |||
| glDeleteTextures(1, &t1id); | |||
| glDeleteTextures(1, &t2id); | |||
| } | |||
| static void | |||
| key(unsigned char k, int x, int y) | |||
| { | |||
| switch (k) { | |||
| case 27: | |||
| cleanup(); | |||
| exit(0); | |||
| break; | |||
| @@ -531,5 +539,6 @@ main(int ac, char **av) | |||
| glutMainLoop(); | |||
| cleanup(); | |||
| return 0; | |||
| } | |||
| @@ -200,6 +200,13 @@ special(int k, int x, int y) | |||
| } | |||
| } | |||
| static void | |||
| cleanup(void) | |||
| { | |||
| glDeleteTextures(1, &t1id); | |||
| glDeleteTextures(1, &t2id); | |||
| } | |||
| static void | |||
| key(unsigned char k, int x, int y) | |||
| { | |||
| @@ -207,6 +214,7 @@ key(unsigned char k, int x, int y) | |||
| case 27: | |||
| glutDestroyWindow(channel[0]); | |||
| glutDestroyWindow(channel[1]); | |||
| cleanup(); | |||
| exit(0); | |||
| break; | |||
| @@ -602,6 +610,7 @@ main(int ac, char **av) | |||
| calcposobs(); | |||
| glutMainLoop(); | |||
| cleanup(); | |||
| return 0; | |||
| } | |||