---
progs/demos/ipers.c | 18 ++++++++++++++++++
progs/demos/teapot.c | 11 +++++++++++
progs/demos/tunnel.c | 9 +++++++++
progs/demos/tunnel2.c | 9 +++++++++
4 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/progs/demos/ipers.c b/progs/demos/ipers.c
index 6e153c0..5d82b0d 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;
}
diff --git a/progs/demos/teapot.c b/progs/demos/teapot.c
index 38ede7a..6bf6e06 100644
--- a/progs/demos/teapot.c
+++ b/progs/demos/teapot.c
@@ -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;
}
diff --git a/progs/demos/tunnel.c b/progs/demos/tunnel.c
index 6a24058..6981da3 100644
--- a/progs/demos/tunnel.c
+++ b/progs/demos/tunnel.c
@@ -203,10 +203,18 @@ 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;
}
diff --git a/progs/demos/tunnel2.c b/progs/demos/tunnel2.c
index f4171a8..0288ea0 100644
--- a/progs/demos/tunnel2.c
+++ b/progs/demos/tunnel2.c
@@ -201,12 +201,20 @@ 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:
glutDestroyWindow(channel[0]);
glutDestroyWindow(channel[1]);
+ cleanup();
exit(0);
break;
@@ -602,6 +610,7 @@ main(int ac, char **av)
calcposobs();
glutMainLoop();
+ cleanup();
return 0;
}
--
1.6.0.3
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev