Don't call glutDestroyWindow() function from exit callback. Fixed error during exit from 'crack-attack --solo': [c0der@rock ~]$ crack-attack --solo Crack Attack! v1.1.14 freeglut (crack-attack): Unable to create direct context rendering for window 'Crack Attack!' This may hurt performance. freeglut ERROR: Function called without first calling 'glutInit'. See for details: https://savannah.nongnu.org/bugs/?15821 http://cvs.savannah.nongnu.org/viewvc/crack-attack/crack-attack/src/Displayer.cxx?r1=1.11&r2=1.12 --- crack-attack/src/Displayer.cxx 2006/07/19 10:24:18 1.11 +++ crack-attack/src/Displayer.cxx 2006/08/11 23:21:42 1.12 @@ -191,7 +191,6 @@ void Displayer::cleanUp ( ) { - glutDestroyWindow(main_window); for (int n = DC_NUMBER_USE_GARBAGE_TEX; n--; ) if (garbage_texture_data[n] != null) { delete [] garbage_texture_data[n];