Package: freeglut3 Version: 2.4.0-6 Severity: normal glutDestroyWindow() does not really destroy the window. Instead, it puts the window in a list of windows that will be destroyed later. This is annoying for software that opens a GL window from time to time that needs to be closed without the program exiting. Attached is a small program that exposes the behaviour.
A workaround can be to use glutHideWindow() before calling glutDestroyWindow(), but that is not optimal since it does not free the resources. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.23.8 (SMP w/2 CPU cores; PREEMPT) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages freeglut3 depends on: ii libc6 2.7-4 GNU C Library: Shared libraries ii libgl1-mesa-glx [libgl1] 7.0.2-2 A free implementation of the OpenG ii libglu1-mesa [libglu1] 7.0.2-2 The OpenGL utility library (GLU) ii libx11-6 2:1.0.3-7 X11 client-side library ii libxext6 1:1.0.3-2 X11 miscellaneous extension librar freeglut3 recommends no packages. -- no debconf information
/* gcc glutdestroywindow.c -o glutdestroywindow -lglut */ #include <unistd.h> #include <GL/glut.h> int main(int argc, char **argv) { int win; glutInitWindowSize(400, 40); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); glutInit(&argc, argv); win = glutCreateWindow("Hello world"); glutMainLoopEvent(); sleep(5); glutSetWindowTitle("I should be dead by now"); glutDestroyWindow(win); sleep(5); return 0; }