fgState.FPSInterval is unsigned int (GLuint), environment variable GLUT_FPS can be...
[freeglut] / ChangeLog
index efc7364..fc0ffc7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -176,9 +176,492 @@ October 24, 2002:
 
 (80) Fixed autogen.sh and removed aclocal.m4
 
+(81) Added 'freeglut.kdevelop' (Gideon [Kdevelop 3.0]) project file
+
 
 *******************************************************************************************
 * Changes on 24 June 2003
 *******************************************************************************************
 
-(90) Added 'freeglut_ext.c' to the project files 'freeglut.dsp' and 'freeglut_static.dsp' (New list #10)
+(82) Added 'freeglut_ext.c' to the project files 'freeglut.dsp' and 'freeglut_static.dsp' (New list #10)
+
+
+*******************************************************************************************
+* Changes on 27 June 2003
+*******************************************************************************************
+
+(83) Now installs freeglut_ext.h and glut.h to /usr/include/GL (was missing before)
+
+
+*******************************************************************************************
+* Changes on 01 July 2003
+*******************************************************************************************
+
+(84) Fixed the 'ptr + len' problem in freeglut_misc.c:90
+
+
+*******************************************************************************************
+* Changes on 02 July 2003
+*******************************************************************************************
+
+(85) Removed genfonts/genstrokes code, updated configure.in and Makefile.in
+
+(86) Moved tests/one.c into progs/demos/One/one.c, updated configure.in and Makefile.in
+
+(87) Removed tests directory
+
+
+*******************************************************************************************
+* Changes on 03 July 2003
+*******************************************************************************************
+
+(88) Removed unused char *ptr from freeglut_misc.c
+
+*******************************************************************************************
+* Changes on 17 July 2003
+*******************************************************************************************
+
+(89) Changed the overlay (freeglut_state.c:662) to return FALSE, as it's not implemented yet.
+
+(90) Applied John F. Fay's fixes to freeglut.dsp and freeglut_static.dsp
+
+
+*******************************************************************************************
+* Changes on 21 July 2003
+*******************************************************************************************
+
+(91) src/Makefile.am:38  Changed versioning to 11:0:8 thanks to Bernhard Kaindl
+
+
+*******************************************************************************************
+* Changes on 22 July 2003
+*******************************************************************************************
+
+(92) freeglut.lsm:3  Removed 'beta' label for next release, thanks to Bernhard Kaindl.
+
+
+*******************************************************************************************
+* Changes on 23 July 2003
+*******************************************************************************************
+
+(93) doc/Makefile.am:4  Removed trailing backslash and added an empty last line
+
+(94) src/freeglut_window.c  Windowing fixes from John F.
+
+
+*******************************************************************************************
+* Changes on 23 July 2003
+*******************************************************************************************
+
+(95) src/freeglut_initial.c:91  Added check for SOLARIS OS (Dave Reed)
+
+(96) src/freeglut_window.c:551  Removed extra carriage return for Windows users (John F. Fay)
+
+
+*******************************************************************************************
+* Changes on 05 August 2003
+*******************************************************************************************
+
+(97) src/freeglut_main.c:816 and :1571, set the current window (John F. Fay)
+
+(98) src/Makefile.am:34 Added mwmborder.c
+
+(99) src/freeglut_window.c:67  Removed #included "mwmborder.c"
+
+*******************************************************************************************
+* Changes on 10 August 2003
+*******************************************************************************************
+
+(100) GameMode fixes: src/freeglut_gamemode.c src/freeglut_internal.h src/freeglut_window.c
+
+  src/freeglut_gamemode.c:
+     fghRememberState():     remember original XFree86 ViewPort
+     fghRememberState():     remember original pointer position
+     fghRestoreState():      restore  original pointer position
+     fghRestoreState():      restore  original XFree86 ViewPort
+     fghChangeDisplayMode(): fix glutGameModeGet(GLUT_GAME_MODE_POSSIBLE)
+     fghChangeDisplayMode(): remove superflous attempt to change ViewPort
+     glutEnterGameMode():    move special XMoveWindow() from generic code here
+     glutEnterGameMode():    call XSync() to avoid races with XPointer calls
+     glutEnterGameMode():    call to XWarpPointer() to ensure that the pointer is grabbed
+     glutEnterGameMode():    wait until window is viewable to avoid exit on XSetInputFocus
+     glutEnterGameMode():    move decorations away to fix fullscreen w/ max resolution
+
+  src/freeglut_internal.h:
+     struct tagSFG_Display:  add fields for saving viewport and pointer position
+
+  src/freeglut_window.c:
+     fgOpenWindow():         remove obsolete special case for GameModeEnter()
+
+*******************************************************************************************
+* Changes up to September 12, 2003
+*******************************************************************************************
+
+(101) Include files:  Underscores added to the defined constants which prevent multiple inclusions
+
+(102) String functions:  Arguments changed from "char *" to "unsigned char *" for compatibility with GLUT
+
+(103) Added several explicit type casts to allow compilation with "Dev C++" compiler
+
+(104) Quite a bit of debugging of the menus in their menu windows
+
+(105) Removed "glib" dependency from joystick code; now it compiles under FreeBSD
+
+(106) Removed the "fgCleanUpGlutsMess" function because it was redundant
+
+
+*******************************************************************************************
+* Changes on September 13, 2003
+*******************************************************************************************
+
+(107) Repaired DOS line endings in the MSVC project and workspace files
+
+(108) Fixed some relative paths in the MSVC demo project files
+
+(109) Fixed all the demo makefiles to ensure they compiled properly; included minor changes to some of the sources.
+
+(110) Fixed compiliation of freeglut_joystick.c on FreeBSD
+
+*******************************************************************************************
+* Changes through September 24, 2003
+*******************************************************************************************
+
+(111) Fixed busy-wait bug in freeglut; now sleeps when there's nothing to do.
+
+(112) GLUT_SINGLE properly supported.
+
+(113) progs/demos/Fractals_random works.
+
+*******************************************************************************************
+* Freeglut 2.0.0 Released on  September 29, 2003!
+*******************************************************************************************
+
+*******************************************************************************************
+* Changes on October 1, 2003
+*******************************************************************************************
+
+(114) Support for more than 3 mouse-buttons (this allows 3+scroll-wheel to
+workin X, for example).
+
+(115) Added 3rd party patch to make joystick code work on NetBSD (untested)
+and on older versions of FreeBSD (also untested)
+
+*******************************************************************************************
+* Changes on October 3, 2003
+*******************************************************************************************
+
+(116) Tweaking for the menu behavior on Linux regarding mice, etc. - John Fay
+
+*******************************************************************************************
+* Changes on October 6, 2003
+*******************************************************************************************
+
+(117) freeglut_menu.c:328 Fix submenu triangle (John Fay)
+
+*******************************************************************************************
+* Changes on October 8, 2003
+*******************************************************************************************
+
+(118) freeglut_menu.c:217,519,532: Fix menus to stay in the window (John Fay)
+
+(119) Fixed menu callbacks to set the current window.
+
+(120) Numerous GLUT-alikeness corrections made to the menus (UNIX_X11
+freeglut menus now look more like old UNIX/X11 GLUT menus).  Placement
+and highlighting of menus is greatly improved as well, and (at least
+at compile-time) it is now easy to change fonts and colors for menus.
+
+(121) Fixed CreateNotify on X11 to act like ConfigureNotify.  This
+helps subwindows in freeglut behave more like top-level windows.  (In
+old GLUT, they behaved essentially the same, so we try to reproduce
+that here.)
+
+*******************************************************************************************
+* Changes on October 9, 2003
+*******************************************************************************************
+
+(122) Minor glutInit*() quibbles in some of the demos.  Also applied a
+change from John so that the affine-transform demos would work even if
+they couldn't find their default set of transforms or the one named on
+the command-line (a simpler one than even the default is built in).
+
+*******************************************************************************************
+* Changes on October 11, 2003
+*******************************************************************************************
+
+(123) Disallow people to pass NULL in for glutDisplayFunc().
+
+(124) More menu fixes from John.
+
+(125) Check the memory allocation of timers.
+
+(126) Some code style/readability issues.
+
+*******************************************************************************************
+* Changes on October 11, 2003
+*******************************************************************************************
+
+(127) Fleshed out all missing cursor types on NetBSD (UNIX_X11) for the
+glutSetCursor() call.  GLUT_CURSOR_NONE still required work.  Fixes
+included: Adding numerous types required by GLUT but previously missing
+in freeglut, reversing the left/right glyphs, and some just-plain-wrong
+glyphs corrected.
+
+*******************************************************************************************
+* Changes on October 13, 2003
+*******************************************************************************************
+
+(128) Removed obsolete hack (or ill-conceived dream) of fgDisplayCursor().
+
+(129) Modified the the fractal demos so that they don't clear/redraw quite
+so often.
+
+(129) Code readability/style issues.
+
+*******************************************************************************************
+* Changes on October 14, 2003
+*******************************************************************************************
+
+(130) More style issues.
+
+*******************************************************************************************
+* Freeglut 2.0.1 Released on 23 October, 2003!
+*******************************************************************************************
+
+*******************************************************************************************
+* Changes on October 26, 2003
+*******************************************************************************************
+
+(131) Made freeglut know the program's name (fetch from main()'s argv[0]).
+
+(132) Moved idle callback out of glutMainLoopEvent().
+
+(133) Committed Nigel's fix to make the joystick set the current window before
+invoking the callback.  (Completes the closeout of an open bug report,
+once verified.)
+
+(134) Added some error-checking of memory allocations.
+
+(135) More style issues.
+
+*******************************************************************************************
+* Changes on October 27, 2003
+*******************************************************************************************
+
+(136) Partially unified the UNIX_X11 and WIN32 branches of glutMainLoopEvent()
+
+(137) Updated comments, other style issues.  Check for some NULL pointers.
+
+*******************************************************************************************
+* Changes on October 28, 2003
+*******************************************************************************************
+
+(138) More style issues.
+
+(139) Mouse-wheel support added for WIN32.  API extension generally
+added to freeglut.
+
+*******************************************************************************************
+* Changes on October 29, 2003
+*******************************************************************************************
+
+(140) Fixed a bug in fgWarning()/fgError().  Added range-check to
+glutSetKeyRepeat().
+
+(141) More style issues.
+
+(142) Removed bogus references to "Linux" in freeglut_state.c.
+The references should have properly been to UNIX and/or X11.  GNU/LINUX
+emulates UNIX, and X11 is the windowing system that runs on most graphics-
+capable UNIX systems (including most GNU/LINUX systems).  freeglut should
+run on any sufficiently UNIX-like system with OpenGL and X11 (or at least
+XFree86's implementation of X11).
+
+(143) #include <sys/param.h> on the BSDs so that we can check the system
+version number at compile-time.
+
+*******************************************************************************************
+* Changes on October 30, 2003
+*******************************************************************************************
+
+(144) Numerous small fixes w.r.t. mouse-wheels on WIN32.
+
+(145) More style issues.
+
+*******************************************************************************************
+* Changes on October 31, 2003
+*******************************************************************************************
+
+(146) More style issues.
+
+(147) Converted an error-check from an assert() to an if().
+
+(148) Removal of the last ASCII TAB character from src/* files.  This
+conversion process ensures that the formatting appears more consistant
+for everyone.  (TABs can vary in their expansion from one system to
+another).
+
+*******************************************************************************************
+* Changes on November 3, 2003
+*******************************************************************************************
+
+(149) X11 mousewheel fixes.
+
+(150) Yet more style issues.
+
+(151) Added a case for {MapNotify} events in X11.
+
+(152) Re-(?)deleted 3 files from CVS, per John's request.  These were
+obsolete: freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw
+
+(153) Marked a few pointer/int conversion warnings.  (I think that they
+only manifest for me on my AMD64 system, but they seem fairly harmless
+so I didn't try to fix them.)
+
+(154) Memory-leak fix from John.
+
+*******************************************************************************************
+* Changes on Novembber 4, 2003
+*******************************************************************************************
+
+(155) More style issues.
+
+(156) Removed G_LOG_DOMAIN junk, per mailing list discussion.
+
+(157) Added memory-leak detection support (WIN32) to a couple of the
+demos, and fixed at least one memory leak in the process.  Also
+converted Fractals_random to double-precision to avoid some compiler
+warnings.
+
+(158) Stripped CRs from fractals_random.c.
+
+(159) Fixed two bugs: Execution state was improperly set in the end
+of glutMainLoop(), and {ButtonPress} (an X11 constant) was used where
+the flag-variable {pressed} (in UNIX_X11 branch of glutMainLoop())
+should have been used.
+
+(160) Pointer-check before deallocation in the menu code.
+
+*******************************************************************************************
+* Changes on November 5, 2003
+*******************************************************************************************
+
+Remember, remember,
+the 5th of November.
+Gunpowder, treason and plot!   (Bacon?)
+
+I see no reason
+why gunpowder treason
+should ever be forgot.         (Shakespeare?)
+
+*******************************************************************************************
+* Changes on November 6, 2003
+*******************************************************************************************
+
+(161) Fractals_random demo now includes mouse support---including mouse-
+wheel.
+
+(162) Yet more fixes to the mouse wheel support in WIN32.
+
+(163) Converted freeglut to use an array to store window callbacks,
+rather than a struct.  This lets us loop over the array to fill it with
+NULL pointers in order to clear the callbacks.  (With a struct, we were
+reduced to either a ton of assignments---easy to miss one!---or memset(),
+which technically is not a legal way to fill a region with NULL pointers
+because the bit-pattern of a NULL pointer is not necessarily defined to
+be all-zero bits.)  This change also on the one hand provides macros
+to simplify most proper use of the callbacks (even simpler than with
+the struct form), while also making it irritating enough to bypass the
+macros that (it is hoped) abuse will be harder.  (E.g., the invocation
+macros set the current-window.  At least two bugs in the past occurred
+because callbacks were not setting the current window before invoking the
+client.)  See 
+https://sourceforge.net/mailarchive/message.php?msg_id=6467923 for more
+details.
+
+(164) Yet more style issues.  (You thought I'd forgotten about that?)
+
+*******************************************************************************************
+* Changes on November 7, 2003
+*******************************************************************************************
+
+(165) Mouse-wheel corrections in X11.
+
+(166) Style corrections.
+
+(167) Fixed GLUT_CURSOR_NONE support at long last in NetBSD.  (Should also
+apply to other X11 based systems, but I can only test NetBSD.)  Also
+deallocated some resources that glutSetCursor() was allocating in the
+X server.
+
+(168) Added {ReparentNotify} (event type 21) case to glutMainLoop().
+
+(169) Clear window callbacks during window destruction.
+
+(170) Implement visible/invisible support for WIN32.  (Partial?  No
+callback added at this time.)
+
+*******************************************************************************************
+* Changes on November 8, 2003
+*******************************************************************************************
+
+(171) Altered the way that {random} was chosen in the fractals_random.c
+program, in order to attempt to gain a longer cycle before repeating.
+
+(172) More style issues.
+
+*******************************************************************************************
+* Changes on November 9, 2003
+*******************************************************************************************
+
+(173) Added some error-checking to the glutSetCursor() code on my
+NetBSD (UNIX_X11) system.
+
+*******************************************************************************************
+* Changes on November 10, 2003
+*******************************************************************************************
+
+(174) Reversed the Fractals_random changes; they were bogus since they
+assumed that there were always exactly 4 affine transforms to choose
+from (which is certainly not guaranteed!).  Back to just shifting by
+10 bits and going modulo the number of transforms.
+
+*******************************************************************************************
+* Changes on November 11, 2003
+*******************************************************************************************
+
+(175) Retroactively updated the ChangeLog file for all of the commits by
+myself (rkrolib; a.k.a. Richard Rauch) (at least as visible via on the
+SourceForge "CVS message board"), summarzing changes for the sake of those
+who lack both web-browser and CVS access.  Also fixed a numbering error in
+the log where there were two "(110)" events.  (Plus added (174) from
+November 10th by memory.)
+
+(176) Style cleanup to the "one" demo.  (Removal of CRs, TABs, mostly.)
+
+(177) Changed the "one" demo to do glutInit*() calls before glutInit(),
+proper.  This allows command-line parameters to override built-in
+behavior.
+
+(178) Complete purge of all remaining TABs from freeglut's *.[ch] files.
+Also verified that (as far as I can tell) all CRs are removed from all
+files where they do not belong.
+       
+*******************************************************************************************
+* Freeglut 2.2.0 RC 1 Released on  December 10, 2003!
+*******************************************************************************************
+
+(179) CallbackMaker.dsp, demos.dsw, shapes.dsp all updated and are
+packaged with distributions
+
+(180) Fix for the window sizes on Win32 (Nigel Stewart)
+
+(181) Disable/enable lighting in the "one.c" demo (John Fay)
+
+*******************************************************************************************
+* Freeglut 2.2.0 RC 2 Released on  December 11, 2003!
+*******************************************************************************************
+
+*******************************************************************************************
+* Freeglut 2.2.0 Released on  December 12, 2003!
+*******************************************************************************************