Jason McKesson avatar Jason McKesson committed 5dae29d

Added build tools for FreeGLUT on Linux. Forgot to add these in the past.

Comments (0)

Files changed (41)

freeglut-2.6.0/AUTHORS

+Pawel W. Olszta <olszta@sourceforge.net>
+    the person to be blamed for freeglut
+
+Andreas Umbach <marvin@dataway.ch>
+    the first person to contribute to the freeglut project,
+    contributed the cube and sphere geometry code
+
+Steve Baker <sjbaker1@airmail.net>
+    joystick code (from his great PLIB), numerous hints 
+    tips on the freeglut usability
+    and for taking the project over when Pawel bowed out
+
+Christopher John Purnell
+Don Heyse
+Dave McClurg
+John F. Fay
+Norman Vine
+Daniel Wagner
+Sven Panne <sven.panne@aedion.de>
+    contributing the project, using the product, and generally keeping it going
+
+Brian Paul
+Eric Sandall
+    giving us the oomph! to make an official release
+
+James 'J.C.' Jones
+    designing the new website
+
+...and all the opengl-gamedev-l people that made Pawel start this project :)

freeglut-2.6.0/COPYING

+
+  Freeglut Copyright
+  ------------------
+  
+  Freeglut code without an explicit copyright is covered by the following 
+  copyright:
+  
+  Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved.
+  Permission is hereby granted, free of charge,  to any person obtaining a copy 
+  of this software and associated documentation files (the "Software"), to deal
+  in the Software without restriction,  including without limitation the rights 
+  to use, copy,  modify, merge,  publish, distribute,  sublicense,  and/or sell 
+  copies or substantial portions of the Software.
+  
+  The above  copyright notice  and this permission notice  shall be included in 
+  all copies or substantial portions of the Software.
+  
+  THE SOFTWARE  IS PROVIDED "AS IS",  WITHOUT WARRANTY OF ANY KIND,  EXPRESS OR 
+  IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO THE WARRANTIES  OF MERCHANTABILITY, 
+  FITNESS  FOR  A PARTICULAR PURPOSE  AND NONINFRINGEMENT.  IN  NO EVENT  SHALL 
+  PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM,  DAMAGES OR OTHER LIABILITY, WHETHER 
+  IN  AN ACTION  OF CONTRACT,  TORT OR OTHERWISE,  ARISING FROM,  OUT OF  OR IN 
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+  
+  Except as contained in this notice,  the name of Pawel W. Olszta shall not be 
+  used  in advertising  or otherwise to promote the sale, use or other dealings 
+  in this Software without prior written authorization from Pawel W. Olszta.

freeglut-2.6.0/ChangeLog

+2009-08-10  Sven Panne  <sven.panne@aedion.de>
+
+	* include/GL/freeglut_ext.h,include/GL/freeglut_std.h,src/freeglut_ext.c,
+	src/freeglut_init.c,src/freeglut_internal.h,src/freeglut_state.c,
+	src/freeglut_window.c,src/freeglutdll.def: Added support for sRGB
+	framebuffers via the GLX_ARB_framebuffer_sRGB / WGL_ARB_framebuffer_sRGB
+	extensions. Added support for context profiles via the new parts of the
+	GLX_ARB_create_context / WGL_ARB_create_context extensions.
+
+2009-06-11  Paul Blew  <paul.blew@northgatearinso.com>
+
+	* replaced broken IDE based OpenWatcom build with a makefile based one
+
+2009-06-11  Sven Panne  <sven.panne@aedion.de>
+
+	* include/GL/freeglut_std.h: Disable the ATEXIT_HACK for Watcom, their
+	"exit" function has a different calling convention, leading to
+	compilation errors.
+
+2009-05-24  Sven Panne  <sven.panne@aedion.de>
+
+	* freeglut_static_vs2008.vcproj,freeglut_vs2008.vcproj,
+	  freeglut_vs2008.sln,freeglut_vs2008_static.sln: Move all files related
+	  to Visual Studio 2008 into 2 directories, one for the normal DLL
+	  build, and one for the static build. We should do this for other IDEs,
+	  too.
+
+2009-05-22  Sven Panne  <sven.panne@aedion.de>
+
+	* include/GL/freeglut_std.h: Avoid warnings when the ATEXIT_HACK is used
+	  with GCC, making the hack even uglier.
+
+	* include/GL/freeglut_std.h,src/freeglut_init.c,src/freeglut_internal.h,
+	  src/freeglut_menu.c,src/freeglut_window.c,src/freeglutdll.def: Added the
+	  ugly ATEXIT_HACK from GLUT 3.7, making freeglut binary compatible with the
+	  GLUT DLLs out in the wild.
+
+	* src/freeglutdll.def: Removed obsolete lines. Fixed version number.
+
+	* freeglut_vs2008.vcproj: Use our module definition file, so we get
+	  undecorated names in the resulting DLL, just like the classic GLUT DLL
+	  from Nate Robins.
+
+2009-04-05  Sven Panne  <sven.panne@aedion.de>
+
+	* Makefile.am: Added more project/workspace/... files to distribution.
+	* .cvsignore,doc/.cvsignore,include/.cvsignore,include/GL/.cvsignore,
+	  progs/.cvsignore,progs/demos/.cvsignore,
+	  progs/demos/CallbackMaker/.cvsignore,progs/demos/Fractals/.cvsignore,
+	  progs/demos/Fractals_random/.cvsignore,progs/demos/Lorenz/.cvsignore,
+	  progs/demos/One/.cvsignore,progs/demos/shapes/.cvsignore,
+	  src/.cvsignore: Removed remnants of CVS.
+
+2009-03-30  Sven Panne  <sven.panne@aedion.de>
+
+	* progs/demos/smooth_opengl3/smooth_opengl3.c: Make the example fully
+	  OpenGL-3.1-compliant.
+
+2009-03-27  Sven Panne  <sven.panne@aedion.de>
+
+	* progs/demos/smooth_opengl3/smooth_opengl3.c: Make Visual C happy by
+	  including stddef.h and explicitly marking some literals as float.
+
+2009-03-26  Sven Panne  <sven.panne@aedion.de>
+
+	* src/freeglut_init.c,src/freeglut_input_devices.c: Unbreak the build:
+	  C++ style comments are not allowed in ISO C90
+
+2009-03-19  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_input_devices.c: Fixing "freeglut_input_devices.c" for
+	  MSVS2005 and later per e-mail from Diederick Niehorster dated Thu
+	  3/19/2009 6:57 AM
+
+2009-03-17  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_init.c, src/freeglut_input_devices.c: Removing some build
+	  warnings from deprecated functions for VS2008 per e-mail from
+	  Diederick Niehorster dated Tue 3/10/2009
+	* freeglut_static_vs2008.vcproj, freeglut_vs2008.sln,
+	  freeglut_vs2008.vcproj,
+	  progs/demos/CallbackMaker/CallbackMakerStatic_vs2008.vcproj,
+	  progs/demos/CallbackMaker/CallbackMaker_vs2008.vcproj,
+	  progs/demos/Fractals/FractalsStatic_vs2008.vcproj,
+	  progs/demos/Fractals/Fractals_vs2008.vcproj,
+	  progs/demos/Fractals_random/Fractals_randomStatic_vs2008.vcproj,
+	  progs/demos/Fractals_random/Fractals_random_vs2008.vcproj,
+	  progs/demos/Lorenz/lorenzStatic_vs2008.vcproj,
+	  progs/demos/Lorenz/lorenz_vs2008.vcproj,
+	  progs/demos/One/oneStatic_vs2008.vcproj,
+	  progs/demos/One/one_vs2008.vcproj, progs/demos/demos_vs2008.sln,
+	  progs/demos/shapes/shapesStatic_vs2008.vcproj,
+	  progs/demos/shapes/shapes_vs2008.vcproj,
+	  progs/demos/smooth_opengl3/smooth_opengl3Static_vs2008.vcproj,
+	  progs/demos/smooth_opengl3/smooth_opengl3_vs2008.vcproj: Adding Visual
+	  Studio 2008 solution and project files
+
+2009-03-16  Sven Panne  <sven.panne@aedion.de>
+
+	* src/freeglut_init.c,src/freeglut_window.c: Set the default number of
+	  samples per pixel to 4 and actually use the value set with
+	  glutSetOption(GLUT_MULTISAMPLE,...) in Windows code. Previously the
+	  Windows code used a hardwired value of 4 and the GLX code had a
+	  default of 0, neither made much sense. Similarly, set the default
+	  number of auxiliary buffers to 1 and use that value when GLUT_AUX is
+	  used. Note: There latter token has the same value as GLUT_AUX1, and
+	  for historical reasons we seem to have 2 APIs to set the number of
+	  auxiliary buffers: Explicitly using GLUT_AUX1 ... GLUT_AUX4, and using
+	  a combination of GLUT_AUX with glutSetOption. The default of 1 ensures
+	  consistent behaviour in both cases.
+	* src/freeglut_state.c: Added GLUT_AUX and GLUT_MULTISAMPLE as possible
+	  parameters for glutGet, making things more symmetric with
+	  glutSetOption.
+	* src/freeglutdll.def: Added missing API entries.
+
+2009-03-10  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* progs/demos/demos.dsw: Adding the "smooth_opengl3" demo
+
+2009-03-09  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* include/GL/freeglut_std.h: Making the definition of
+	  "WIN32_LEAN_AND_MEAN" conditional to enhance compatibility with GLEW
+	  per suggestion by Diederick C. Niehorster in e-mail dated Mon 3/9/2009
+	  8:06 AM
+	* progs/demos/Fractals/fractals.c: Setting the "fractals" demo initial
+	  number of levels to 4 per suggestion from Diederick C. Niehorster
+	  [diederick@niehorster.eu] in e-mail dated Mon 3/9/2009 5:29 AM
+
+2009-03-01  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* progs/demos/CallbackMaker/CallbackMaker.c,
+	  progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Fixing
+	  Microsoft compatibility with the new "vsnprintf" by putting an
+	  underscore in front of it if WIN32 is defined but __CYGWIN__ is not
+
+2009-03-01  Sven Panne <sven.panne@aedion.de>
+
+	* configure.ac: We do not depend on GLU anymore
+	* README.win32: Added notes for building under Cygwin
+	* src/Makefile.am: To build shared libraries on Windows, one has to
+	  declare explicitly that there are no undefined symbols during linking.
+	  No idea why, but this seems to be the only way to enable this on
+	  Cygwin via -mno-cygwin. Hopefully this won't cause problems on other
+	  platforms (which has to be tested).
+	* progs/demos/smooth_opengl3/smooth_opengl3.c: Windows fun again: Use
+	  the correct calling convention for OpenGL extension entries.
+
+2009-02-28  Sven Panne <sven.panne@aedion.de>
+
+	* progs/demos/smooth_opengl3/smooth_opengl3.c: When -mno-cygwin is used,
+	  we get ancient GL headers, so be a bit more conservative.
+	* progs/demos/Fractals_random/fractals_random.c,
+	  progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c:
+	  _CrtDumpMemoryLeaks and its header are Microsoft-specific, e.g. Cygwin
+	  doesn't provide them.
+	* src/freeglut_window.c: Do not try to destroy a GLX context when there
+	  is none, e.g. when glXCreateContextAttribsARB is not there.
+	* src/freeglut_joystick.c: Use snprintf or _snprintf instead of the
+	  potentially dangerous sprintf to avoid warnings.
+	  
+	  NOTE: Due to excessive use of #ifdefs, the joystick code is on the
+	  border of being unmaintainable! I could only check that it compiles
+	  cleanly on my Linux box. Others should test this on their platforms
+	  (Windows, Mac OS X, *BSD) to make sure that nothing has been broken.
+	* progs/demos/CallbackMaker/CallbackMaker.c,
+	  progs/demos/Lorenz/lorenz.c, progs/demos/shapes/shapes.c: Use
+	  vsnprintf instead of the potentially dangerous sprintf to avoid
+	  warnings. Using snprintf directly would be a little bit more tricky,
+	  because once again Microsoft decided to avoid followind standards and
+	  provide _snprintf instead. We could use this, too, but this would
+	  require an additional autoconf check, which I'd like to avoid, if
+	  possible.
+	  
+	  Note: If VS *still* issues warnings, but this time about vsnprintf,
+	  somebody should add some pragmas or whatever is needed to shut up that
+	  warning, it would be silly.
+	* progs/demos/Lorenz/lorenz.c: Position the distance message closer to
+	  the middle of the window, it has been far, far off to the upper right.
+	* src/freeglut_internal.h: Synched version number with configure.ac. We
+	  should better remove this redundancy and calculate this from
+	  configure.ac directly.
+
+2009-02-19  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* progs/demos/smooth_opengl3/smooth_opengl3.dsp,
+	  progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Fixing the
+	  DOS/Linux line ending problems in the progs/demos/smooth_opengl3
+	  project files
+
+2009-02-18  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_window.c: Fixing a build error caused by a variable
+	  declaration being out of place
+
+2009-02-15  Sven Panne <sven.panne@aedion.de>
+
+	* progs/demos/smooth_opengl3/smooth_opengl3.c: Final changes to make the
+	  example fully OpenGL-3.0-compliant:
+	  
+	  * Use vertex attribute arrays.
+	  
+	  * Use our own projection matrix.
+	  
+	  * Do not use deprecated vertex/fragment shader variables.
+	* progs/demos/smooth_opengl3/smooth_opengl3.c: Use GLSL shaders (still
+	  1.20, though). Dump GL info.
+	* progs/demos/smooth_opengl3/smooth_opengl3.c: Added a commandline
+	  option for 'classic' contexts. Aesthetic changes.
+	* progs/demos/smooth_opengl3/smooth_opengl3.c: Use VBOs in new example.
+	  Added a few comments.
+
+2009-02-14  Sven Panne <sven.panne@aedion.de>
+
+	* configure.ac, progs/demos/Makefile.am, progs/demos/smooth_opengl3,
+	  progs/demos/smooth_opengl3/Makefile.am,
+	  progs/demos/smooth_opengl3/smooth_opengl3.c,
+	  progs/demos/smooth_opengl3/smooth_opengl3.dsp,
+	  progs/demos/smooth_opengl3/smooth_opengl3Static.dsp: Initial version
+	  of a fully OpenGL-3.0-compliant of the famous smooth.c from the Red
+	  Book. What has been done already:
+	  
+	  * Explicitly request a forward-compatible 3.0 context
+	  
+	  * Report GL errors, if any, at a few crucial places
+	  
+	  * Replaced gluOrtho2D with a home-grown matrix + glLoadMatrixf
+	  
+	  What remains to be done:
+	  
+	  * Use vertex shaders and fragment shaders
+	  
+	  * Use vertex buffer objects
+
+2009-02-13  Sven Panne <sven.panne@aedion.de>
+
+	* README: Mention autogen.sh
+	* src/freeglut_window.c: Synchronized WGL behavior with GLX
+	  implementation: Do not call the new context creation API when it is
+	  not required. Fixing a bug in a previous commit on the way... :-}
+	* src/freeglut_internal.h, src/freeglut_window.c: More refactorings:
+	  Removed useless return value. Simplified control structures even more.
+	* src/freeglut_window.c: Refactoring only (replace nested conditionals
+	  with guard clauses), making the normal path of execution much clearer.
+	* configure.ac: We have added some API entries, so we have to update
+	  library version information conforming to
+	  http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+	* autogen.sh, configure.ac: Avoid CR\LF vs. LF troubles when using
+	  TortoiseSVN plus Cygwin.
+	* .: Ignore config.lt, too. It seems to be generated by recent
+	  autotools.
+
+2009-02-13  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
+	  Adding OpenGL 3.0 context detection for Windows per e-mail from Paul
+	  Martz dated Thu 2/12/2009 9:03 AM (more or less)
+
+2009-02-03  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* README: Adding some instructions about building on a *nix platform to
+	  the 'README' file
+	* include/GL/freeglut_ext.h, src/freeglut_main.c: Removing some errant
+	  tabs, fixing ticket #2137721, and adding special-key capability to
+	  recognizing the NumLock, Delete, and keypad '5' keys
+	* src/freeglut_joystick.c, src/freeglut_main.c: A further response to
+	  bug [ 1804696 ] Warnings when building on OpenSolaris -- per comment
+	  by Nigel Stewart on that bug report
+
+2009-02-02  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_internal.h, src/freeglut_joystick.c: Fixing bug [ 1804696
+	  ] Warnings when building on OpenSolaris as updated 2/2/09 by Nigel
+	  Stewart
+
+2008-11-20  Sven Panne <sven.panne@aedion.de>
+
+	* src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Yet
+	  another try to make the font definitions compile on all platforms.
+
+2008-11-17  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_glutfont_definitions.c, src/freeglut_internal.h: Allowing
+	  "freeglut" to compile without errors under *nix. Before this, there
+	  were problems with conflicting definitions of the GLUT font
+	  definitions.
+
+2008-11-06  Sven Panne <sven.panne@aedion.de>
+
+	* src/freeglut_main.c: Ooops, forgot one file in the previous commit
+	  (fix for "--without-x").
+	* configure.ac: Use autoconf to detect gettimeofday instead of broken
+	  #ifdef.
+	  
+	  Note: freeglut compiles under Cygwin now, even when "--without-x" is
+	  used for configuration.
+	* configure.ac: We need to link against winmm under Cygwin when
+	  --without-x is used to get timeBeginPeriod, timeEndPeriod, joyGetPosEx
+	  and joyGetDevCaps.
+	* src/freeglut_window.c: Fixed first parameter of CreateWindow call,
+	  used for multisampling on Windows. It compiles, but it is otherwise
+	  untested.
+
+2008-11-05  Sven Panne <sven.panne@aedion.de>
+
+	* src/freeglut_misc.c: Be conservative about the presence of
+	  GL_TABLE_TOO_LARGE.
+	* src/freeglut_glutfont_definitions.c, src/freeglut_stroke_mono_roman.c,
+	  src/freeglut_stroke_roman.c: freeglut_internal.h needs some GL types,
+	  but it is not self-contained. TODO: Move freeglut.h #include into
+	  freeglut_internal.h itself?
+	* src/freeglut_window.c: Removed the annoying "Unable to create direct
+	  context rendering..." warning, it served no real purpose, and on some
+	  platforms there simply is no such thing as a direct context.
+	* progs/demos/CallbackMaker, progs/demos/Fractals,
+	  progs/demos/Fractals_random, progs/demos/Lorenz, progs/demos/One,
+	  progs/demos/shapes: Ignore *.exe
+	* src/freeglut_ext.c: Handle new glutInitContext* API entries in
+	  glutGetProcAddress
+	* src/freeglut_internal.h: Make freeglut compile under Cygwin, which has
+	  an ancient GLX header
+
+2008-11-02  Sven Panne <sven.panne@aedion.de>
+
+	* include/GL/freeglut_ext.h, src/freeglut_init.c,
+	  src/freeglut_internal.h, src/freeglut_state.c, src/freeglut_window.c:
+	  Added OpenGL 3.0 context creation API entries
+	  
+	  glutInitContextVersion, glutInitContextFlags
+	  
+	  and their related constants
+	  
+	  GLUT_INIT_MAJOR_VERSION GLUT_INIT_MINOR_VERSION GLUT_INIT_FLAGS
+	  
+	  GLUT_DEBUG GLUT_FORWARD_COMPATIBLE
+	  
+	  Note that this works with GLX only currently, the glutInitContext* API
+	  entries have no effect for WGL yet.
+	  
+	  TODO: Centralize the context creation code for WGL (the harder part)
+	  and use the new wglCreateContextAttribsARB API entry (the easy part,
+	  re-use most of the GLX code).
+	* src/freeglut_window.c: Refactored GLX context creation into a single
+	  function, centralizing things to be changed for OpenGL 3.0 context
+	  creation and removing some cut-n-paste.
+	* src/freeglut_ext.c, src/freeglut_internal.h: Make a
+	  wgl/glXGetProcAddress abstraction available internally. We will need
+	  this to get the new context creation function.
+	* src/freeglut_misc.c: Do not depend on GLU, it will vanish in the
+	  future, at least in its current form.
+	* src/freeglut_internal.h: Removed superfluous #includes.
+	* configure.ac: Fix for bug #1709675 ("probably not be so
+	  ISO-conformant"): The C compiler flag -Werror is not used by default
+	  anymore, a separate configure flag --enable-warnings-as-errors has
+	  been introduced for this purpose, which is off by default.
+	* configure.ac: Added AM_PROG_CC_C_O to configure.ac, removing a warning
+	  during autogen.sh. This flag seems to be necessary for per-target
+	  flags (used in demo programs) nowadays.
+
+2008-07-21  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* configure.ac, src/Makefile.am: Implementing a patch from Jocelyn
+	  Frechot (thank you, Jocelyn) that "should enable the XInput extension
+	  management with the autotools." See e-mail of Sun 7/20/2008 12:01 PM.
+
+2008-07-10  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_ext.c: Adding "glutExit" to the functions in
+	  "fghGetProcAddress" in accordance with an e-mail from Jocelyn Frechot
+	  dated Tue 7/8/2008 12:26 PM
+
+2008-04-05  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_main.c: Adding "SC_MONITORPOWER" and other new options to
+	  the "wParam" option list (e-mail from Ron Larkin, 3/17/08, 11:00 AM)
+
+2007-12-02  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* include/GL/freeglut_ext.h, src/freeglut_display.c, src/freeglut_ext.c,
+	  src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_state.c, src/freeglut_window.c: Adding
+	  "glutFullScreenToggle" for X11 -- still needs implementation in
+	  Windows (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
+
+2007-12-01  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_window.c: Fixing the window position for asynchronous X11
+	  implementations (e-mail by Jocelyn Frechot, Sun 11/25/2007 11:29 AM)
+
+2007-11-26  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* progs/demos/Fractals/fractals.c: Making a demo program that uses
+	  "glutMainLoopEvent"
+
+2007-11-12  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* include/GL/freeglut_ext.h, src/freeglut_ext.c, src/freeglut_init.c,
+	  src/freeglut_internal.h, src/freeglut_state.c,
+	  src/freeglut_structure.c, src/freeglut_window.c: Implementing Jocelyn
+	  Frechot's changes -- see e-mail of Thursday, 11/8/2007 9:12 AM.
+
+2007-10-02  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_joystick.c: Removing more Win64 build warnings from
+	  joystick code
+
+2007-09-30  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_main.c: Removing the final compiler warning when building
+	  on Win75 -- thank you, Antonio Mattos.
+
+2007-09-29  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_cursor.c: Removing the remaining compiler warnings from
+	  the cursor code, thanks to Antonio Mattos of Brazil. The double
+	  type-casting is needed because of a bug in the new MSVC; there is a
+	  discussion on the web on this subject.
+
+2007-09-25  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_cursor.c: Changing the cursor definition macro for newer
+	  versions of MSVC -- thanks to "Mattos" of Brazil
+	* src/freeglut_window.c: More changes for Jocelyn Frechot's
+	  multisampling changes. The library builds now. It still needs some
+	  testing with sample cases under X11.
+
+2007-09-23  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_window.c: Fixing a remaining bug in the multisampling
+	  change ... there may be more ...
+
+2007-09-22  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_internal.h, src/freeglut_state.c,
+	  src/freeglut_structure.c, src/freeglut_window.c: Putting in Jocelyn
+	  Frechot's X11 visual context changes. THIS WILL BREAK THE BUILD as I
+	  am unable to test it on a Linux machine here. Somebody please test it
+	  for me.
+
+2007-09-21  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c:
+	  Removing compiler warnings in MSVC 2005 build
+	* include/GL/freeglut_ext.h, src/freeglut_init.c: Implementing Larry
+	  Ramey's "glutExit" feature (see e-mails from him on 11/9/05, 6/28/06)
+
+2007-09-19  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* include/GL/freeglut_std.h, src/freeglut_window.c: Implementing first
+	  part of Windows version of "GLUT_CAPTIONLESS" and "GLUT_BORDERLESS"
+	  per feature request "[ 1197016 ] need GLUT_CAPTIONLESS window option".
+	  Needs more work; menus are slightly mispositioned, X11 version does
+	  not support it, banner appears at beginning but disappears on window
+	  resize. But this is a start.
+	* src/freeglut_main.c: Fixing Linux key-repeat mode bug reported in "[
+	  1796845 ] Keyboard events are lost when key repeat is enabled."
+	* src/freeglut_joystick.c: Fixing a build error on SuSE described in bug
+	  report "[ 1792047 ] freeglut_joystick.c error"
+
+2007-09-18  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_window.c: Implementing feature request "[ 947118 ] Popup
+	  menu is hidden under the TOPMOST window"
+	* src/freeglut_menu.c: Adding Takeshi Nishimura's Feature Request "[
+	  1045202 ] Cope with a menu with many items" -- sorry it took so long.
+	* src/freeglut_window.c: Addressing Feature Request #1307049 that
+	  "freeglut" should return 0 if "glutGetWindow" is called without a
+	  prior call to "glutInit", rather than terminating on error.
+	* freeglut.dep, freeglut.mak, freeglut_static.dep, freeglut_static.mak:
+	  Added Windows "nmake" Makefiles and dependency files for the two
+	  "freeglut" projects in accordance with Feature Request #1454543
+
+2007-09-16  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_window.c: Fixing bug #1688954, submitted in Marcy '07. I
+	  changed "FREEGLUT" to _T("FREEGLUT") and nothing changed on my Windows
+	  XP system. If this will allow it to work on Vista, then in it goes.
+	* src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
+	  Fixing bug report #1052151 from October 2004.
+
+2006-11-28  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* FrequentlyAskedQuestions: Adding a Frequently Asked Questions file
+
+2006-09-28  Joe Krahn <krahn@niehs.nih.gov>
+
+	* src/freeglut_state.c, src/freeglut_window.c: Removed incorrect comment
+	  about internal WGL/ARB definitions. I actually had put those comments
+	  in because I had meant to go back and re-check the WGL extension. But,
+	  maybe locally defined extensions should be kept in a separate include
+	  file?
+
+2006-09-27  Joe Krahn <krahn@niehs.nih.gov>
+
+	* freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
+	  progs/demos/CallbackMaker/CallbackMaker.dsp,
+	  progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
+	  progs/demos/Fractals/Fractals.dsp,
+	  progs/demos/Fractals/FractalsStatic.dsp,
+	  progs/demos/Fractals_random/Fractals_random.dsp,
+	  progs/demos/Fractals_random/Fractals_randomStatic.dsp,
+	  progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
+	  progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
+	  progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
+	  progs/demos/shapes/shapesStatic.dsp: Undo svn:eol-style=CR/LF for MSVC
+	  project files.
+
+2006-09-26  Joe Krahn <krahn@niehs.nih.gov>
+
+	* include/GL/freeglut_std.h, src/freeglut_joystick.c,
+	  src/freeglut_state.c, src/freeglut_window.c: Added
+	  FREEGLUT_LIB_PRAGMAS to control MS library pragmas, and fixed NOMINMAX
+	  define.
+	* freeglut.dsp, freeglut.dsw, freeglut_static.dsp,
+	  progs/demos/CallbackMaker/CallbackMaker.dsp,
+	  progs/demos/CallbackMaker/CallbackMakerStatic.dsp,
+	  progs/demos/Fractals/Fractals.dsp,
+	  progs/demos/Fractals/FractalsStatic.dsp,
+	  progs/demos/Fractals_random/Fractals_random.dsp,
+	  progs/demos/Fractals_random/Fractals_randomStatic.dsp,
+	  progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
+	  progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
+	  progs/demos/demos.dsw, progs/demos/shapes/shapes.dsp,
+	  progs/demos/shapes/shapesStatic.dsp: Added svn:eol-style=CRLF property
+	  to MSVC project/workspace files.
+
+2006-09-25  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_window.c: Fixing a typo bug in the display mode checking
+	  (removing multisampling if it is not supported)
+
+2006-09-25  Joe Krahn <krahn@niehs.nih.gov>
+
+	* src/freeglut_state.c: Fixed a small mistake in the previous commit for
+	  glutGet.
+	* src/freeglut_state.c: Added proper support for number of mouse buttons
+	  in X11, and a keyboard in Windows CE. Also, several glutGet results
+	  returning TRUE/FALSE were changed to 1/0, because the actual return
+	  type is int (although they are technically the same in practice).
+
+2006-09-24  Joe Krahn <krahn@niehs.nih.gov>
+
+	* src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c:
+	  Converted Time counter to a uniform unsigned long it value. The
+	  initialized flag was redundant with the main Initialized flag, and
+	  conversion of timeval to milliseconds in POSIX makes the code cleaner.
+	  Timeval has a longer range, but the time value is already limited by
+	  the GLUT API.
+
+2006-09-23  Joe Krahn <krahn@niehs.nih.gov>
+
+	* src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
+	  Removed WindowState.IsGameMode; it is redundant with
+	  Structure.GameModeWindow
+
+2006-09-21  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_state.c, src/freeglut_window.c: Adding support for the
+	  multisampling query per bug report 1274193
+	* ChangeLog, src/freeglut_main.c: Fixing Bug #1398196 - Windows message
+	  argument
+
+2006-09-21  Joe Krahn <krahn@niehs.nih.gov>
+
+	* src/freeglut_cursor.c: test (comment edited)
+
+2006-09-21  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* ChangeLog, src/freeglut_init.c: Adding temporary fix to
+	  "glutInitDisplayString" to ignore numerical assignments
+	* ChangeLog, src/freeglut_window.c: Adding multisampling to *nix and
+	  Windows; also some other pixel format enhancements to Windows
+	* ChangeLog, progs/demos/CallbackMaker/CallbackMaker.c: Enhancing the
+	  "CallbackMaker" demo
+	* ChangeLog, src/freeglut_cursor.c, src/freeglut_display.c,
+	  src/freeglut_ext.c, src/freeglut_gamemode.c,
+	  src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
+	  src/freeglut_input_devices.c, src/freeglut_internal.h,
+	  src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
+	  src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_teapot.c,
+	  src/freeglut_teapot_data.h, src/freeglut_window.c: Joe Krahn's changes
+	  to "TARGET_HOST" defined constants
+	* ChangeLog, src/freeglut_internal.h, src/freeglut_joystick.c,
+	  src/freeglut_main.c, src/freeglut_window.c: Fixing two minor bugs,
+	  adding comments
+	* ChangeLog, src/freeglut_gamemode.c, src/freeglut_internal.h,
+	  src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
+	  Changing "GameMode" to "GameModeWindow ... and testing whether I can
+	  get to SVN directly
+
+2006-08-05  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, progs/demos/Fractals/fractals.c,
+	  progs/demos/Fractals_random/fractals_random.c,
+	  progs/demos/Lorenz/lorenz.c: Check fgets for return value to avoid
+	  warnings.
+	* freeglut.spec: Fixed typo in date
+	* freeglut.spec: Updated build requirements for SuSE 10.1
+
+2005-10-12  Sven Panne <sven.panne@aedion.de>
+
+	* ., .cvsignore: Ooops, forgot to ingore INSTALL and install-sh in
+	  previous commit...
+	* ChangeLog, include/GL/freeglut_ext.h, include/GL/freeglut_std.h: Moved
+	  GLUT_INIT_STATE to <GL/freeglut_ext.h>, it is not part of the original
+	  GLUT.
+	* ., .cvsignore, ChangeLog, INSTALL, autogen.sh, install-sh,
+	  mkinstalldirs: Simply use autoreconf in autogen.sh, it is much simpler
+	  and the recommended way in the autotools documentation. Removed
+	  INSTALL, install-sh and mkinstalldirs, they are either unused or
+	  automatically generated by autogen.sh.
+
+2005-10-06  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* include/GL/freeglut_ext.h: Allowing compilation of Windows version by
+	  removing DLL decorations from deprecated joystick interface extensions
+	* src/freeglut_window.c: Implementing Stereo in Windows
+
+2005-09-07  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, src/Makefile.am: Use target-specific *_CPPFLAGS, not the
+	  deprecated INCLUDES.
+	* ChangeLog, autogen.sh: Use -Wall for automake to catch some buglets,
+	  deprecated stuff, etc.
+
+2005-09-04  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, autogen.sh: Silenced autogen.sh
+
+2005-08-31  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* freeglut.rc, freeglut.tgt, freeglut.wpj, freeglut_static.tgt:
+	  Necessary files for Open Watcom support
+	* src/freeglut_internal.h: Adding Open Watcom support
+	* ChangeLog, README.win32: Documenting support for Open Watcom
+	* include/GL/freeglut_std.h: Implementing WATCOM support
+
+2005-07-14  Sven Panne <sven.panne@aedion.de>
+
+	* src/freeglut_input_devices.c: Nuked useless bit-fiddling, pointed out
+	  by John. I was a bit too quick to cut-n-paste the cfmakeraw()
+	  definition into our code... :-]
+	* ChangeLog, src/freeglutdll.def: Synched the DLL definitions with
+	  reality.
+	* ChangeLog, src/freeglut_cursor.c: Fixed the GLUT_CURSOR_INHERIT logic
+	  once again...
+	  
+	  Note that this commit is untested, but at least it looks better than
+	  before. We really a need a cursor test program.
+
+2005-07-13  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_cursor.c: Fixing a cursor bug in \"GLUT_CURSOR_INHERIT\"
+
+2005-07-13  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, configure.ac: Improve autoconf magic: To detect headers
+	  like GL/gl.h, it might be necessary to temporarily use the X11 flags
+	  found by AC_PATH_XTRA.
+	* ChangeLog, src/freeglut_joystick.c: Avoid gcc warnings for some
+	  joystick code (e.g. on Solaris).
+	* src/freeglut_input_devices.c: Tiny cleanup only...
+	* ChangeLog, src/freeglut_input_devices.c: Solaris doesn't have
+	  cfmakeraw, but it is only a convenience function for some
+	  bit-fiddling, anyway.
+
+2005-07-08  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, include/GL/freeglut_ext.h, src/freeglut_ext.c,
+	  src/freeglut_internal.h: Made all the "glutJoystickXXX" functions part
+	  of the freeglut extensions. If this is not what we want, we can easily
+	  #ifdef this away again...
+	* ChangeLog, src/freeglut_geometry.c: Made a few global arrays "static",
+	  avoiding namespace pollution. The only externally visible symbols
+	  should either be from the GLUT API ("glutXXX") or internal freeglut
+	  entities ("fgYYY"). Reformatted things a bit on the way.
+
+2005-07-06  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, src/freeglut_main.c: We only have pending redisplay
+	  callbacks when the window wants to be redisplayed *and* it is visible.
+	  Otherwise we won't redraw, anyway, and immediately discover that
+	  there's still something to do, etc. etc., leading to 100% CPU load.
+	* ChangeLog, src/freeglut_main.c: Removed redundant code.
+	* ChangeLog, src/freeglut_init.c: X11 only: Destroy the global menu
+	  rendering context when deinitializing. The visual/context handling for
+	  menus is still rather obscure, though...
+	* progs/demos/Lorenz/lorenz.c: Reverting previous commit: %lf is a valid
+	  format specifier for the scanf familiy of functions only, not for the
+	  printf family.
+
+2005-07-05  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_main.c: Implementing the new menu context variable names
+	  in Windows ...
+	* src/freeglut_internal.h: Changing a comment ... nothing big.
+	* progs/demos/Lorenz/lorenz.c: Fixing output formats ... nothing big
+
+2005-07-05  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, src/freeglut_state.c, src/freeglut_window.c: X11 only: Free
+	  XVisualInfo structures when they are not needed anymore, fixing a
+	  space leak. Not perfect for menus yet...
+	* src/freeglut_internal.h, src/freeglut_window.c: Tiny change to make
+	  grep's life easier: Rename the fields of the menu context. Not really
+	  worth a ChangeLog entry...
+	  
+	  IMHO it looks like we could kill the whole MenuContext stuff, it is of
+	  no use currently and some things look strange, like e.g. having a
+	  context per menu. The latter is not OK when a menu is attached to
+	  multiple windows.
+
+2005-07-02  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, src/freeglut_init.c, src/freeglut_internal.h,
+	  src/freeglut_main.c, src/freeglut_state.c: Handle modifiers in
+	  MotionNotify events, too. This fixes bug #1227920 (glutGetModifiers
+	  not set/allowed in mouse callbacks). In addition, some related cleanup
+	  has been done.
+	* ChangeLog, src/freeglut_joystick.c: Partial fixes for bug #1218900
+	  (freeglut-2.4.0 on FreeBSD).
+	* ChangeLog, Makefile.am: Remove wrong "execute" bits when creating a
+	  distribution. This fixes bug #961938 (Executable bit set on non exe
+	  files).
+	* configure.ac: Tiny cosmetic change, not worth a ChangeLog entry.
+	* ChangeLog: Added John's missing ChangeLog entry.
+
+2005-07-01  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* freeglut.dsp, freeglut_static.dsp: Adding the
+	  \"freeglut_input_devices.c\" file to the Windows project files
+
+2005-07-01  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, configure.ac, src/Makefile.am: Some steps toward
+	  compilation under MinGW. Note that there are still linking troubles
+	  for the examples.
+	* src/freeglut_internal.h: Fixed #ifdef for ChangeDisplaySettingsEx
+	  prototype.
+	* ChangeLog, src/freeglut_input_devices.c: Silenced a signed/unsigned
+	  mismatched via a cast.
+	* ChangeLog, src/freeglut_internal.h: MinGW is lacking a prototype for
+	  ChangeDisplaySettingsEx, so supply one in this case. Note that this
+	  should better be handled via autoconf than via cpp.
+	* ChangeLog, Makefile.am: Removed redundant files from EXTRA_DIST.
+
+2005-06-30  Sven Panne <sven.panne@aedion.de>
+
+	* src/freeglut_main.c: Ooops, forgot to set the current window in the
+	  last commit. I'll have to test better before comitting... :-]
+	* ChangeLog, src/freeglut_main.c: When a window is iconified, only an
+	  UnmapNotify is sent, not a VisibilityNotify, so we have to handle the
+	  window status callback in the former case, too. This fixes bug #763442
+	  (Call the visibility callback when minimizing a window).
+	* ChangeLog, src/freeglut_main.c: Cleaned up
+	  CreateNotify/ConfigureNotify handling.
+	* src/freeglut_main.c: Ooops, forgot to dump a few fields in some
+	  events...
+	* ChangeLog, configure.ac, src/freeglut_main.c: Added --enable-debug
+	  configure flag. Currently it only turns on X11 event tracing, but in
+	  the future we could add more.
+	  
+	  Note: freeglut_main.c could benefit from some restructuring to clean
+	  up the #ifdefs and cut down the sizes of some extremely long
+	  functions.
+	* ., .cvsignore: Ignore files generated during RPM build.
+
+2005-06-23  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* doc/freeglut_user_interface.html: Fixing the documentation regarding
+	  callbacks and geometry shape additions
+	* progs/demos/Fractals/Fractals.dsp,
+	  progs/demos/Fractals/FractalsStatic.dsp,
+	  progs/demos/Fractals_random/Fractals_random.dsp,
+	  progs/demos/Fractals_random/Fractals_randomStatic.dsp,
+	  progs/demos/Lorenz/lorenz.dsp, progs/demos/Lorenz/lorenzStatic.dsp,
+	  progs/demos/One/one.dsp, progs/demos/One/oneStatic.dsp,
+	  progs/demos/shapes/shapes.dsp, progs/demos/shapes/shapesStatic.dsp:
+	  Adding separate static library and DLL demonstration program projects
+	* progs/demos/CallbackMaker/CallbackMaker.dsp,
+	  progs/demos/CallbackMaker/CallbackMakerStatic.dsp: Adding separate
+	  demo program projects for static library and DLL versions
+	* progs/demos/demos.dsw: Adding support for separate static library demo
+	  programs
+	* ChangeLog: Keeping current ...
+	* src/freeglut_input_devices.c: New file for Joe Krahn\'s dials input
+	  device
+
+2005-06-22  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_geometry.c: Fixing a bug in the Sierpinski sponge code
+	  that made the application crash if called with number of levels < 0
+	* src/Makefile.am, src/freeglut_init.c, src/freeglut_internal.h,
+	  src/freeglut_joystick.c, src/freeglut_state.c: Joe Krahn\'s input
+	  (dials) device implementation.
+
+2005-06-14  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, freeglut.spec: Added an RPM spec file based on the one
+	  shipped with SuSE 9.3.
+
+2005-06-10  James Jones <puggles@users.sourceforge.net>
+
+	* ChangeLog, configure.ac: Release of 2.4.0
+
+2005-06-02  James Jones <puggles@users.sourceforge.net>
+
+	* ChangeLog, configure.ac, src/freeglut_internal.h: 2.4.0 Release
+	  Candiate 5
+
+2005-05-26  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_main.c: Takeshi Nishimura\'s changes to make the Windows
+	  mouse wheel/button mapping match that of X11; also fixing a typo in
+	  the associated mouse callback argument list
+
+2005-05-26  James Jones <puggles@users.sourceforge.net>
+
+	* ChangeLog, configure.ac: 2.4.0 RC4 updates
+	* src/freeglut_main.c: Fix joysticks so they are polled by their timer
+	  correctly. (Dan Torop)
+
+2005-05-24  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, src/freeglut_gamemode.c: The original glutEnterGameMode()
+	  returns the window id of the game mode window, not TRUE/FALSE, we
+	  should better follow that. Note that most man pages claim that this
+	  function returns void, but this is definitely wrong.
+	* ChangeLog, src/freeglut_gamemode.c, src/freeglut_main.c: When
+	  switching to game mode under X11, no ConfigureNotify event will happen
+	  and consequently no reshape callback will ever be called via the
+	  normal mechanism. To fix this, note that the game mode window needs to
+	  be resized and handle this before redraw.
+
+2005-05-22  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, src/freeglut_ext.c: Guarantee consistency of
+	  names/addresses in glutGetProcAddress by using a macro. In addition,
+	  this avoids any non-constant initializer issues which might be raised
+	  when using WinDoze GCCs. The additional code overhead is negligible,
+	  at least for x86 (a few instructions per name).
+	* ChangeLog, configure.ac: Lowering minimum autoconf version required.
+
+2005-05-20  James Jones <puggles@users.sourceforge.net>
+
+	* ChangeLog: Tag for 2.4.0 RC3
+	* ChangeLog: Notes
+
+2005-05-19  Sven Panne <sven.panne@aedion.de>
+
+	* src/freeglut_gamemode.c: Fixed SF bug #1204256: Off-by-one error in
+	  X11 mode switching. The code which changes the X11 video mode has an
+	  off-by-one error, resulting in a wrong mode or segfault. I've
+	  refactored the code slighty to make it hopefully clearer what's going
+	  on and corrected some #ifdefs on the way. Now at least the "One" demo
+	  works for me.
+	* src/freeglut_window.c: Fixed SF bug #1204261: Mini space leak when
+	  creating an X11 window (X11 text property values have to be freed
+	  after using them)
+
+2005-05-18  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_gamemode.c: Removing a C++ comment and simplifying the
+	  string handling
+
+2005-05-17  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_gamemode.c: Misiek\'s changes to fix Game Mode--getting
+	  display settings under Windows and setting the window size correctly
+	  on all operating systems.
+
+2005-05-16  James Jones <puggles@users.sourceforge.net>
+
+	* ChangeLog: Mark for 2.4 RC 2
+
+2005-05-13  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_menu.c: Removing two unused variables so this will
+	  compile on Linux with -Wall
+
+2005-05-12  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* ChangeLog: Updating the ChangeLog ...
+	* src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c:
+	  Takeshi Nishimura\'s menu changes--menus should now work properly. Use
+	  the GLUT \"GLUTmech\" and \"walker\" demos to test them.
+	* src/freeglut_main.c: Takeshi Nishimura\'s menu fixes
+
+2005-05-09  James Jones <puggles@users.sourceforge.net>
+
+	* ChangeLog, Makefile.am, configure.ac: Freeglut 2.4.0 Release Candidate
+	  1
+
+2005-05-06  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, progs/demos/shapes/shapes.c: Fixed a cuboctahedron vertex,
+	  implemented wire mode for that shape.
+	* ChangeLog, progs/demos/shapes/shapes.c, src/freeglut_internal.h,
+	  src/freeglut_main.c: Necessary compilation fixes for newer GCCs (e.g.
+	  3.3.5, 4.0). Side effect: The shapes demo has a new 'i' key now.
+
+2005-05-05  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* ChangeLog: Updated the ChangeLog again ...
+
+2005-05-04  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* progs/demos/shapes/shapes.c: Replacing the original \"freeglut\"
+	  \"shapes\" demo with the much snazzier OpenGLUT \"shapes\" demo. Many
+	  thanks to the OpenGLUT community for writing it. The copyright notice
+	  stays in the program.
+	* src/freeglut_main.c: Changing hard-coded constant (number of mouse
+	  buttons = 3) to a \"glutDeviceGet\" call in two places under X11
+	* src/freeglutdll.def: Changing the version number from 2.0 to 2.4.0 ...
+	  do we need to add any new interface functions?
+	* src/freeglut_internal.h: Removing an unused variable
+	* src/freeglut_window.c: Adding a comment on why \"freeglut\" differs
+	  from GLUT in a particular way
+	* src/freeglut_joystick.c: Removing an unused function
+	* src/freeglut_init.c: Making the \"key repeat\" initialization
+	  consistent with the rest of its usage; also making the
+	  \"initDisplayString\" ever-so-slightly mroe general
+	* ChangeLog, TODO, src/freeglut_window.c: Updating the ChangeLog and
+	  TODO files in preparation for the upcoming release
+
+2005-04-29  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_joystick.c: Adding a \"TODO\" comment about dynamically
+	  allocating joystick buttonj and axis arrays
+	* ChangeLog: Updationg the ChangeLog ...
+
+2005-04-28  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* README.win32: Adding a \"README.Win32\" file with instructions on how
+	  to install \"freeglut\" under Windows.
+	* src/freeglut_main.c: Adding Window Exit event handling to the Windows
+	  code; also adding a note that eventually it would be good to handle
+	  the Window Entry event
+
+2005-04-27  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_window.c: Fixing bug [ 1111218 ] fullscreen not working
+	  Better late than never.
+	* src/freeglut_init.c: Fixing Bug Report [ 1160442 ]
+	  glutGet(GLUT_ELAPSED_TIME) is too granular
+
+2005-04-26  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_internal.h, src/freeglut_structure.c: Fixing the
+	  typecasts on the callback fetches and invocations to allow
+	  \"freeglut\" to compile with GCC 4.0
+	* src/freeglut_menu.c: Fixing erroneous implementation of Takeshi\'s fix
+	* src/Makefile.am: Changing include path from relative to absolute to
+	  support off-directory builds (Yuri D\'Elia, March 22, 5:59 PM)
+	* LISEZ_MOI: Adding \"LISEZ-MOI\", the French version of \"README\"
+
+2005-04-25  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* ChangeLog: Updating the ChangeLog ... it seems to be something of a
+	  stepchild if we\'re not careful.
+
+2005-04-22  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* src/freeglut_menu.c: Yuri D\'Elia\'s changes to get the virtual
+	  maximum screen extent instead of the actual screen size.
+	* src/freeglut_gamemode.c: Yuri D\'Elia\'s changes to the game mode
+	  window
+	* src/freeglut_structure.c: Change a hard-coded number to a defined
+	  constant and add some initializations
+	* src/freeglut_cursor.c: Removing duplicate cursor code. This and the
+	  previous change (in freeglut_main.c) apparently got combined.
+	* ChangeLog: Updating the ChangeLog to reflect activity over the past
+	  few months
+	* src/freeglut_callbacks.c, src/freeglut_cursor.c,
+	  src/freeglut_display.c, src/freeglut_gamemode.c,
+	  src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
+	  src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
+	  src/freeglut_window.c: Trying again to change \"fgStructure.Window\"
+	  to \"fgStructure.CurrentWindow\" and \"fgStructure.Menu\" to
+	  \"fgStructure.CurrentMenu\" for easier maintenance.
+
+2005-04-15  John F. Fay <john.fay.ctr@eglin.af.mil>
+
+	* ChangeLog: Updating the ChangeLog as a means of testing pCVSc
+	* src/freeglut_internal.h: Testing!
+
+2005-03-23  Brian Paul
+
+	* include/GL/freeglut_ext.h: added comment about AUX flags
+
+2005-02-16  Brian Paul
+
+	* src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
+	  src/freeglut_structure.c, src/freeglut_window.c: fixes for menus being
+	  attached to multiple buttons/windows (John Fay)
+	* src/freeglut_callbacks.c: added error check (John Fay)
+
+2005-02-15  Brian Paul
+
+	* src/freeglut_init.c, src/freeglut_window.c: AUX buffers for Windows
+	  (John Fay)
+
+2005-02-11  Brian Paul
+
+	* include/GL/freeglut_ext.h, src/freeglut_init.c, src/freeglut_window.c:
+	  Aux color buffer support. Pass one of GLUT_AUX[1234] to
+	  glutInitDisplayMode. Only implemented/tested on GLX, not Windows.
+	* include/GL/freeglut_ext.h, src/freeglut_ext.c,
+	  src/freeglut_internal.h: Fix object/function pointer inconsistencies
+	  which are a problem for gcc 3.4.2. Added GLUTproc type, returned by
+	  glutGetProcAddress().
+
+2005-01-23  Sven Panne <sven.panne@aedion.de>
+
+	* configure.ac: autoconf 2.58 is enough
+	* src/freeglut_callbacks.c, src/freeglut_internal.h: Stylistic change
+	  only (added "do { ... } while( 0 )" around multi-statement macros)
+	* configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: Testing
+	  for errno.h is overkill. :-)
+	* src/freeglut_cursor.c, src/freeglut_main.c: Windows platforms only:
+	  Merged some cursor-related code from John Fay (with minor changes)
+
+2005-01-05  Sven Panne <sven.panne@aedion.de>
+
+	* src/freeglut_ext.c, src/freeglut_font.c, src/freeglut_main.c,
+	  src/freeglut_state.c, src/freeglut_window.c: Hopefully removed all
+	  damage done by commits without merge
+	* ChangeLog, src/freeglut_cursor.c: Reworked the X11 part of
+	  glutSetCursor, fixing bug #764187 (Variable mouse pointers don't work)
+	  on the way: * Use slightly more compatible cursor shapes for
+	  GLUT_CURSOR_RIGHT_ARROW and GLUT_CURSOR_LEFT_ARROW. * Refactored and
+	  fixed the erroneous code for GLUT_CURSOR_NONE. * Removed the incorrect
+	  use of XFreeCursor and use a cache of cursors instead. Cursors are
+	  never freed now, we could do this e.g. via reference countig if this
+	  is really needed. * Fixed error handling. * Unknown cursor types are
+	  an error now. * Now the window state always corresponds to the wanted
+	  cursorID, even in the case of GLUT_CURSOR_FULL_CROSSHAIR.
+	  
+	  NOTE: I am not sure where the cursor cache should really reside,
+	  currently it is simply a file-local variable.
+
+2005-01-03  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
+	  mode matching code, memory leaks, fullscreen), i.e. issue warnings
+	  when XF86VidModeFOO fails.
+	* ChangeLog, src/freeglut_gamemode.c: (234) Fixed part of bug #926883
+	  (Video mode matching code, memory leaks, fullscreen): Now we first try
+	  to get an exact mode match, ignoring the refresh rate if none could be
+	  found. This way the X11 part and the WinDoze behave similarly. NOTE:
+	  We still don't behave like GLUT, because it has a wider notion of
+	  "best" match. We have to refactor and extend freeglut quite a bit to
+	  do that.
+	* ChangeLog, src/freeglut_gamemode.c: Fixed part of bug #926883 (Video
+	  mode matching code, memory leaks, fullscreen), i.e. memory leak caused
+	  by not freeing the mode lines returned by XF86VidModeGetAllModeLines
+	* ChangeLog, src/freeglut_window.c: Improved error message a bit when no
+	  suitable visual could be found (X11 only).
+	* configure.ac, src/freeglut_internal.h, src/freeglut_main.c: autoconf'd
+	  vfprintf
+	* src/freeglut_joystick.c: Removed redundant #include
+	* ChangeLog, configure.ac, src/freeglut_joystick.c, src/freeglut_main.c:
+	  autoconf'd <errno.h> handling and removed an unused '#include
+	  <sys/stat.h>'
+	* configure.ac, src/freeglut_joystick.c, src/freeglut_main.c: autoconf'd
+	  <limits.h> and <sys/param.h> handling, removing MIN/MAX macros on the
+	  way.
+	* src/freeglut_internal.h: Cosmetics.
+	* configure.ac, src/freeglut_joystick.c: autoconf'd <fcntl.h> and
+	  <sys/ioctl.h> handling
+	* src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c:
+	  Improved <sys/typed.h> / <unistd.h> handling as suggested by the
+	  autoconf docs.
+	* configure.ac, progs/demos/Lorenz/lorenz.c, src/freeglut_internal.h,
+	  src/freeglut_main.c: Fixed <sys/time.h> / <time.h> handling as
+	  suggested by the autoconf docs.
+	* src/freeglut_callbacks.c, src/freeglut_cursor.c,
+	  src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
+	  src/freeglut_font_data.c, src/freeglut_gamemode.c,
+	  src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
+	  src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
+	  src/freeglut_misc.c, src/freeglut_overlay.c, src/freeglut_state.c,
+	  src/freeglut_structure.c, src/freeglut_teapot.c,
+	  src/freeglut_videoresize.c, src/freeglut_window.c: Moved '#include
+	  "config.h"' to freeglut_internal.h, we will need it there soon and it
+	  makes everything a bit shorter.
+	* ChangeLog: Resurrected my recent additions which were nuked by the
+	  previous commit, adding the latest change on the way. :-(
+	* acconfig.h: Removed acconfig.h, it is deprecated and we don't need it.
+	* src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
+	  src/freeglut_structure.c: Make it compile again with "-Wall -pedantic
+	  -Werror", redoing quite a few things I've fixed already a few days
+	  ago. Have today's commits been done by copying instead of merging? :-(
+
+2005-01-03  James Jones <puggles@users.sourceforge.net>
+
+	* src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
+	  src/freeglut_window.c: Changes remove duplicate menu code from
+	  "freeglut_window.c" and put it into one place in "freeglut_menu.c"
+	  where it belongs. - John Fay
+	* ChangeLog: General ChangeLog Updates
+	* src/freeglut_callbacks.c, src/freeglut_cursor.c,
+	  src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
+	  src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
+	  src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
+	  src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
+	  src/freeglut_structure.c, src/freeglut_teapot.c,
+	  src/freeglut_teapot_data.h, src/freeglut_window.c: Adding
+	  initialization checking to all GLUT interface functions and removing
+	  asserts from the rest of the code - John Fay
+
+2005-01-01  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, src/Makefile.am: Added missing files from "src"
+	  subdirectory to dist.
+	* AUTHORS: Synched with project member list on SourceForge
+	* ChangeLog, Makefile.am, configure.ac: Modernized configure.ac a bit
+	  and added a rule to Makefile.am to update libtool. Note that all gcc
+	  compiler warnings are now on by default.
+	* ChangeLog, include/GL/freeglut_std.h,
+	  progs/demos/CallbackMaker/CallbackMaker.c,
+	  progs/demos/Fractals_random/fractals_random.c,
+	  progs/demos/Lorenz/lorenz.c, progs/demos/One/one.c,
+	  src/freeglut_cursor.c, src/freeglut_font.c, src/freeglut_init.c,
+	  src/freeglut_teapot_data.h: Make "gcc -Wall -pedantic -Werror" happy.
+	* ., .cvsignore: Ignore files generated by autoscan.
+	* ChangeLog, INSTALL, configure.ac, configure.in: Renamed "configure.in"
+	  to the officially preferred "configure.ac".
+	* stamp-h, stamp-h.in: Removed unused stamp-h* files, configure
+	  generates them (a single stamp-h1, to be exact).
+	* ChangeLog, Makefile.am: Added eMbedded Visual Tools project/workspace
+	  files to distribution.
+	* ., .cvsignore: Ignore distribution tar files
+
+2004-12-31  Sven Panne <sven.panne@aedion.de>
+
+	* ChangeLog, src/freeglut_main.c: Fixed first bug of #1064195 (two
+	  things when using signals): Don't issue a warning about select when a
+	  non-blocked signal was caught. This makes sense and is more compatible
+	  with GLUT.
+	* ChangeLog, src/freeglut_font.c: Fixed bug #1040435 (glutBitmapString()
+	  bug).
+	* ChangeLog: Alas, the ChangeLog has not the usual ChangeLog format, so
+	  tell (X)Emacs about that fact.
+	* ChangeLog, src/freeglut_window.c: Fixed bug #1045054 (KeyReleaseMask
+	  typo).
+	* ChangeLog, src/freeglut_state.c: Fixed bug #1087642
+	  (glutDeviceGet(GLUT_DEVICE_KEY_REPEAT) unimplemented).
+	* ChangeLog, src/freeglut_ext.c: Fixed bug #1079530 (glutGetProcAddress
+	  and geometric objects).
+	* ., .cvsignore, doc, doc/.cvsignore, include, include/.cvsignore,
+	  include/GL, include/GL/.cvsignore, progs, progs/.cvsignore,
+	  progs/demos, progs/demos/.cvsignore, progs/demos/CallbackMaker,
+	  progs/demos/CallbackMaker/.cvsignore, progs/demos/Fractals,
+	  progs/demos/Fractals/.cvsignore, progs/demos/Fractals_random,
+	  progs/demos/Fractals_random/.cvsignore, progs/demos/Lorenz,
+	  progs/demos/Lorenz/.cvsignore, progs/demos/One,
+	  progs/demos/One/.cvsignore, progs/demos/shapes,
+	  progs/demos/shapes/.cvsignore, src, src/.cvsignore: Improved
+	  ignorance.
+
+2004-12-17  James Jones <puggles@users.sourceforge.net>
+
+	* src/freeglut_cursor.c, src/freeglut_display.c,
+	  src/freeglut_internal.h, src/freeglut_menu.c, src/freeglut_misc.c,
+	  src/freeglut_window.c: Some assertion changes / removals from Dr. John
+	  Fay
+
+2004-10-06  Brian Paul
+
+	* src/freeglut_callbacks.c, src/freeglut_internal.h,
+	  src/freeglut_joystick.c, src/freeglut_state.c: joystick init fixes
+	  (John Fay)
+
+2004-10-05  Brian Paul
+
+	* src/freeglut_main.c: updated comments (John Fay)
+	* src/freeglut_init.c, src/freeglut_main.c, src/freeglut_window.c:
+	  improved comments and mouse coord adjustments (John Fay)
+	* src/freeglut_init.c: more clean-ups, fixes from John Fay
+
+2004-09-23  Brian Paul
+
+	* src/freeglut_font.c, src/freeglut_stroke_mono_roman.c,
+	  src/freeglut_stroke_roman.c: font updates from John Fay
+	* src/freeglut_main.c: more updates from John Fay
+	* src/freeglut_geometry.c, src/freeglut_init.c: assorted updates from
+	  John Fay
+
+2004-09-15  James Jones <puggles@users.sourceforge.net>
+
+	* src/freeglut_init.c: Fix to glutInit() command-line argument
+	  compaction - Patch #1027724 from takeshi2
+
+2004-09-13  Brian Paul
+
+	* src/freeglut_callbacks.c, src/freeglut_cursor.c,
+	  src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
+	  src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_state.c,
+	  src/freeglut_window.c: more updates from John Fay
+	* src/freeglut_cursor.c, src/freeglut_gamemode.c,
+	  src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_internal.h,
+	  src/freeglut_joystick.c, src/freeglut_main.c,
+	  src/freeglut_structure.c, src/freeglut_teapot.c,
+	  src/freeglut_window.c: some function renaming, etc (John Fay)
+
+2004-09-10  Brian Paul
+
+	* src/freeglut_callbacks.c, src/freeglut_init.c,
+	  src/freeglut_internal.h, src/freeglut_main.c: joystick updates from
+	  John Fay
+	* src/freeglut_cursor.c, src/freeglut_font_data.c,
+	  src/freeglut_gamemode.c, src/freeglut_geometry.c, src/freeglut_init.c,
+	  src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
+	  src/freeglut_menu.c, src/freeglut_misc.c, src/freeglut_state.c,
+	  src/freeglut_stroke_mono_roman.c, src/freeglut_stroke_roman.c,
+	  src/freeglut_structure.c, src/freeglut_teapot.c,
+	  src/freeglut_window.c: updated comments from John Fay
+
+2004-08-11  James Jones <puggles@users.sourceforge.net>
+
+	* src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c:
+	  Fix a game mode crashing bug, conditional compilation for Windows, and
+	  comment out some diagnostic prints (John Fay)
+
+2004-08-05  James Jones <puggles@users.sourceforge.net>
+
+	* src/freeglut_window.c: Implements Richard Rauch's request that the
+	  warning about indirect rendering contexts be suppressed for his BSD
+	  operating systems.
+	* src/freeglut_teapot_data.h: Someone used C++ style comments in a C
+	  file... tisk tisk...
+	* src/freeglut_font.c: Bugfix for "glutBitmapString" so that it now
+	  handles end-of-line characters properly (Richard Rauch)
+	* README: Incremental update ... (John Fay)
+
+2004-06-29  Brian Paul
+
+	* src/freeglut_structure.c: give menu windows the title 'freeglut menu'
+	  (helps Chromium)
+	* src/freeglut_window.c: move glXMakeCurrent() to after the point where
+	  the window's title is set (helps Chromium)
+
+2004-05-13  James Jones <puggles@users.sourceforge.net>
+
+	* freeglut.dsp, freeglut_static.dsp: Add one more header file to MSVC
+	  files
+
+2004-05-12  James Jones <puggles@users.sourceforge.net>
+
+	* include/GL/freeglut_ext.h, include/GL/freeglut_std.h: John Fay:
+	  Direct/indirect rendering context change, fix a bug that somebody
+	  reported (about needing "GLUT_XLIB_IMPLEMENTATION" defined) and remove
+	  a false deprecation of a function.
+	* src/freeglut_main.c: John Fay: A bug fix re: behavior of the code when
+	  the user clicks the "x" to close a window, and commentary to a message
+	  type with fixes for a Windows event processing bug.
+	* src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_state.c,
+	  src/freeglut_window.c: John Fay: Implement the modified logic of the
+	  direct/indirect rendering context.
+	* src/freeglut_font.c, src/freeglut_font_data.c: John Fay: Implement the
+	  upper end of the bitmapped fonts (beyond ASCII code 127). The fonts
+	  are very close to the GLUT fonts.
+	* src/freeglut_teapot.c, src/freeglut_teapot_data.h: John Fay: These
+	  files implement the teapot for WINCE.
+	* src/freeglut_internal.h: John Fay: Remove some obsolete defined
+	  symbols.
+	* freeglut.dsp, freeglut_static.dsp: John Fay: Add
+	  "freeglut_glutfont_definitions.c" to the build and tell it to look in
+	  the "include" directory for the <GL/freeglut.h> file.
+
+2004-03-28  Steve Baker <steve@sjbaker.org>
+
+	* progs/demos/shapes/shapes.c: Removed unnecessary initialisation.
+	* progs/demos/shapes/shapes.c: Added a cullface test.
+
+2004-03-22  drgoldie
+
+	* freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_init.c,
+	  src/freeglut_main.c: removed .cpp file (using LoadLibrary() instead)
+	  removed modified gx.h file cleaned up all // and tabs
+
+2004-03-17  nigels
+
+	* src/freeglut_main.c: Prevent exceeding array bounds in X11 key-repeat
+	  detection
+
+2004-03-16  drgoldie
+
+	* freeglut_evc4.vcp, src/freeglut_ext.c, src/freeglut_gx.cpp,
+	  src/freeglut_init.c, src/freeglut_main.c, src/freeglut_misc.c,
+	  src/freeglut_state.c, src/freeglut_window.c: replaced all tabs with 4
+	  spaces replaced all // with /* */ block fixed freeglut_gx.cpp file
+	  with #if TARGET_HOST_WINCE
+
+2004-03-16  nigels
+
+	* src/freeglut_init.c, src/freeglut_main.c, src/freeglut_state.c:
+	  Whitespace conversion - tabs to 4 spaces
+	* src/freeglut_window.c: Revert X11 fgCloseWindow to 1.38 pre-offscreen
+	  implementation.
+
+2004-03-15  drgoldie
+
+	* freeglut_evc4.vcp, src/freeglut_gx.cpp, src/freeglut_main.c: fixed
+	  mouse position and keyboard mapping. added c-wrapper cpp file for
+	  GAPI.
+	* freeglut_evc4.vcp, freeglut_evc4.vcw, include/GL/freeglut_std.h,
+	  src/freeglut_cursor.c, src/freeglut_display.c, src/freeglut_ext.c,
+	  src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
+	  src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
+	  src/freeglut_state.c, src/freeglut_window.c: added support for
+	  WindowsCE (building on top of klimt)
+
+2004-03-15  nigels
+
+	* src/freeglut_main.c: Repeat-key handling for Win32 Utilise both
+	  FreeGLUT state and per-window filtering modes
+
+2004-03-15  rkrolib
+
+	* ChangeLog: Forgot to update the ChangeLog for the benefit of those who
+	  do not have CVS or Web access.
+	* configure.in, include/GL/freeglut_ext.h, src/freeglut_internal.h,
+	  src/freeglut_window.c: Completed removal of all support for the
+	  offscreen rendering.
+	  
+	  If you wish to do offscreen supportin a portable manner, you will no
+	  longer be able to do so with current versions of freeglut.
+	* progs/demos/Makefile.am: Removed Makefile support for the offscreen
+	  demo.
+	* progs/demos/One/one.c, progs/demos/offscreen: Removed offscreen demo
+	  program.
+
+2004-03-15  nigels
+
+	* src/Makefile.am: Provide local include path to automake for
+	  GL/freeglut.h etc
+
+2004-03-14  nigels
+
+	* src/freeglut_window.c: Code formatting tweak
+	* src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c:
+	  Resolution of X11 key-repeat handling
+	  
+	  glutSetKeyRepeat is global to all FreeGLUT windows in the application
+	  glutIgnoreKeyRepeat is a per-window over-ride
+	  
+	  To avoid nasty global X11 state interaction, or GLUT-style event queue
+	  filtering - the approach in FreeGLUT is to use the current key state
+	  XQueryKeymap to detect and ignore KeyRelease/KeyPress pairs that are
+	  auto-generated.
+	  
+	  See also:
+	  http://pyopengl.sourceforge.net/documentation/manual/glutSetKeyRepeat.3GLUT.xml
+	  http://pyopengl.sourceforge.net/documentation/manual/glutIgnoreKeyRepeat.3GLUT.xml
+	* src/freeglut_callbacks.c, src/freeglut_cursor.c, src/freeglut_ext.c,
+	  src/freeglut_font.c, src/freeglut_font_data.c,
+	  src/freeglut_gamemode.c, src/freeglut_geometry.c,
+	  src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
+	  src/freeglut_internal.h, src/freeglut_joystick.c, src/freeglut_main.c,
+	  src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
+	  Stripped out tabs and end-of-line whitespace Differences are in
+	  whitespace only
+
+2004-03-10  nigels
+
+	* src/freeglut_window.c: Resolve [ 853044 ] FreeGLUT menus on Win32 in
+	  task bar and ALT-TAB list CreateWindowEx(WS_EX_TOOLWINDOW,...)
+	  extended style suppresses the popup menu window from the taskbar or
+	  ALT-TAB list
+
+2004-03-08  nigels
+
+	* src/freeglut_init.c: ignoreKeyRepeat mode in FreeGLUT is TRUE by
+	  default For compatibility with GLUT, the mode should be FALSE by
+	  default This issues was probably undetected until now because
+	  ignoreKeyRepeat didn't yet work.
+	* src/freeglut_main.c: Resolved bug #869765 glutIgnoreKeyRepeat() Fix
+	  (Win32) glutIgnoreKeyRepeat now behaves correctly on Win32
+	* src/freeglut_internal.h: C++ style comment converted to C style
+	  comment
+	* src/freeglut_callbacks.c, src/freeglut_cursor.c,
+	  src/freeglut_display.c, src/freeglut_ext.c, src/freeglut_font.c,
+	  src/freeglut_font_data.c, src/freeglut_gamemode.c,
+	  src/freeglut_geometry.c, src/freeglut_init.c, src/freeglut_joystick.c,
+	  src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_misc.c,
+	  src/freeglut_overlay.c, src/freeglut_state.c,
+	  src/freeglut_structure.c, src/freeglut_teapot.c,
+	  src/freeglut_videoresize.c, src/freeglut_window.c: Include freeglut
+	  header via <GL/freeglut.h> rather than "../include/GL/freeglut.h" This
+	  allows some additional flexibility with file layout. It should be the
+	  responsibility of the build environment, rather than at source level.
+	  This change tested on MSVC 6, cygwin and mingw32 gcc and Linux gcc.
+
+2004-03-03  nigels
+
+	* src/freeglut_joystick.c: According to John F. Fay: The variable
+	  "num_axes" should be "joy->num_axes".
+
+2004-02-20  rkrolib
+
+	* src/freeglut_gamemode.c: Removed nonstandard #warning constructs.
+	  Converted to XXX comments. (These are warnings about gamemode features
+	  not working the same on some systems as on others. The semantics of
+	  gamemode are dubious, since it was never formally documented, and has
+	  for a long time worked in different ways on different systems, so it
+	  is arguable that there is nothing really wrong with systems that don't
+	  support resolution-changes.)
+	* src/freeglut_callbacks.c: Fixed the bug where glutDisplayFunc() was
+	  effectively invoking glutPostRedsiplay(). This is wrong on the face of
+	  it, and may be at root for some of the annoying "timing" issues we've
+	  had with redisplay events being called inappopriately.
+
+2004-02-19  rkrolib
+
+	* progs/demos/offscreen/Makefile.am: I had rubbed the
+	  offscreen/Makefile.am off from the shapes demo. I forgot to remove a
+	  couple of references to the shapes.c and shapes.dsp (.dsw?) files.
+	* configure.in, include/GL/freeglut_ext.h, progs/demos/Makefile.am,
+	  progs/demos/offscreen, progs/demos/offscreen/Makefile.am,
+	  progs/demos/offscreen/offscreen.c: Added "offscreen" demo, a very
+	  simple program that produces an onscreen window and, upon command,
+	  renders a similar offscreen display and writes the result to disk.
+	  
+	  Also, modified the build structure for UNIX_X11 to autobuild the demo.
+	  (Not done for WIN32 at this time.)
+	  
+	  Also, forgot to previously commit the updated freeglut_ext.h include.
+	  Eeep.
+
+2004-02-18  rkrolib
+
+	* src/freeglut_window.c: Minor comment adjustments.
+
+2004-02-18  nigels
+
+	* src/freeglut_geometry.c: Refinements to comments
+
+2004-02-14  rkrolib
+
+	* src/freeglut_joystick.c: Normalized the style of the new joystick a
+	  bit.
+	* src/freeglut_main.c: For some reason, the X "expose" event handler was
+	  *directly* calling the display handler in the client. (Okay, it was
+	  calling a function that operates on the window handle.)
+	  
+	  If you have any complexity to the display code, this can be painful to
+	  watch. I can't think of a good reason to do the display immediately,
+	  so I fixed the code to do a glutPostRedisplay().
+	* src/freeglut_joystick.c: A commit on behalf of John (in turn, and in
+	  part, also on behalf of Thierry).
+	  
+	  * Renamed some of the old PLIB functions to have glut* prefixes. (I
+	  guess that there is some thought about exporting them to the API.)
+	  
+	  * Changes from Thierry for FreeBSD support, and/or results of testing?
+	  
+	  * I re-merged an XXX comment re. NetBSD/amd64 and propogated a comment
+	  on a duplicated #define for FreeBSD. We need the GNU autoconfig stuff
+	  to be updated by someone who groks it, now.
+
+2004-02-09  rkrolib
+
+	* src/freeglut_init.c: Commit of John's tidying-up of a comment, closing
+	  out an XXX comment that I wrote. Thanks, John.
+
+2004-02-07  rkrolib
+
+	* src/freeglut_window.c: ...AND a tab snuck into my changes for
+	  GLUT_OFFSCREEN support. Mea culpa.
+	* src/freeglut_joystick.c: Removed a ^M that snuck into the #pragma for
+	  the new joystick code.
+	* src/freeglut_window.c: Ooops. We don't want people to be able to
+	  create a subwindow of an offscreen window. (^& This is no longer
+	  permitted.
+	  
+	  (Actually, it would be nice if it would work, but I don't think that
+	  you can subwindow a pixmap in UNIX_X11, and assume that subwindowing
+	  offscreen doesn't work on WIN32, either.)
+	* ChangeLog: Added entries for the joystick updates and the offscreen
+	  experimental support.
+	* src/freeglut_joystick.c: Changed a couple of XXX comments. Added a new
+	  one. These all the nest of #ifs in the BSD section of the new joystick
+	  code.
+	* progs/demos/CallbackMaker/CallbackMaker.c: "Heavy editing" by John to
+	  his CallbackMaker demo.
+	* src/freeglut_joystick.c: John added a #pragma to the joystick code for
+	  WIN32 users.
+	* src/freeglut_internal.h, src/freeglut_window.c: Adds GLUT_OFFSCREEN as
+	  a display mode option. This includes:
+	  
+	  * Recognizing the mode when you call glutCreateWindow(). (Offscreen
+	  looks and acts like a top-level window in many ways.)
+	  
+	  * During the life of the offscreen "window", various window-management
+	  functions are modified to respect offscreen status.
+	  
+	  (Excepting reshaping windows, there is not much useful interpretation
+	  for managment of offscreen areas. Reshaping is possibly more work than
+	  it's worth to support, and GLUT specs allow us to ignore the request.)
+	  
+	  * Cleanup for "offscreen" windows is a little different than for
+	  regular windows.
+	  
+	  Windows still don't start up quite ideally. Offscreen windows should
+	  probably get a reshape event, but not a display.
+
+2004-02-05  rkrolib
+
+	* src/freeglut_init.c, src/freeglut_joystick.c: Big import of updated
+	  joystick code from PLIB, with permission from Steve Baker. Most of the
+	  adaptation done by John, with a little bit of testing and changes by
+	  Thierry Thomas and myself. Seems to compile on:
+	  
+	  WIN32 Red Hat LINUX FreeBSD NetBSD/amd64
+
+2004-02-01  rkrolib
+
+	* src/freeglut_main.c: Close a bug whereby events can be delayed
+	  arbitrarily long if they get caught between the socket and the
+	  client-side queue on X, sometime after glutMainLoopEvent()'s loop
+	  quits and before the sleep code is invoked.
+
+2004-01-16  rkrolib
+
+	* src/freeglut_main.c: Ammended a comment on fgCheckJoystickCallback().
+	* src/freeglut_main.c: Minor style normalizations to minimize the diffs
+	  between *now* and from before John's changes. No functional changes:
+	  
+	  * Removed some hard TABs introduced. * Removed some
+	  spaces-at-end-of-line introduced. * A couple of function calls were
+	  touched up.
+	  
+	  I did this separately only because I don't like messing with other
+	  people's commits. (I don't like feeling like the style police, either,
+	  but when I mess with the commit, there's no room for reverting my
+	  interference if it is deemed undesirable...)
+	* src/freeglut_main.c: Some changes from John.
+	  
+	  The main attraction seems to be correcting a bug with the action-on-
+	  window-close.
+
+2004-01-05  nigels
+
+	* src/freeglut_main.c, src/freeglut_window.c: Win32 glutIconifyWindow()
+	  patch contributed by John F. Fay Restrict resize callbacks to visible
+	  windows When iconified via glutIconifyWindow(), don't pass (0,0) to
+	  resize callback Note that minimising the window via the menu or
+	  minimise button is not yet resolved.
+
+2003-12-30  rkrolib
+
+	* src/freeglut_main.c, src/freeglut_menu.c, src/freeglut_structure.c:
+	  Split a few overlong lines.
+	  
+	  Adjusted some spacing in a few spots to be more consistant with
+	  freeglut style. Including one unindented if() body.
+	  
+	  Eliminated a dead variable.
+	* src/freeglut_joystick.c: Changed several #ifdef's to proper #if's.
+	  Eeek. Oook.
+	* src/freeglut_main.c: Hm... I thought that I committed this last night.
+	  What's up?
+	  
+	  This is Nigel's modified fgSleepForEvents(), essentially. Take 2.
+
+2003-12-30  nigels
+
+	* include/GL/freeglut_std.h: Three supported win32 compilation
+	  environments: MSVC, Cygwin and MingW32 #pragma is specific to MS
+	  compiler
+	* src/freeglut_internal.h: Explicitly cast function pointer to (void *)
+	  in SET_WCB since all callbacks stored as void pointers suppress gcc
+	  -Wall -pendantic "noise"
+	* src/freeglut_structure.c: Typesafe handling of temporary window
+	  destroy callback Move assignment out of while test, scope temporary
+	  inside loop Be explicit about assignment/comparison in if test for gcc
+	  peace of mind suppress gcc -Wall -pendantic "noise"
+	* src/freeglut_internal.h: Three supported win32 compilation
+	  environments: MSVC, Cygwin and MingW32 The windows mmsystem header
+	  need only be included internally to freeglut strdup vs _strdup is
+	  specific to the MS compiler
+	* src/freeglut_font.c: strlen expects (char *), rather than (unsigned
+	  char *) suppress gcc -Wall -pendantic "noise"
+	* src/freeglut_cursor.c: Replace assignment of array to struct with
+	  field-by-field assignment suppress gcc -Wall -pendantic "noise"
+	* src/freeglut_menu.c: glutBitmapString and glutBitmapLength expect
+	  (unsigned char *) rather than (char *) suppress gcc in -Wall
+	  -pendantic "noise"
+	* src/freeglut_joystick.c: Replace #ifdef WIN32 with #ifdef
+	  TARGET_HOST_WIN32, as per FreeGLUT convention
+	* src/freeglut_init.c: fgState.FPSInterval is unsigned int (GLuint),
+	  environment variable GLUT_FPS can be negative
+	* src/freeglut_window.c: OpenGL context is not made current on Win32
+	  until fgSetWindow is called. This resolves severe problems observed in
+	  GLUI applications.
+	* src/freeglut_window.c: #pragma message is only understood my MS
+	  compiler #if defined(_MSC_VER) .. #endif
+	* src/freeglut_state.c: Resolve bug 864978 - GLUT_OWNS_JOYSTICK
+	  unhandled
+	* src/freeglut_main.c: Tidy nested if/else to suppress gcc -Wall
+	  -pedantic noise gcc suggests explicit braces to avoid ambiguous `else'
+
+2003-12-25  rkrolib
+
+	* progs/demos/CallbackMaker/CallbackMaker.c,
+	  progs/demos/Fractals/fractals.c,
+	  progs/demos/Fractals_random/fractals_random.c: Configuring with
+	  "--enable-warnings" broke three demos: * CallbackMaker defined, but
+	  did not use, the Joystick() function (a callback for the freeglut
+	  joystick interface). I uncommented the callback-registration. I assume
+	  that it was commented out because it was spammy. (freeglut does
+	  joysticks by polling with a timer.) Perhaps a longer interval than
+	  10ms would be advisable?
+	  
+	  * fractals.c used strcpy() without getting the prototype. Added
+	  #include <string.h> at the top.
+	  
+	  * fractals_random.c had the same problem as fractals.c.
+
+2003-12-23  rkrolib
+
+	* src/freeglut_main.c: Moved the window-resize code so that it happens
+	  whenever there is a pending resize for the window, whether or not the
+	  window is visible or in need of a redisplay. The resize is now done
+	  before the visibility and need-to-redisplay checks.
+
+2003-12-22  rkrolib
+
+	* src/freeglut_structure.c: Got rid of those int/ptr warnings on AMD64.
+	  (The code was casting an {int} to a pointer, and later retrieving the
+	  int by another cast. It should be safe provided that pointers are at
+	  least as big as {int}, but GCC was giving warnings on my system,
+	  so...fixed.)
+	* src/freeglut_main.c, src/freeglut_structure.c: Several
+	  test-on-assignment cases have been converted to stop GCC from
+	  complaining about if( a = get_a_value_for_a( ) ) type code.
+
+2003-12-19  rkrolib
+
+	* src/freeglut_internal.h: Ooops, left some cruft in a comment in the
+	  header when committing the last patch. Cleaned up.
+	* src/freeglut_callbacks.c, src/freeglut_internal.h,
+	  src/freeglut_structure.c: Wrote SET_WCB() to set a window callback.
+	  This lets us out of using the FETCH_WCB() as an lvalue (which it
+	  shouldn't, since the value of the FETCH is cast to the correct
+	  function-pointer type).
+
+2003-12-15  James Jones <puggles@users.sourceforge.net>
+
+	* progs/demos/Fractals/Fractals.dsp: Change the destination directory of
+	  the debug version to "Debug" (John Fay)
+
+2003-12-13  James Jones <puggles@users.sourceforge.net>
+
+	* ChangeLog: Release 2.2.0
+
+2003-12-11  rkrolib
+
+	* src/freeglut_main.c, src/freeglut_window.c: Stripped out TABs that got
+	  reintroduced.
+	  
+	  There were no changes other than replacing about 10 to 12 TABs with a
+	  visually-suitable number of spaces, so this can probably be blindly
+	  treated as equivalent to the previous versions of the two affected
+	  files.
+
+2003-12-11  Christopher John Purnell
+
+	* src/freeglut_internal.h, src/freeglut_structure.c: The deferred window
+	  destruction code was destroying the windows in reverse order. This
+	  cased a crash when the call to glutDestroyWindow() for a sub windows
+	  was immediately followed by a call to glutDestroyWindow() for it's
+	  parent. fgCloseWindows() would call fgDestroyWindow() for the parent
+	  first fgDestroyWindws() would recurse over the children and then
+	  fgCloseWindows() would call fgDestroyWindow() again for the child.
+	  
+	  I've replaced the single linked list with one of our two way link list
+	  structures. I've also moved it into fgStructure because that seemed
+	  the consistent thing to do.
+	  
+	  I said the the deferred windows destruction causes more problems then
+	  it solves.
+
+2003-12-11  James Jones <puggles@users.sourceforge.net>
+
+	* progs/demos/CallbackMaker/Makefile.am: Include project file in the
+	  distribution.
+	* ChangeLog: Updates for 2.2.0 RC2
+	* progs/demos/demos.dsw: Add shapes to the Visual C workspace.
+	* progs/demos/shapes/Makefile.am: Package the visual C project file with
+	  the distribution
+	* configure.in: Set the version to 2.2.0
+	* src/freeglut_gamemode.c, src/freeglut_main.c, src/freeglut_window.c:
+	  Nigel Stewart's Win32 window-sizing fix for game mode
+	* progs/demos/One/one.c: Disable/enable lighting in the "one.c" demo
+	  (John Fay)
+	* progs/demos/CallbackMaker/CallbackMaker.dsp: Add some essentials to
+	  get this program to compile (Nigel)
+	* src/freeglut_internal.h: Update to reflect 2.2.0 release
+	* ChangeLog: Note the release of 2.2.0 RC1
+
+2003-12-11  rkrolib
+
+	* src/freeglut_structure.c, src/freeglut_window.c: John correctly
+	  observed that the initialization {OldHeight} and {OldWidth} in the
+	  window structure should be done for both windows and sub-windows, and
+	  the easiest way to do this is in the
+	  freeglut_structure.c:fgCreateWindow() code. So, transplant one line.
+
+2003-12-10  rkrolib
+
+	* src/freeglut_main.c: Commit of John's change to stop an infinite-loop
+	  condition when the only windows left are freeglut menu windows, and
+	  correctly calls exit() if we drop out of the main loop without having
+	  requested any freeglut extensions to glutMainLoop() handling.
+
+2003-12-07  rkrolib
+
+	* progs/demos/shapes/shapes.c, progs/demos/shapes/shapes.dsp: Two from
+	  Nigel:
+	  
+	  * Updated shapes.c. I think that it's just reformatting and the
+	  addition of some comments.
+	  
+	  * Added shapes.dsp, a Microsoft Visual C++ Developer Studio Project
+	  file for building shapes on WIN32 with MSVC++.
+
+2003-12-03  Christopher John Purnell
+
+	* configure.in: Added an option to enable gcc compiler warnings. I've
+	  explicitly excluded the one about adding parentheses.
+
+2003-12-03  rkrolib
+
+	* src/freeglut_main.c: Touched up several comments, pointing up things
+	  that may be worth reflect- ing upon in the future.
+	* src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
+	  Hrm. I misunderstood the purpose of {window->State.Width} and
+	  {...Height}. Those are *not* records of the old values, but rather of
+	  the *desired* *new* values, hence it was inappropriate to use them in
+	  ConfigureNotify X11 event handling. Doing so introduced some new
+	  problems.
+	  
+	  So, I created OldHeight and OldWidth in the window State structure,
+	  and *those* do what I require.
+	  
+	  I also stripped out the obsolete comment about getting extra/bogus
+	  reshape events. (Though I maintain that an application should be
+	  robust against them, freeglut should no longer generate them if the
+	  window has not changed size since last reported.)
+
+2003-12-02  rkrolib
+
+	* src/freeglut_main.c: Changed Create/ConfigureNotify handling in
+	  UNIX_X11:
+	  
+	  * Just need to call GETWINDOW() once. Ooops. Heh. * Update
+	  {window->State} with the new size of the window. * If the window-size
+	  has NOT changed, then do NOT call the Reshape event.
+	* src/freeglut_main.c: Added an "XXX" earmark for post-release
+	  contemplation. (The point is definitely in need of consideration, I
+	  believe, but is not immediately a major bug, so I'd rather not mess
+	  with it at the risk of postponing a release "soon".)
+	* src/freeglut_main.c: Ensure that the time-out for sleeping is never
+	  negative.
+	* src/freeglut_main.c: Fixed a bug for UNIX_X11 where window reshape
+	  events were causing freeglut to mark the window as *needing* a reshape
+	  (which during general display callback handling would result in
+	  effectively a glutReshapeWindow()).
+	  
+	  The code is now system-dependant. It should be abstracted to a
+	  function, but is presently copied in two places. Sorry.
+	  
+	  Also, inverted the order of the associated if()/else check (in both
+	  WIN32 and UNIX_X11 branches) since the former "else" part was a
+	  one-line callback invocation.
+	  
+	  This fixes two seemingly unrelated bugs that I was seeing in UNIX_X11.
+
+2003-12-01  Christopher John Purnell
+
+	* src/freeglut_internal.h: Added missing prototype for new list
+	  function.
+
+2003-11-28  Christopher John Purnell
+
+	* src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_structure.c: Timer optimizations. Made the list of
+	  pendinig timers ordered. Added a free list of used timer structures.
+	* src/freeglut_callbacks.c: Timer optimizations.
+	* src/freeglut_window.c: Fixed windows compilation problem with last
+	  update.
+
+2003-11-27  Christopher John Purnell
+
+	* src/freeglut_gamemode.c, src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_structure.c, src/freeglut_window.c: Window close fix. The
+	  default behaiour should now be the same as with glut.
+
+2003-11-26  rkrolib
+
+	* src/freeglut_init.c: Added change from Nigel to have resize events
+	  cause redraw events in WIN32. Also slightly reshuffled comments to
+	  deal with line-wrap issues.
+
+2003-11-25  rkrolib
+
+	* src/freeglut_main.c: John reported, and fixed, a problem that recent
+	  changes caused for the Lorenz demo (seems to be WIN32 specific).
+	* src/freeglut_structure.c: Update from John: Removed the freeglut hack
+	  of decrementing the highst-window-ID marker when the highest window is
+	  deleted. (This was a half-way measure for an idea that was decided to
+	  be dubious in the first place.)
+	* configure.in, progs/demos/Makefile.am, progs/demos/shapes,
+	  progs/demos/shapes/Makefile.am, progs/demos/shapes/shapes.c: Added a
+	  new demo (from Nigel) showing some of the basic GLUT geometry shapes.
+	  "shapes" is the name of the demo.
+	* include/GL/freeglut_ext.h, src/freeglut_geometry.c: Commit of work
+	  from Nigel:
+	  
+	  Massive rework of the geometric primitive code. Includes a new
+	  primitive (cylinder; solid and wireframe) and corresponding update to
+	  freeglut_ext.h for the prototype.
+	* src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_structure.c: More work from John (sorry for
+	  procrastinating):
+	  
+	  * We forgot to bump our version number in freeglut_internal.h It is
+	  now at 2.0.2 (actually, I think that 2.1.0 might be a better choice),
+	  which is presumably going to be our next formal release. 2.0.1 is
+	  incorrectly identified as 2.0.0 in the header.
+	  
+	  * A typo in a comment has been corrected ("than"/"that").
+	  
+	  * Numerous "manual" checks for callbacks are omitted now, since
+	  INVOKE_WCB() does this for us. These were holdovers from the
+	  pre-INVOKE_WCB() days. There may be some very subtle changes in
+	  freeglut behavior, since freeglut used to test the callbacks a little
+	  earlier in some cases and may have skipped some minor things (like
+	  changes to the current window) in some special cases, otherwise. It is
+	  not believed that any documented behavior is broken, and it is
+	  unlikely---not to say impossible---that any extant applications will
+	  detect the change. It is even possible that there is no external
+	  behavioral change in freeglut.
+	  
+	  This also significantly simplifies some sections of code that used to
+	  have conditional execution. "Unconditional code is simpler code" as
+	  one of the comments used to say.
+	  
+	  * Lots of XXX commentary is now removed. Some of it was obsoleted by
+	  other changes, some by changes from John.
+	* src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_structure.c: Change from John (I removed a couple of
+	  spaces from a couple of lines in his freeglut_internal.h file where
+	  they were wrapping in EMACS; otherwise, the files are exactly as he
+	  sent them to me).
+	  
+	  The change unifies the WIN32 and UNIX_X11 code by defining our own
+	  window-handle-type in freeglut_internal.h. This let John rip out some
+	  #if garbage in several places. The result is clearer code.
+	  
+	  Thanks, John!
+
+2003-11-21  rkrolib
+
+	* src/freeglut_font.c, src/freeglut_geometry.c,
+	  src/freeglut_glutfont_definitions.c, src/freeglut_init.c,
+	  src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_menu.c,
+	  src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
+	  src/freeglut_window.c: Numerous style normalizations from John:
+	  
+	  * Convert "return( value );" to "return value;" * Normalize spacing
+	  around semicolons. * Remove extraneous parens. * Split multi-statement
+	  lines into multiple lines. (Mostly things of the form: "if( condition
+	  ) return;".)
+	* src/freeglut_internal.h, src/freeglut_main.c, src/freeglut_window.c:
+	  All changes are from John, except for: (a) I re-inserted the meat of a
+	  comment that I still feel is relavent. (b) I fixed a compile-time
+	  error in the UNIX_X11 code where a variable is declared after
+	  executable code in a block without creating a new sub-block for the
+	  declaration.
+	  
+	  Changes from John include: (a) Style revision. (b) Changes to postpone
+	  the handling of window resizes.
+	  
+	  Lots of lines were changed, but I think that thos two cover the ground
+	  that he hit. See the diffs for details.
+
+2003-11-18  Christopher John Purnell
+
+	* src/freeglut_cursor.c, src/freeglut_ext.c, src/freeglut_geometry.c,
+	  src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_menu.c, src/freeglut_state.c, src/freeglut_structure.c:
+	  Lots of stuff that John F. Fay pointed out. Plus some changes to
+	  remove gcc warnings.
+
+2003-11-17  Christopher John Purnell
+
+	* src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_state.c, src/freeglut_structure.c: Fix spelling mistake
+	  in a variable name. Added a comment for John Fay. Added the copyright
+	  notice for XParseGeometry source.
+
+2003-11-16  Christopher John Purnell
+
+	* src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_state.c, src/freeglut_structure.c: Made Modifers variable
+	  global as per glut classic.
+	* src/freeglut_init.c: Removed old unused glutInitDisplayString code.
+	  Reformated new glutInitDisplayString and XParseGeometry code.
+	* src/freeglut_init.c: Use XParseGeometry for better geometry parsing.
+	  Moved geometry parsing to after fgInitialize() so we can use the
+	  screen size to correctly calculate negative positions in the geometry
+	  string. Copied the code for XParseGeometry from the X11 sources for
+	  use in the Win32 version. freeglut now passes test1 of the glut test
+	  suite.
+
+2003-11-15  Christopher John Purnell
+
+	* src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
+	  src/freeglut_main.c, src/freeglut_structure.c, src/freeglut_window.c:
+	  Removed the state variable BuildingAMenu. Instead pass a new parameter
+	  isMenu to fgCreateWindow(). Elsewhere use window->IsMenu.
+	* src/freeglut_init.c: freeglut_assert_ready is going to have to go at
+	  some point. But for now I've moved setting fgState.Initalized to
+	  GL_FALSE.
+	* src/freeglut_callbacks.c, src/freeglut_display.c,
+	  src/freeglut_gamemode.c, src/freeglut_init.c, src/freeglut_internal.h,
+	  src/freeglut_joystick.c, src/freeglut_main.c, src/freeglut_menu.c,
+	  src/freeglut_misc.c, src/freeglut_state.c, src/freeglut_structure.c,
+	  src/freeglut_window.c: Replace TRUE with GL_TRUE and FALSE with
+	  GL_FALSE where the type is GLboolean.
+
+2003-11-15  rkrolib
+
+	* src/freeglut_main.c, src/freeglut_menu.c: Normalized the spacing
+	  around symbols, for the most part. Ho-hum.
+
+2003-11-15  Christopher John Purnell
+
+	* src/freeglut_main.c: Added a call to fgDeinitialize() before the call
+	  to exit() in fgError().
+
+2003-11-15  rkrolib
+
+	* src/freeglut_joystick.c: Style normalizations to the joystick code.
+
+2003-11-15  Christopher John Purnell
+
+	* src/freeglut_init.c, src/freeglut_internal.h, src/freeglut_main.c,
+	  src/freeglut_state.c, src/freeglut_structure.c, src/freeglut_window.c:
+	  Added a new state variable "Initalized". Replaced referenced to
+	  Time.Set with this new variable where appropriate. fgElapsedTime() now
+	  set the start time if Time.Set is false. Moved
+	  glutGet(GLUT_ELAPSED_TIME) handling to before the assert.
+
+2003-11-14  rkrolib
+
+	* src/freeglut_internal.h: Normalized the internal header's style a bit.
+	* src/freeglut_init.c: Plowed one more file this morning. Still just
+	  trivial formatting issues.
+	  
+	  And I left alone the "INIT DISPLAY STRING PARSING" section, since it
+	  still appears to be in flux.
+	* src/freeglut_font.c, src/freeglut_gamemode.c: Yet more trivial style
+	  normalizations.
+	  
+	  Sorry, but that's all that I'm up to at the moment. On the plus,
+	  excepting the font_data file (which I've been skipping), up through
+	  this file, I think that the code style is pretty close to uniform.
+	* src/freeglut_font.c: Minor style corrections.
+	* src/freeglut_display.c: Minor spacing quibble.
+	* src/freeglut_cursor.c: Added a brief explanatory note to the X code
+	  for GLUT_CURSOR_NONE.
+	  
+	  Corrected the indentation of a block of code.
+	* src/freeglut_window.c: Noted one of a few cases where we do something
+	  immediately that could more efficiently be postponed, quite
+	  easily---and which GLUT promises *is* to be postponed. (It is unlikely
+	  that the difference will break any apps, but postponing should be
+	  easy...)
+	  
+	  No real change, just a comment in the code.
+
+2003-11-11  rkrolib
+
+	* ChangeLog: Updated ChangeLog for the day.
+	* include/GL/freeglut_std.h, progs/demos/One/one.c, src/freeglut_ext.c,
+	  src/freeglut_font.c: Removal of all remaining TABs in the freeglut
+	  *.[ch] files. (I missed a few in the "one" demo, it seems, and some
+	  more crept back into freeglut_(ext|font).c, presumably due to my own
+	  edits when I forgot to use the "freeglut-c-mode" in EMACS.)
+	* progs/demos/One/one.c: Moved glutInit*() functions ahead of
+	  glutInit(). (This is proper use of glutInit() in general, since it
+	  allows the user to override settings via {argc, argv} command-line
+	  params.)
+	* progs/demos/One/one.c: Style normalizations: Removed CRs and hard TABs
+	  mostly.
+	* ChangeLog, src/freeglut_structure.c: Corrected the numbering of the
+	  ChangeLog (there were two (110)s).
+	  
+	  Added entries summarizing my commits since September or late August,
+	  for the benefit of those lacking both CVS and web access.
+	* progs/demos/demos.dsw: Added CRs to the ends of all lines in MS
+	  developer studio demos.dsw file..
+
+2003-11-10  rkrolib
+
+	* src/freeglut_main.c: John's fix for the minimize/close/maximize
+	  controls no longer working. WIN32 expected us to pass the message on
+	  up the chain (or do something else with it), rather than just throwing
+	  away the event, for a certain class of events. (See the diffs for more
+	  details.)
+	  
+	  The code is also slightly reformatted from what was previously in the
+	  repository.
+	* freeglut.dsp, freeglut_static.dsp,
+	  progs/demos/CallbackMaker/CallbackMaker.dsp, progs/demos/demos.dsw: A
+	  *.dsp file for CallbackMaker in the demos.
+	  
+	  Plus updated *.dsp and *.dsw files to reflect the new freeglut header
+	  file.
+	  
+	  NOTE: The prior version of the *.dsw file does not in fact have CRs. I
+	  thought that it did. For consistancy, I am not putting them in in this
+	  version, either. (At least one person said that his MSVC++ system is
+	  happy with the current files. If there are problems, we can easily add
+	  the CRs, but that should be a separate commit...)
+	* configure.in, progs/demos/CallbackMaker,
+	  progs/demos/CallbackMaker/CallbackMaker.c,
+	  progs/demos/CallbackMaker/Makefile.am,
+	  progs/demos/Fractals_random/fractals_random.c,
+	  progs/demos/Makefile.am: New demo from John: CallbackMaker.
+	  
+	  This demo shows the use of every callback that you can register with
+	  freeglut, and also generates event reports so that you can see what is
+	  happening to the program as it runs.
+	  
+	  Not much to look at, but both utilitarian and a practical example.
+	  
+	  Please double-check that I updated everything that needs to be
+	  updated. I reran autogen.sh and ./configure, and it built okay for me.
+	  (^&
+	* src/freeglut_structure.c: Hm. I thought that I already hit this file
+	  for style normalization. Oh well... Should be no functional changes.
+	  Should be pretty close to in-line with the style of changes that I've
+	  been making else- where.
+	* src/freeglut_structure.c: Ooops. Forgot that we already had a call to
+	  fgClearCallBacks() in the code and added a second one. I just deleted
+	  the new one. Sorry.
+	* src/freeglut_structure.c: Added Nigel's suggested code to clear all
+	  but the destroy callback early on, leaving Destroy to be cleared later
+	  after the last possible point where it should be invoked.
+	* src/freeglut_menu.c: Modified the menus to refer to {border} rather
+	  than {FREEGLUT_MENU_BORDER}, in fghDisplayMenuBox(). The local
+	  variable was already defined and used for some purposes, so we might
+	  as well use it throughout. It does serve to shorten and clarify the
+	  code a bit---though I have mixed feelings about creating aliases that
+	  way.
+	  
+	  Still, the variable already existed and was already used in places.
+	  (We could even move it into the freeglut state, or make it a {const
+	  static} value...)
+	  
+	  Oh well. Stuff to ponder.
+	* src/freeglut_cursor.c: Well, a couple of days have gone by, so I
+	  assume that items (a) and (b) in the freeglut_cursor.c file's "Open
+	  issues" comment are now satisfactor- ily closed.
+	  
+	  I also partially implemented some error-checking, using my limited
+	  understanding of how Xlib users are supposed to do this. (No one
+	  commented about the lack of error-checking, pro or con. Perhaps
+	  someone will care to comment now?)
+	  
+	  At present, it just will print out a warning, via fgWarning(). In part
+	  because I'm not sure what is best to do, and in part because failure
+	  to set the cursor type is probably not a fatal problem.
+
+2003-11-08  Christopher John Purnell
+
+	* progs/demos/Fractals/Makefile.am,
+	  progs/demos/Fractals_random/Makefile.am,
+	  progs/demos/Lorenz/Makefile.am, progs/demos/One/Makefile.am: Applied
+	  Braden McDaniel's non-srcdir build patch.
+
+2003-11-08  rkrolib
+
+	* src/freeglut_menu.c: A first pass over freeglut_menu.c to bring it in
+	  line with the rest of freeglut's style. Mostly re-indenting and
+	  splitting long lines. For those that may be concerned: No, I didn't do
+	  any more arrangments of the form (CONST == a) rather than (a ==