From: adrian@ora.com (adrian)
Newsgroups: fj.mail-lists.x-window
Subject: Errata, Volume Two, Xlib Reference Manual
Date: 13 Nov 92 20:30:50 GMT
Distribution: fj
Organization: Workstation Div., Supermicro Systems Group, Sony Corporation

Date: Fri, 13 Nov 92 11:49:01-060
Message-Id: <9211131749.AA00287@spike.ora.com>


A few errors have been found in the latest edition of Volume Two
(and some of them are also in earlier editions).
You might want to take a few moments to go through your copy of
the book and correct them.

Errata: Volume Two, Xlib Reference Manual.  6/92 printing.

XCopyGC (Page 211)
	XCopyGC requires that both GC's exist before the call is made.
	(This is a clarification; the book doesn't say anything to the contrary.)

XDrawRectangle and XDrawRectangles (page 299 and 301)
XFillRectangle and XFillRectangles (page 332 and 334)
	The figures have one less row of pixels than they should have, but
	all the numbers shown are correct.

XGrabPointer() (page 451)
XGrabButton()  (page 444)
	Each currently says to see XSelectInput for the list of valid symbols for 
	the event_mask argument.  This is incorrect because only 
	pointer-related symbols are valid.    The valid symbols are listed 
	under XChangeActivePointerGrab.  You can correct your book by
	changing the reference from XSelectInput to XChangeActivePointerGrab, 
	or by referring to the FIRST COLUMN of symbols listed on the 
	XSelectInput page.

XSetIOErrorHandler (Page 558, top)
   "If an XYBitmap format is used, then the depth of d must be 1,..."

 	should be:

	"If an XYBitmap format is used, then the depth of image must be 1,..."
                                                      ^^^^^
	(The drawable may have a depth 1 or greater than one.)

XSetIOErrorHandler  (page 700)
	At the top, it says "set a nonfatal error handler".  This 
	should read "fatal".
	
	The second misprint is in the function prototype for the error handler that
	is called when an IO error occurs.  It only takes a pointer to a Display,
	not a pointer to the Display and a pointer to an XErrorEvent.  
	The latest prototype should read:

	int (* handler)(Display *)

XVisualIdFromVisual (Page 808)
	There are two XVisualIdFromVisual manpages.  Both are accurate.

Appendix C (pg 901)
	claims the following functions are macros.  Each of them is 
	documented correctly on manpages.

	XDisplayMotionBufferSize()
	XMaxRequestSize()
	XScreenNumberOfScreen()
	XVisualIDFromVisual()

Event Reference (page 916)
	It says: "Most event structures also have a window member.  The only
	ones that don't are selection events (SelectionNotify, 
	SelectionRequest, and SelectionClear) ..." But, SelectionClear does 
	have a window member.

GC-at-a-glance-4 (page 1122)
	 cap_style is always used for XDrawRectangle and XDrawRectangles.

XAddExtension()
XInitExtension() 
XAddToExtensionList()
	No manpages are provided for these.  They are documented only
	in the Extension Writing appendix in Vol One.  The intention
	is for these manpages to go in a separate volume on extensions.

*************************************************************
Adrian Nye (314) 531-1231    Editor, The X Resource
O'Reilly & Associates, Inc., Publishers of Nutshell Handbooks
4466 West Pine Blvd.  20-G   St. Louis MO 63108
Internet:   adrian@ora.com    	UUCP:   uunet!ora!adrian      
*************************************************************