demos: Clean up allocated Textures and Display Lists when demo quit
This commit is contained in:
parent
b618827fac
commit
e326600609
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue