Cdk Bugs Guide
Copyright Mike Glover, 1995, 1996, 1997, 1998, 1999, 2000
-------------------------------------------------------------------------------
If you find a bug, and want me to fix it, you will need to do a few things for 
me.
	* Give me a copy or part of the code which demonstrates this bug. If
	you can't do this, then replicate the bug in a piece of test code
	and send me that.
	* Make sure you can replicate the bug. Then send me the of instructions
	on how to replicate the noted bug.

If you do this, I will mail you back telling you if the information was
sufficient or not. If it is, I will tell you when I hope to have this bug
licked by. If you need an urgent update (ie: your boss is crawling down your
throat for your program to work) tell me, I'll get to it ASAP. 

If you find a bug and fixed it yourself, I will need the same as above with a
few extras.
	* I will need a patch of any piece of code you made so I can apply it
	to what I have.
	* Tar this up and send it to me.

If you have found and fixed a valid bug, you will be noted in the next
distribution of this bugs file, and my warmest thanks for reducing my ever
growing workload. :)

Here is the noted list of outstanding bugs and bugs of the past...
------------------------------------------------------------------------------

Release	Widget		Problem						Fixed
-------	------		-------						-----
4.6.0	Label		Label widget would not map itself to the screen	Jan/96
			via refreshCDKScreen.
4.6.0	Mentry		When inserting into the middle of a string, the	Jan/96
			cursor would not move to the right.
4.6.0	Scroll		When scrolling the list to the right, the 	Jan/96
			window border would not get refreshed.
4.6.0	Scale		The scale window was always too large.		Jan/96
4.6.0	Matrix		Fixed cleanCDKMatrix function. (FATAL)		Jan/96
4.6.0	Viewer		Changed activate->set, manage->activate, and	Jan/96
			removed set. Cleaned the function setCDKViewer.
4.6.0	Viewer		When loading up a small file, garbage would	Jan/96
			appear under the last line to the bottom of
			the viewer.
4.6.0	Graph		When drawing the graph in line mode, the lines	Jan/96
			would be too far off the x axis.
4.6.0	Template	When calling mixCDKTemplate, the widget would	Jan/96
			core out. (FATAL)
4.6.0	Swindow		Fixed leak in trimCDKSwindow, cleanCDKSwindow.	Jan/96
4.6.0	Selection	Fixed scrolling bug.				Jan/96
------------------------------------------------------------------------------
4.6.1	Fselect		The entry field would never get mapped on	Mar/96
			the first instantiation.
4.6.1	Viewer		Centered text did not scroll correctly.		Mar/96
4.6.1	Radio		Centered text did not scroll correctly.		Mar/96
4.6.1	Scroll		Centered text did not scroll correctly.		Mar/96
4.6.1	Selection	Centered text did not scroll correctly.		Mar/96
4.6.1	All Widgets	Fixed the function char2Chtype to expand	Mar/96
			tab characters into 8 spaces.
4.6.1	Template	Fixed problem with cursor not being adjusted	Mar/96
			correctly if the plate started with a 
			'drawing' character.
------------------------------------------------------------------------------
4.7.0	Fselect		Fixed the function mode2Char. Used in the 	Jun/96
			File Selector widget for providing file
			permissions.
4.7.0	Entry		The display attribute vHINT displayed the	Jun/96
			characters when they were typed in.
4.7.0	Mentry		The display attribute vHINT displayed the	Jun/96
			characters when they were typed in.
4.7.0	Scroll		The function addCDKScrollItem got very confused	Jun/96
			when called and the highlight bar was not at 
			the top of the list.
4.7.0	Scale		The widget does not map correctly when the	Jun/96
			function refreshCDKScreen is called.
4.7.0	Scale		The widget did not completely erase itself	Jun/96
			when it was destroyed.
4.7.0	Slider		The widget does not map correctly when the	Jun/96
			function refreshCDKScreen is called.
4.7.0	Template	The widget didn't draw the complete field.	Jun/96
4.7.0	Histogram	The label in the widget seemed to extend into	Jun/96
			the drawing field.
4.7.0	Matrix		Cleaned up some minor display bugs.		Jun/96
4.7.0	Fselect		When the destroyCDKFselect function is called	Jul/96
			the windows were destroyed in the wrong order
			sometimes causing a seg-fault.
4.7.0	Entry  		When the destroyCDKEntry function is called	Jul/96
			the windows were destroyed in the wrong order
			sometimes causing a seg-fault.
4.7.0	Swindow		When calling the setCDKSwindow function, some	Jul/96
			of the members of the strcuture did not get set
			correctly.
4.7.0	Mentry		Scrolling down past the end of the input was	Jul/96
			possible. This can cause may weird results.
------------------------------------------------------------------------------
4.8.0	Template	Fixed the behavior displayed when deleting a	Jul/96
			character. (the cursor always seemed to be a
			character to the right.)
------------------------------------------------------------------------------
4.8.2	Entry		Irrational behavior when the entry field is	Jan/97
			shorter than the text which occupies it.
			Bug found and fixed by 
			Guy Finney <gaf@primenet.com>
4.8.2	All Widgets	Didn't check if the shadow window was NULL	Jan/97
			or not when performing operations on the
			WINDOW pointer.
4.8.2	All Widgets	Registration/unregistration of widgets did	Jan/97
			not work correctly. Caused SEGV when alot
			were killed and a refresh was called.
			Did not adjust the screenIndex value of
			the widget if a widget before it was killed.
4.8.2	Histogram	Fixed memory leak when windows were being	Jan/97
			destroyed.
4.8.2	Alphalist	Fixed uninitialized memory reads and leaks.	Jan/97
4.8.2	Calendar	Fixed uninitialized memory reads and leaks.	Jan/97
4.8.2	All Widgets	Re-purified all widgets and fixed all 		Jan/97
			problems found.
4.8.2	All Widgets	Found a problem when putting a CDK widget in	Jan/97
			a curses window. When an absolute x/y
			coordinate was provided, the x/y position
			it was assigned was based on the main window
			and not the window it was being attached into.
			This problem only occurs when a window other
			than the one one created via initscr was being
			used.
4.8.2	Template	When setting the value of the template widget,	Mar/97
			the cursor usually got mixed up as to where
			it should be compared to where it has to be.
4.8.2	Swindow		The scrolling window would core out if too many	Mar/97
			lines were added. This was because I never
			checked the maximum lines value suuplied
			when the widget was created.
------------------------------------------------------------------------------
4.9.0	Dialog		The seperation line on the widget was being	April/97
			drawn too far if the curses breed was not
			ncurses.
4.9.0	Viewer		The seperation line on the widget was being	April/97
			drawn too far if the curses breed was not
			ncurses.
4.9.0	Matrix		The boxwidth would not get calculated correctly	April/97
			when a wierd mixture of rows/columns and
			spacing was used.
4.9.0	Swindow		Centered text did not scroll correctly.		May/97
4.9.0	Fselect		Fixed cut and paste typo in the 		May/97
			setCDKFselectXXXAttribute functions. Thanks
			to andrze@tor.supercomputing.com for
			pointing this out.
------------------------------------------------------------------------------
4.9.1	Scroll		Fixed the scrollbar height. The bar was always	July/97
			being made to the height of the list and not
			the height of the window.
4.9.1	Selection	Fixed the scrollbar height. The bar was always	July/97
			being made to the height of the list and not
			the height of the window.
4.9.1	Radio		Fixed the scrollbar height. The bar was always	July/97
			being made to the height of the list and not
			the height of the window.
4.9.1	All		When a signal was set the signal would return	July/97
			and end up in the character binding routines
			and pass in a bogus value for the key. This would
			cause the index to be set to some wild value and
			cause a bus error.
4.9.1	Scroll		When drawing the scroll bar, I never checked if	July/97
			the scroll bar window was NULL.
4.9.1	Selection	When drawing the scroll bar, I never checked if	July/97
			the scroll bar window was NULL.
4.9.1	Radio		When drawing the scroll bar, I never checked if	July/97
			the scroll bar window was NULL.
4.9.1	Label		Added the functions activateCDKLabel for the	July/97
			builder. The function calls drawCDKLabel
4.9.1	Graph		Added the functions activateCDKGraph for the	July/97
			builder. The function calls drawCDKGraph
4.9.1	Graph		Modified the draw function, so if setCDKGraph	July/97
			has not been called, it doesn't core dump.
4.9.1	Alphalist	When the user hit tab after entering a simple	July/97
			string in the entry field, the widget would
			core out because I didn't check for an upper
			bound on the array inside the while loop.
4.9.1	Slider		When the user asked for a full width slider by	July/97
			passing in FULL or 0, it cored out.
4.9.1	All		Found a major bug in alignxy (which all		Sept/97
			widgets called). This affected a widgets
			alignment when a widget was created in a
			window that was not the full screen.
------------------------------------------------------------------------------
4.9.2	Template	Fixed a small bug in which internal variables	Jan/98
			of the template widget were reading past their
			array bounds. (Array Bounds Read with purify)
			Possible source of SEGV or core dumps.
------------------------------------------------------------------------------
4.9.3	Button Box	Fixed an oversight with the buttonbox key	Apr/98
			key bindings. Bug and patch fix/found by 
			Mark Buckaway <mark@datasoft.on.ca>.
			(thanks :) )
------------------------------------------------------------------------------
4.9.4			Complete mystery as to what happened these 	April
			months. Must have been kidnapped by aliens.	  to
			Several individuals did send in patches to	 July
			make this 8-bit clean. If the sysadmin at	  of
			the office didn't nuke everyones mailbox, I	 1998
			could give them credit. If you know who you
			are, please mail me, I'll give you credit.
------------------------------------------------------------------------------
4.9.5	Template	The Pre-Process function would never get	July/98
			called becuase of cut-and-paste problems
			during development.
------------------------------------------------------------------------------
4.9.6	None reported. Yeaahhhhhhhh!!!!!!!!!!!!!!! Whoo hooooo!!!!
4.9.7
------------------------------------------------------------------------------
4.9.8	Entry field.	Incorrect return code. Found by both  		July/99
			Daniel Novy (dnovy@rbeep.com.br) and
			Jorgen Granstam (Jorgen.Granstam@abc.se)
------------------------------------------------------------------------------
4.9.9   All		Don Arena (don_arena@hp.com) found a load of	Mar/2000
			bugs in the raise/lower functions. 
