summaryrefslogtreecommitdiffstats
path: root/progs/demos/ipers.c
diff options
context:
space:
mode:
authorShuang He <[email protected]>2009-04-27 07:13:33 -0600
committerBrian Paul <[email protected]>2009-04-27 07:13:33 -0600
commite32660060954c0d1a1f7636c6365970348f3be24 (patch)
tree95026a9d4a9705cbec430955ddbdfbf4b3a52a4f /progs/demos/ipers.c
parentb618827fac84ca12a354da5808f30e96bedbc92a (diff)
demos: Clean up allocated Textures and Display Lists when demo quit
Diffstat (limited to 'progs/demos/ipers.c')
-rw-r--r--progs/demos/ipers.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/progs/demos/ipers.c b/progs/demos/ipers.c
index 6e153c04e15..5d82b0dc924 100644
--- a/progs/demos/ipers.c
+++ b/progs/demos/ipers.c
@@ -237,10 +237,27 @@ 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;
}