ChangeLog   [plain text]


2003-09-12  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Application.m: revert fix for
	3363492 and add another check for RootlessKnowsWindowNumber ()
	to fix the original bug (3420745)

2003-09-10  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/bundle-main.c (sigchld_handler):
	loop until no more zombies exist (3414442)

2003-08-08  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: move calling
	HideMenuBar and ShowMenuBar onto the main UI thread (3359753)

	* xc/lib/GL/apple/dri_driver.h, xc/lib/GL/apple/dri_driver.c:
	few more MT changes, be even more careful about when contexts
	are updated

2003-08-07  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_driver.h, xc/lib/GL/apple/dri_driver.c:
	Large set of changes to make this code handle multiple threads
	sanely. Changes include adding a mutex for each screen, and
	only ever touching CGL contexts when we know they're bound to
	the current thread or no thread. This involves patching gli
	dispatch table to cause glViewport to call back into DRI code
	so that contexts can be updated on their own thread. May be
	occasions where glXSwapBuffers fails if no suitable context can
	be found to issue the swap on (3340377) 

	* xc/programs/Xserver/hw/apple/quartz.c: quartzServerVisible
	variable needs to start out as false (3366845)

2003-08-04  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Application.m: move the call
	to RootlessKnowsWindowNumber () into the event handler so that
	we don't activate X on the broken menu-mouse-down event
	(3363492)

	* RELEASE-NOTES: updated to reflect that X11 is now part of the
	OS and no longer a preview release (3361286)

2003-07-29  John Harper  <jsh@apple.com>

	* xc/lib/GL/glx/glxext.c (glXMakeCurrent): unlock display after
	sending GLXMakeCurrent request when changing from indirect to
	direct context (3351489, sent upstream via Torrey)

2003-07-25  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Application.m (sendEvent):
	when in fullscreen mode, don't pass ApplicationDidReactivate
	events through to AppKit (3341360)

2003-07-23  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_dispatch.c (XAppleDRIGetIndirectContext):
	make the context we allocate 1k bigger than we think it needs
	to be, in case GL changes

2003-07-22  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_dispatch.c (XAppleDRIGetIndirectContext):
	allocate the CGLContext used for dispatch indirect rendering
	ourselves, avoids ever needing to contact the window server
	(3126715)

2003-07-18  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/dri-surface.c: fixed use of
	pixmap private index

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzSetFullscreen):
	use xp_disable_hot_keys instead of CG spi (3221162)

	* xc/programs/Xserver/hw/apple/rootless-screen.c,
	xc/programs/Xserver/hw/apple/rootless-common.h,
	xc/programs/Xserver/hw/apple/rootless-common.c: use
	RootlessFinishedDrawing () to call new function
	RootlessMayRedisplay (). After a certain amount of time since
	the last update it will cause a flush (3270678)

	* xc/programs/Xserver/hw/apple/rootless-screen.c: clean-up

2003-07-17  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c
	(RootlessPaintWindowBackground): prevent trying to draw in
	surfaces here

	* xc/programs/Xserver/hw/apple/rootless-gc.c: call
	RootlessFinishedDrawing at the end of each rendering primitive

	* xc/programs/Xserver/hw/apple/rootless-common.h,
	xc/programs/Xserver/hw/apple/rootless-common.c: use the
	DRIStartDrawing functions etc to test if the drawable is a
	surface.
	(RootlessFinishedDrawing): new function, should be called after
	drawing has finished

	* xc/programs/Xserver/hw/apple/dristruct.h,
	xc/programs/Xserver/hw/apple/dri-surface.h,
	xc/programs/Xserver/hw/apple/dri-surface.c (DRIStartDrawing,
	DRIStopDrawing, DRIDamageRegion, DRISynchronizeDrawable,
	DRISynchronize): functions to support Xlib rendering on
	accelerated surfaces. Only supported on 10.3, and they won't do
	anything by default

	* xc/programs/Xserver/hw/apple/dri-surface.c
	(DRICreateSurface): support Pixmap drawables (3122756, 10.3
	only)

	* xc/programs/Xserver/hw/apple/dri-surface.c: removed check for
	cg from SUJagGreen

	* xc/programs/Xserver/GL/apple/indirect.c: support offscreen
	drawables (by removing the code that stopped them being
	supported, dri-surface.c does the real work) (3122756)

	* xc/programs/Xserver/hw/apple/quartz.h,
	xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: added xp_options
	default, lets you pass extra init options to Xplugin

	* xc/programs/Xserver/hw/apple/*: fixed gcc 3.3 warnings

2003-07-16  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/x-list.c,
	xc/programs/Xserver/hw/apple/x-list.h (x_list_pop): new
	function

	* xc/programs/Xserver/hw/apple/x-hash.c: fix gcc 3.3 warning

2003-07-07  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Application.m: don't pass
	flags changed events to X11 when Appkit is active (3316333)

2003-07-02  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzRunClient):
	don't quote commands, it stops multi-word commands working

	* xc/programs/Xserver/hw/apple/X11Controller.m: updated quit
	alert text (3313133)

	* xc/programs/Xserver/hw/apple/Xquartz.man: added more defaults

	* xc/programs/Xserver/hw/apple/bundle-main.c (main): detach
	from the controlling terminal when we have one (avoids bash
	suspending the process when we try to launch problems!?)

2003-06-24  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/applewm-impl.c
	(ProcAppleWMSetWindowLevel): removed the code to call
	xp_configure_window inline - it should have been removed when
	the call to RootlessSetWindowLevel () was added!

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzSetFullscreen):
	hide and show menubar when entering and leaving fullscreen
	mode. Otherwise it steals our pointer events (3303080)

2003-06-23  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c: ensure that
	window is unlocked before trying to configure/destroy it. Fixes
	the problem where the root window can be left on top of
	everything (3302694)

2003-06-17  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Controller.m (x11_help): open
	Apple Help page, not X11 web page (3281002)

2003-05-30  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m: changed rooted
	mode UI per (#3221150)

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: changes
	for above

2003-05-27  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/darwin.c,
	xc/programs/Xserver/hw/apple/applewmstr.h,
	xc/programs/Xserver/hw/apple/applewm.h,
	xc/programs/Xserver/hw/apple/applewm.c,
	xc/programs/Xserver/hw/apple/applewm-impl.c,
	xc/programs/Xserver/hw/apple/appledri.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/Imakefile: implement and use new
	Apple-WM extension for window manager interfacing

	* xc/lib/GL/apple/appledristr.h, xc/lib/GL/apple/appledri.h,
	xc/lib/GL/apple/appledri.c: removed all window-manager related
	extensions

2003-05-19  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/bundle-main.c: use getifaddrs ()
	instead of gethostbyname (hostname) so that we get all AF_INET
	addresses used by the system. Also, after receiving the
	"something may have changed" notification, delay one second
	before updating .Xauthority (I was seeing the wrong addresses
	otherwise..)

2003-05-16  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/English.lproj/InfoPlist.strings:
	fixed typo in copyright string (#3260643)

2003-05-14  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/bundle-main.c: clean-up

2003-05-13  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/bundle-main.c: use SIGCHLD to
	catch client/server deaths (do the reaping inside the signal
	handler since it's safe and easiest, longjmp back to main ()
	when both processes are dead). Use SystemConfiguration
	framework to create a runloop source to tell us when either a
	local ip address or hostname changes, in the callback for this,
	delete old Xauthority entries and install new ones reflecting
	the current configuration. All this should fix #3141699

	* xc/programs/Xserver/hw/apple/X11.pbproj/project.pbxproj: link
	X11.app against SystemConfiguration.framework

2003-05-12  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/quartz-cursor.c,
	xc/programs/Xserver/hw/apple/darwin.h,
	xc/programs/Xserver/hw/apple/darwin.c: revised last change -
	now install a new function DarwinEnqueuePointerEvent in the mi
	screen funcs table. This just calls the pointer device. Then
	remove the call to the pointer device from ProcessInputEvents

	* xc/programs/Xserver/hw/apple/quartz-cursor.c: install
	DarwinEnqueueEvent in the mipointer screen functions table.
	This makes warping the pointer generate events correctly

2003-05-09  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/bundle-main.c: added code to
	dynamically choose an unused display number for the server
	(#3253935). It works, though there is a race condition in the
	unlikely event that two servers are started roughly
	simultaneously..

2003-05-08  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: added
	"Next Window" and "Previous Window" menuitems (similar to in
	Terminal.app)

	* xc/programs/Xserver/hw/apple/X11Controller.m (next_window,
	previous_window): new methods

	* xc/lib/GL/apple/appledri.h (AppleDRINextWindow,
	AppleDRIPreviousWindow): added

	* xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Application.m: don't crash
	while updating window menu when some items don't have shortcuts
	associated with them (#3210884)

2003-05-07  John Harper  <jsh@apple.com>

	Fixed some issues with fullscreen mode:

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzSetFullscreen,
	QuartzSetRootless): disable updates while frobbing windows.
	Also, only call QuartzUpdateScreens () if windows are left
	visible

	* xc/programs/Xserver/hw/apple/rootless-window.c: be sure to
	remove the _NATIVE_SCREEN_ID property from windows that have no
	physical window

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzAddScreen): be
	more selective about when to remove the menubar from the
	screen/head shapes

2003-05-06  John Harper  <jsh@apple.com>

	* xc/extras/freetype2/src/base/ftmac.c: merged double free fix
	from www.freetype.org/pipermail/devel/2003-April/009062.html,
	fixes #3246069

2003-04-30  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/quartz.c
	(addPseudoramiXScreens): start from null rect not zero rect
	when creating screen bounds (patch from Torrey Lyons)

	* xc/programs/Xserver/hw/apple/quartz.c (do_exec): force stdin
	to /dev/null

2003-04-29  John Harper  <jsh@apple.com>

	Work to support key equivalents in applications menu
	(#3132993):

	* xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Application.m: changed
	apps-menu array format from [TITLE CMD TITLE CMD ...] to
	[[TITLE CMD SHORTCUT] ...]. Added code to edit and use the
	shortcuts, and to convert from the old format when necessary

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: added
	third column to applications table

2003-04-29  John Harper  <jsh@apple.com>

	Work to add numeric window menu shortcuts to match the rest of
	the system:

	* xc/programs/Xserver/hw/apple/appledri.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: setting window
	menu can now specify numeric shortcuts for each window

	* xc/lib/GL/apple/appledri.c, xc/lib/GL/apple/appledri.h
	(XAppleDRISetWindowMenuWithShortcuts): new function

2003-04-23  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/bundle-main.c (define_named):
	check for null h_addr before trying to copy it (may fix
	#3231372)

2003-04-18  John Harper  <jsh@apple.com>

	* xc/lib/X11/lcPrTxt.c (_XTextPropertyToTextList): fixed double
	allocation bug (already fixed in xc HEAD)

	* xc/programs/Xserver/hw/apple/bundle-main.c (make_auth_keys):
	free the display number before returning (#3232717)

2003-04-17  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/x-list.c (x_list_free_1,
	x_list_prepend): made the x-list allocator thread-safe

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzRunClient):
	launch programs using "$SHELL -i -c 'PROG'" instead of "sh -c
	PROG". This way we will load the user's environment before
	invoking the program (meaning that e.g. fink-installed programs
	can be put in the applications menu without their full paths)

	* xc/programs/Xserver/hw/apple/darwin.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: when asked to
	launch programs before the X server has finished initializing
	itself, push the request on a queue until the X server is ready

2003-04-16  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/darwin.h,
	xc/programs/Xserver/hw/apple/darwin.c,
	xc/programs/Xserver/hw/apple/darwin-keyboard.c,
	xc/programs/Xserver/hw/apple/Xquartz.man,
	xc/programs/Xserver/hw/apple/X11Application.h: added
	-swapAltMeta option and swap_alt_meta default. When true, the
	meaning of the Alt and Meta modifier keys are swapped
	(#3201071)

	* xc/programs/Xserver/hw/apple/X11Controller.m: removed
	hardcoded default applications menu

	* xc/programs/Xserver/hw/apple/X11Application.m (prefs_get):
	new method for looking up preferences. If the given key doesn't
	exist in the user's plist, look in /etc/X11/xserver/Xquartz.plist

	* xc/programs/Xserver/hw/apple/X11Application.m: removed
	BETA_VERSION_HACK

2003-04-15  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_driver.c (XAppleDRIUseIndirectDispatch),
	* xc/lib/GL/apple/dri_dispatch.c (XAppleDRIGetIndirectContext):
	marked as __private_extern__

	* xc/programs/Xserver/hw/apple/x-list.h,
	xc/programs/Xserver/hw/apple/x-list.c,
	xc/programs/Xserver/hw/apple/x-hook.h,
	xc/programs/Xserver/hw/apple/x-hook.c,
	xc/programs/Xserver/hw/apple/x-hash.h,
	xc/programs/Xserver/hw/apple/x-hash.c: all exported symbols are
	now __private_extern__ to avoid polluting global namespace

2003-04-14  John Harper  <jsh@apple.com>

	Work to fix #3157501 (X11.app presents quit warning even when
	all windows closed):

	* xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h (set_can_quit):
	new method. Value used by applicationShouldTerminate to decide
	whether to put up a dialog or not

	* xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h
	(X11ApplicationSetCanQuit): new function

	* xc/programs/Xserver/hw/apple/appledri.c: implemented
	AppleDRISetCanQuit

	* xc/lib/GL/apple/appledristr.h, xc/lib/GL/apple/appledri.h,
	xc/lib/GL/apple/appledri.c: new extension function
	AppleDRISetCanQuit

2003-04-11  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/appledri.h: removed #if
	NeedFunctionPrototypes junk

	* xc/programs/Xserver/hw/apple/Imakefile: #3227677, install
	X11.app in /Applications/Utilities, not /Applications

2003-04-11  John Harper  <jsh@apple.com>

	Made display-changes work better: (#3210250, #3159228)

	* xc/programs/Xserver/hw/apple/rootless-window.c
	(RootlessResizeWindow): when resizing the root window, don't
	call down to the next ResizeWindow function. The mi/dix code
	isn't able to resize the root window so it just returns
	immediately. So we'll "resize" the root ourselves by updating
	its bounds and the various regions..

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzUpdateScreens):
	after resizing the root paint its background

2003-04-10  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h: don't try to
	launch anything until we've finished launching - avoids trying
	to launch the display number..

	* xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/quartz.h,
	xc/programs/Xserver/hw/apple/rootless-screen.c,
	xc/programs/Xserver/hw/apple/bundle-main.c,
	xc/programs/Xserver/hw/apple/X11.pbproj/project.pbxproj:

	Moved all xinit code out of the X server and into the launcher
	process where it belongs. Also, by default we now SIGTERM the X
	server when the xinitrc script exits (typically this is when
	the window manager exits). This is the standard xinit
	behaviour. To get the old behaviour (not killing the server),
	do "defaults write com.apple.x11 xinit_kills_server -boolean
	false". This should fix #3145038

2003-04-09  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11.pbproj/project.pbxproj:
	claim the .x11app file extension

	* xc/programs/Xserver/hw/apple/X11Controller.m: implemented
	application:openFile: delegate method

2003-04-07  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless.h,
	xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/rootless-screen.c,
	xc/programs/Xserver/hw/apple/rootless-common.h,
	xc/programs/Xserver/hw/apple/quartz.h,
	xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/appledri.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: added support
	for "rooted" operation (by ordering-in a root window beneath
	all other X windows and using high window levels so no other
	windows are visible). It's also possible to enable and disable
	"rootless" operation

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: added
	"View" menu with "Toggle Root" and "Enable Rootless" items

2003-04-03  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-gc.c: only skip drawing
	on root if it has no RootlessWindowRec structure

	* xc/programs/Xserver/hw/apple/quartz-cursor.h,
	xc/programs/Xserver/hw/apple/quartz-cursor.c
	(QuartzIgnoreNextWarpCursor): new function

	* xc/lib/GL/apple/appledri.h: define a fixed set of window
	levels by id, not by value

2003-03-28  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c
	(RootlessReorderWindow): if _APPLE_NO_ORDER_IN property is set
	on the window, don't do anything

2003-03-28  John Harper  <jsh@apple.com>

	* xc/lib/GL/mesa/src/OSmesa/Imakefile: added $(XLIB) to
	REQUIREDLIBS. This is needed to successfully link before libX11
	is installed in /usr/X11R6

2003-03-27  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: added
	"256 colors" mode to depth control

	* xc/programs/Xserver/hw/apple/darwin.c (DarwinAddScreen):
	disable mixed truecolor/pseudocolor until I can work out how to
	make it work when pc subwindows are inside tc top-level windows

2003-03-14  John Harper  <jsh@apple.com>

	* merged changes from XFree86 4.3.0. Change to disable hinting
	has been lost, so we'll need to look at that..

2003-03-17  John Harper  <jsh@apple.com>

	* Released: third public beta (0.3)

2003-03-10  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_driver.c (driCreatePixelFormat): don't
	disable direct rendering if any pixel format can't be created,
	only if all formats fail. This avoids disabling DRI when we
	have a single non-rgba visual (doh)

2003-03-07  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/x-list.c (list_sort_1): couple
	of minor tweaks

2003-03-06  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Application.m: added hack to
	replace "0." by "Beta" in version string in about panel

2003-03-04  John Harper  <jsh@apple.com>

	* xc/config/imake/imakemdep.h: add -traditional to cpp_argv on
	__APPLE__ systems (fixes build breakage)

2003-03-03  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/appledri.c
	(ProcAppleDRISetWindowLevel): made this actually work

	* xc/programs/Xserver/hw/apple/x-list.c,
	xc/programs/Xserver/hw/apple/x-list.h (x_list_filter,
	x_list_map): two new functions

	* xc/programs/Xserver/hw/apple/x-list.c,
	xc/programs/Xserver/hw/apple/x-list.h (x_list_sort): new
	function, a destructive list sort (it uses merge sort, and so
	is stable)

2003-03-03  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/appledri.c,
	xc/lib/GL/apple/appledristr.h, xc/lib/GL/apple/appledri.h,
	xc/lib/GL/apple/appledri.c: added SetWindowLevel extension

2003-03-03  John Harper  <jsh@apple.com>

	Work to support eight-bit PseudoColor visuals concurrently with
	existing TrueColor visuals. Fixes #3146168:

	* xc/programs/Xserver/render/picture.c
	(PictureCreateDefaultFormats): fixed bugs when creating
	pseudocolor formats with large visual ids. Patch sent to Keith
	Packard..

	* xc/programs/Xserver/GL/apple/indirect.c (init_visuals): don't
	delete non-rgb visuals. Instead just pass them through with a
	null glX config

	* xc/programs/Xserver/hw/apple/rootless-window.c: support
	indexed windows

	* xc/programs/Xserver/hw/apple/rootless-window.c
	(RootlessFlushWindowColormap): new function

	* xc/programs/Xserver/hw/apple/rootless-screen.c: wrap colormap
	functions so we know when to update indexed windows

	* xc/programs/Xserver/hw/apple/rootless-common.c
	(RootlessDamageRegion): intersect reported region with the clip
	of the window being drawn in. Now that xp may use client side
	backing stores we shouldn't report modifying something that we
	didn't actually draw in

	* xc/programs/Xserver/hw/apple/rootless-common.c
	(RootlessFlushScreenColormaps, RootlessResolveColormap): new
	functions

	* xc/programs/Xserver/hw/apple/darwin.c (DarwinAddScreen):
	always add an eight bit PseudoColor visual

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzAddScreen):
	added support for -depth 8

2003-02-27  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c
	(FinishFrameResize): removed unused code

2003-02-26  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: removed
	AboutPanel, About menu item is now connected to NSApp
	orderFrontStandardAboutPanel method

	* xc/programs/Xserver/hw/apple/X11.pbproj/project.pbxproj:
	removed CFBundleVersion string - it appeared in the About
	panel, but was redundant. Perhaps we can use a build version.
	Also added a NSHumanReadableCopyright string

	* xc/programs/Xserver/hw/apple/X11Application.m: override
	orderFrontStandardAboutPanel so it can create a dictionary with
	some custom strings

2003-02-25  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/English.lproj/InfoPlist.strings, 
	* xc/programs/Xserver/hw/apple/X11.pbproj/project.pbxproj: 

	bumped version to 0.3

2003-02-24  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/bundle-main.c (main): fixed
	logic that decides the exit value

	* xc/programs/Xserver/hw/apple/darwin-keyboard.c
	(DarwinKeyboardInit): load the keyboard layout seed at startup
	to make sure it's initialized

2003-02-21  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/darwin-new-keymap.c
	(DarwinReadSystemKeymap): fixed dead key detection in KCHR
	mode. Need to translate key down event to find if it's dead or
	not, and if so then translate the up event to find the actual
	character. Fixes #3172997

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/:
	connected Command-Q to quit and Command-, to preferences

	* xc/programs/Xserver/hw/apple/X11Controller.m
	(applicationShouldTerminate): before displaying the alert,
	activate the application. Fixes #3177855

2003-02-20  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-screen.c
	(RootlessGetImage): clip input rect to bounds of the relevant
	top-level window (XGetImage manpage states that anything
	outside the visible region is undefined. Fixes #3177623 crash

	* xc/config/cf/darwin.cf: changed APPLE_XP_ macro names to
	XPLUGIN_, removed _INCDIR macro, replaced by XPLUGIN_INCLUDE
	macro

	* Makefile, xc/config/cf/darwinLib.tmpl,
	xc/lib/GL/GL/Imakefile, xc/lib/GL/apple/Imakefile,
	xc/lib/GL/apple/dri_driver.h, xc/programs/Xserver/Imakefile,
	xc/programs/Xserver/GL/apple/Imakefile,
	xc/programs/Xserver/fb/Imakefile,
	xc/programs/Xserver/fb/fbblt.c,
	xc/programs/Xserver/fb/fbpict.c,
	xc/programs/Xserver/fb/fbsolid.c,
	xc/programs/Xserver/hw/apple/Imakefile,
	xc/programs/Xserver/hw/apple/dri-surface.h,
	xc/programs/Xserver/hw/apple/quartz-cursor.c,
	xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/rootless.h: updated for Xplugin
	name changes

2003-02-19  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/rootless-common.c: updated for xp
	changes

	* xc/programs/Xserver/fb/fbpict.c,
	xc/programs/Xserver/fb/fbblt.c: changes for new xp compositing
	code

2003-02-18  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_driver.h, xc/lib/GL/apple/dri_driver.c:
	added a "destroyed" bit to the drawable private data, it gets
	set in the garbage collection function when we know the
	drawable has gone. Then when destroying the drawable, only tell
	the X server to destroy the physical surface if we don't think
	it's already been destroyed. This avoids the dri client getting
	an error (and aborting) when the X server can't find the window

	* xc/lib/GL/apple/appledristr.h, xc/lib/GL/apple/appledri.h,
	xc/lib/GL/apple/appledri.c: added a new request
	AppleDRISetFrontProcess that brings the X server frontmost

	* xc/programs/Xserver/hw/apple/appledri.c,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: implement
	AppleDRISetFrontProcess

	* xc/programs/Xserver/hw/apple/darwin.c (ProcessInputEvents):
	moved fake button code (back) inline to this function. Split
	the press and release parts apart so that we get the correct
	event ordering (mod-release, button-press, button-release,
	mod-press), #3174622. Also, don't generate the mod-press if it
	was already physically released

2003-02-17  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless.h,
	xc/programs/Xserver/hw/apple/rootless-screen.c,
	xc/programs/Xserver/hw/apple/rootless-common.h,
	xc/programs/Xserver/hw/apple/quartz.c:

	don't let mi create the screen pixmap - it leaves us with an
	incorrectly sized pixmap with an uninitialized data pointer!

	Instead wrap CreateScreenResources and setup our own pixmap to
	be a piece of memory the width of the screen with zero
	rowbytes. Update this whenever the screen dimensions change.
	Fixes #3170754

	* xc/programs/Xserver/hw/apple/quartz-cursor.c
	(QuartzWarpCursor): add in offset of given screen. Fixes
	#3174914

	* xc/programs/Xserver/fb/fbblt.c (fbBlt): when calling
	xp_copy_bytes find the byte addresses of the src and dest, not
	the word addresses. Fixes #3174305
	* xc/programs/Xserver/fb/fbsolid.c (fbSolid): similar change

	* xc/lib/GL/apple/dri_dispatch.h,
	xc/lib/GL/apple/dri_dispatch.defs: added more aliases, we
	should have all gl prefixed in XFree86 4.2 libGL now

	* xc/lib/GL/apple/build-dispatch: output both internal entry
	points and aliases for each item if necessary

2003-02-14  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/rootless-common.c,
	xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/quartz-cursor.c,
	xc/programs/Xserver/hw/apple/appledri.c,
	xc/programs/Xserver/GL/apple/indirect.c,
	xc/lib/GL/apple/dri_driver.c: updated for xp renaming

2003-02-13  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_dispatch.h,
	xc/lib/GL/apple/dri_dispatch.defs (BindTextureEXT,
	DeleteTexturesEXT): added aliases for these entry-points

	* xc/lib/GL/apple/build-dispatch (strip-args): handle things
	like "void *foo" where the '*' is immediately next to the
	parameter name

2003-02-12  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h:

	fixed termination behaviour. X11ApplicationMain and
	X11ControllerMain no longer return, the NSApp delegate defines
	applicationWillTerminate and does everything in there (messages
	the X server thread to exit, then exits itself after ten
	seconds)

2003-02-11  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_dispatch.defs,
	xc/lib/GL/apple/dri_dispatch.h (GetColorTableEXT,
	GetColorTableParameterivEXT, GetColorTableParameterfvEXT):
	commented out the definitions causing aliases to be created --
	OpenGL.framework does define stubs for these functions, even
	though it doesn't have dispatch table slots for them, so we
	were shadowing their symbols causing (harmless) compiler
	warnings

2003-02-11  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/keysym2ucs.c: removed mapping
	from keysym 0x13a4 to Unicode 0x20ac (EuroSign). As far as I
	can tell there is no keysym 0x13a4, and it blocks the working
	identity mapping in the reversed table

	* xc/programs/Xserver/hw/apple/darwin.c (GetTimeInMillis):
	implement this locally using Microseconds (). Avoids a kernel
	trap to gettimeofday () for every input event we process. Note
	that this is currently using microseconds / 1024, not 1000, so
	we have a 2% error, but it should be good enough..

	* xc/config/cf/darwin.cf: added -DDDXTIME to ServerExtraDefines

2003-02-10  John Harper  <jsh@apple.com>

	* Released: second public beta

2003-02-04  John Harper  <jsh@apple.com>

	* xc/cf/config/darwinLib.rules: added -seg_addr_table_filename
	ld options specifying the installed location of the library
	file (since it differs from the -install_name of the library,
	which means prebinding doesn't work)

2003-02-03  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/build-dispatch,
	xc/lib/GL/apple/dri_dispatch.defs: each entry can only have one
	alias. If a function which doesn't have a CGL vector has an
	alias, don't generate an EXTERN stub

	* xc/lib/GL/apple/dri_dispatch.h,
	xc/lib/GL/apple/dri_dispatch.defs: don't have any duplicate
	entries in generated dri_dispatch.h (i.e. only set each element
	in the CGL dispatch table zero or one times). Generate aliases
	for the functions we were adding incorrectly

	* xc/config/cf/darwinLib.tmpl: link libXfont using
	-flat_namespace since its interface relies on clients being
	able to override some of the functions it defines (similar to
	the problem libXt). Pointed out by Torrey Lyons in email

	* xc/programs/Xserver/hw/apple/Xquartz.man: described some more
	options (and defaults)

2003-01-31  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: text
	changes in prefs panel

	* xc/programs/Xserver/hw/apple/darwin.h,
	xc/programs/Xserver/hw/apple/darwin.c,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: added defaults
	for fake buttons modifier strings: fake_button2 and
	fake_button3

	* xc/programs/Xserver/hw/apple/darwin-keyboard.c: deleted some
	NX key/modifier translation functions that are no longer used

	* xc/programs/Xserver/hw/apple/darwin.c
	(DarwinForeachLibraryFile): deleted

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: fixed
	some typos in prefs panel

2003-01-30  John Harper  <jsh@apple.com>

	* xc/lib/X11/lcSjis.c, xc/lib/X11/lcJis.c, xc/lib/X11/lcEuc.c:
	merged changes between XFree86 4.2.1.1 and HEAD. (The changes
	that Toshimitsu Tanaka asked us to add in #3144505.) May allow
	Japanese X11 input methods to work correctly

	* xc/programs/Xserver/hw/apple/darwin.c: maintain a bitmap of
	which keys we've told X are currently down. Use this to release
	all non-modifier keys when X becomes inactive. Also use it to
	keep X's and system's modifiers in sync (I had seen Caps-Lock
	get out of sync in some circumstances with old code)

	* xc/programs/Xserver/hw/apple/X11Application.m: removed
	"saw_key_down" hack

	* xc/programs/Xserver/fb/fbwindow.c,
	xc/programs/Xserver/fb/fbfill.c,
	xc/programs/Xserver/hw/rootless-window.c: applied Torrey's
	patch to support x/y offsets with fbTile ()

2003-01-29  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/English.lproj/InfoPlist.strings:
	bumped version number

2003-01-28  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Controller.m
	(applicationShouldTerminate): implement the NSApplication
	delegate method. Put up an alert panel (unless no_quit_alert
	default is true)

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: removed
	Quit and RunProgram panels; set window auto-save names

	* xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: when run for the
	first time, check for a ~/.xinitrc file. If one exists, ask if
	the user would like to move it aside allowing the standard
	script to run. Fixes #3154871

	* xc/programs/Xserver/hw/apple/quartz.c (xinit_callback): if
	user has no .xinitrc, look for xinitrc in usr/X11R6/lib/xinit
	before falling back to hardcoded programs

	* xc/programs/Xserver/hw/apple/rootless-common.h,
	xc/programs/Xserver/hw/apple/rootless-common.c:
	SetPixmapBaseToScreen macro is now a function called
	TranslatePixmapBase, and the meaning of the x,y arguments have
	been negated. It also ensures 32-bit alignment of the pixmap by
	adjusting the pointer and drawable x position as required

	* xc/programs/Xserver/hw/apple/rootless-window.c: updated
	callers of SetPixmapBaseToScreen

	* xc/programs/Xserver/fb/fb.h: removed my __fbAlignBaseAddress
	change. Use Torrey's method of enabling __fbPixOriginX and
	fixing the alignment in the rootless code

	* xc/programs/Xserver/fb/fbfill.c (fbFill): applied Torrey's
	patch to include src[XY]off

2003-01-27  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-screen.c
	(RootlessGetImage): don't crash in fbBlt () when trying to
	GetImage from a window that has no underlying data (e.g. the
	root). Fixes #3147209

	Work to fix #3144995 (CodeTek virtual desktop moves windows
	without X realizing):

	* xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/quartz.h,
	xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/quartz-server.c: added code to
	listen for WINDOW_MOVED events and respond by updating X's idea
	of where the window is. Be sure never to actually move the
	physical window in response to a WINDOW_MOVED event

2003-01-27  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/bundle-main.c (main): scan argv
	for the :N display number instead of assuming we always use
	display :0

2003-01-24  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/darwin.c (ProcessInputEvents):
	also check for keymap update on flags-changed events

	* xc/programs/Xserver/hw/apple/darwin-new-keymap.c
	(DarwinReadSystemKeymap): when reading kchr data, only try
	first 128 keycodes

	* xc/programs/Xserver/hw/apple/darwin-new-keymap.c
	(DarwinReadSystemKeymap): added code to recognize dead keys and
	translate them to their dead_foo keysym

	* xc/programs/Xserver/hw/apple/X11Application.m (activateX):
	create a TSM document that supports full Unicode input, and
	have it activated while X is active (unless using the old
	keymapping files). Fixes the problem that the input menu only
	displays "western-ish" scripts while X is active. Tested by
	selecting Arabic and checking the keymap using xmodmap,
	everything looked sane

	* xc/programs/Xserver/hw/apple/darwin-new-keymap.c
	(DarwinReadSystemKeymap): realized that when using KeyTranslate
	to read kchr resources the returned character is in MacRoman
	encoding, so need to convert it to Unicode. This makes French
	character input exactly match what KeyCaps says it should be

	* xc/programs/Xserver/hw/apple/X11Application.m (sendEvent): 
	changed how app-activate events are handled. Now we never send
	them to appkit or X, but activate X unconditionally and set
	NSApp's bit telling it it's active

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/:
	reconnect the hide/unhide menu items to their standard outlets.
	Mark X11Controller as the delegate of NSApp

	* xc/programs/Xserver/hw/apple/X11Controller.m: when modifying
	the window menu, replicate all changes in the dock menu

	* xc/programs/Xserver/hw/apple/X11Controller.m: removed hide
	and unhide methods, use the standard NSApplication methods now.
	Implement applicationDidHide and applicationDidUnhide methods
	to message the wm. Fixes all known issues regarding hiding and
	showing (and clicking on the dock icon)

2003-01-23  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Controller.m (x11_help): new
	method, opens http://www.apple.com/macosx/x11/

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: added
	"Help/X11 Help" menu item

	* xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: added code to
	handle three new UI preferences: xauth/no-tcp options and color
	depth

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: added
	above mentioned UI items. (Also split the panel into three tabs
	to accomodate them: Input, Output and Security)

	* xc/programs/Xserver/hw/apple/appledri.c
	(ProcAppleDRICreateSurface, surface_notify): pass the client
	index to the callback, not the pointer. This allows us to be
	safer in the callback, testing if the client still exists. We
	also check for the clientGone bit being set, and if so, don't
	send any events. #3154751

2003-01-22  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Application.m (send_nsevent):
	ignore any key repeat or key release events unless we saw a
	matching key down first. (Fixes the problem where using
	Command-Q to quit an application can result in "q" events being
	generated by X if it becomes frontmost)
	
2003-01-22  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/darwin-new-keymap.c
	(DarwinSystemKeymapSeed): fixed a stupid bug which meant this
	returned a new seed each time

	* xc/programs/Xserver/hw/apple/darwin-new-keymap.c
	(DarwinReadSystemKeymap): in KeyTranslate case, mask out all
	but the bottom eight bits of the returned value

	* xc/programs/Xserver/hw/apple/X11Application.m: added hidden
	"depth" default to control X server color depth

2003-01-21  John Harper  <jsh@apple.com>

	Work to make X11 keymap follow the system keymap. Removed the
	UI keymap item I'd added last week:

	* xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: added code for
	new sync_keymap option

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: added
	sync_keymap checkbox

	* xc/programs/Xserver/hw/apple/darwin.c: added -synckeymap and
	+synckeymap command line options
	(ProcessInputEvents): when needed, check if the system keymap
	has changed each unmodified KeyPress event, and reload it if it
	has

	* xc/programs/Xserver/hw/apple/darwin-keyboard.h,
	xc/programs/Xserver/hw/apple/darwin-keyboard.c: this now just
	chooses whether to use an old style .keymapping file (only if
	the user default "keymap_file" is set) or to read the system
	keymap. Also added code to reload the keymap when requested and
	to build the needed modifier tables from the keymap

	* xc/programs/Xserver/hw/apple/darwin-new-keymap.c: new code to
	convert the current system keyboard layout into a mapping from
	X keycodes to X keysyms. Has to make some leaps of faith in a
	few places to guarantee a usable map (some special keys can't
	be deduced from the system mappings?)

	* xc/programs/Xserver/hw/apple/darwin-old-keymap.c: abstracted
	all the groty code to read .keymapping files into this separate
	file

	* xc/programs/Xserver/hw/apple/keysym2ucs.h,
	xc/programs/Xserver/hw/apple/keysym2ucs.c: functions to convert
	between Unicode characters and X keysyms (and back). Originally
	by Markus G. Kuhn, source code was placed in the public domain

2003-01-17  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/fb/fbsolid.c,
	xc/programs/Xserver/fb/fbpict.c,
	xc/programs/Xserver/fb/fbblt.c, xc/programs/Xserver/fb/fb.h:
	include x-plugin.h only in files where it's needed, not in fb.h

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/,
	xc/programs/Xserver/hw/apple/X11.pbproj/project.pbxproj: bumped
	version to 0.2

2003-01-17  John Harper  <jsh@apple.com>

	Work to add UI to set keymap default:

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/: added
	keymap combo box

	* xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h: hook up the new
	keymap combox box

	* xc/programs/Xserver/hw/apple/X11Application.m
	(X11ApplicationSetWindowMenuCheck): don't autorelease (since we
	don't have a pool in scope)

	* xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h
	(prefs_set_string): new method

	* xc/programs/Xserver/hw/apple/darwin-keyboard.c: locate the
	keymap file in here, instead of in OsVendorInit ()

	* xc/programs/Xserver/hw/apple/darwin.h,
	 xc/programs/Xserver/hw/apple/darwin.c
	(DarwinForeachLibraryFile): new function
	(DarwinFindLibraryFile): made extern

2003-01-16  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_dispatch.h,
	xc/lib/GL/apple/dri_dispatch.defs,
	xc/lib/GL/apple/dri_dispatch.c, xc/lib/GL/apple/build-dispatch:
	updated again, and added the ability to create aliases if
	native gl functions are named differently to glx functions with
	the same semantics

	* xc/lib/GL/apple/dri_dispatch.h,
	xc/lib/GL/apple/dri_dispatch.defs,
	xc/lib/GL/apple/dri_dispatch.c, xc/lib/GL/apple/build-dispatch:
	generate glXXX stubs for the functions that are in a normal
	Mesa-derived libGL, but not in OpenGL.framework. In indirect
	mode they marshall as normal, in direct mode they are no-ops

	* xc/lib/Xaw/Vendor.c: removed some meaningless changes I'd
	made and then not reverted totally

	* xc/lib/freetype2/freetype/Imakefile,
	xc/lib/freetype2/freetype/cache/Imakefile,
	xc/lib/freetype2/freetype/internal/Imakefile: 
	xc/lib/freetype2/freetype/config/Imakefile: removed references
	to InstallFreetype2Library

	* xc/config/cf/X11.tmpl: removed unused InstallFreetype2Library
	definition that I'd added

	* xc/programs/Xserver/hw/apple/appledri.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: implemented the
	AppleDRISetWindowMenuCheck request

	* xc/lib/GL/apple/appledristr.h, xc/lib/GL/apple/appledri.h,
	xc/lib/GL/apple/appledri.c: added AppleDRISetWindowMenuCheck
	request, changed the names of a few constants

	* xc/programs/Xserver/hw/apple/dri-surface.h,
	xc/programs/Xserver/hw/apple/dri-surface.c: removed unused code

	* xc/lib/GL/apple/dri_driver.c: added code to recreate surfaces
	that got destroyed before we wanted (e.g. if they were
	reparented out of a window). This doesn't work for apps that
	don't call into glx while running (e.g. glxgears), but it's a
	simple change and should fix most apps

	* xc/lib/GL/apple/appledri.c, xc/lib/GL/apple/appledri.h
	(XAppleDRISetSurfaceNotifyHandler): new function, sets the
	function that will be called with AppleDRISurfaceNotify events,
	instead of hardcoding a function name (that stops appledri.o
	being linked in some cases)

	* xc/lib/GL/apple/dri_driver.c (__driCreateScreen): when first
	called, setup the surface notify event handler

2003-01-15  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_driver.c (driMesaDestroyDrawable):
	remember to tell the server to destroy the surface

	* xc/programs/Xserver/hw/apple/x-hash.c (hash_table_modify):
	fixed stupid bug

	* xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/dristruct.h,
	xc/programs/Xserver/hw/apple/dri-surface.h,
	xc/programs/Xserver/hw/apple/dri-surface.c,
	xc/programs/Xserver/hw/apple/appledri.c: listen for the new
	surface events and propagate them to the surface creator.
	This may involve sending them over the wire to DRI clients
	using a new event typep

	* xc/programs/Xserver/GL/apple/indirect.c,
	xc/programs/Xserver/GL/apple/Imakefile: register for surface
	notifications when creating surfaces, use them to invalidate
	surfaces that disappear and update contexts pointing at
	surfaces that changed somehow. Removed both other calls to
	update-context

	* xc/lib/GL/apple/appledristr.h, xc/lib/GL/apple/appledri.h,
	xc/lib/GL/apple/appledri.c: handle the new SurfaceNotify event
	type. But don't pass it up to the app, call into the DRI driver
	code instead

	* xc/lib/GL/apple/dri_driver.h, xc/lib/GL/apple/dri_driver.c:
	handle surface notify events by invalidating or updating the
	necessary drawable and contexts. Added more code to track where
	contexts are bound to allow this. Removed existing calls to
	update-context

2003-01-15  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/GL/apple/indirect.c: catch when the
	surface is destroyed abnormally and unset the surface id field
	in the private data. That way next time attach () is called it
	will try to recreate the surface. This fixes the problem of
	losing surfaces when reparenting windows upwards (not for
	direct rendering, though)

	* xc/programs/Xserver/hw/apple/dristruct.h,
	xc/programs/Xserver/hw/apple/dri-surface.h,
	xc/programs/Xserver/hw/apple/dri-surface.c,
	xc/programs/Xserver/hw/apple/appledri.c: DRICreateSurface and
	DRIDestroySurface now take closures (function,data pair) to
	call when the surface is destroyed abnormally

	* xc/programs/Xserver/hw/apple/appledri.c
	(ProcAppleDRIDisableUpdate, ProcAppleDRIReenableUpdate): use
	_async versions of xp disable update functions

	* xc/programs/Xserver/hw/apple/x-hook.h,
	xc/programs/Xserver/hw/apple/x-hook.c: new utility class

2003-01-10  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_driver.c (driMesaSwapBuffers):
	* xc/programs/Xserver/GL/apple/indirect.c (glAquaSwapBuffers): 

	Call xp_update_gl_context () after flushing the context. This
	is needed in case there's only one context and it's never made
	current again (the other place update_gl_context is called)

2003-01-14  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/fb/fb.h (fbGetDrawable,
	fbGetStipDrawable): ensure that the returned pointers are
	always 32-bit aligned, by adjusting the base address and X
	offset if necessary. This fixes a crash in 16-bit mode when
	trying to access the 32 bit quantity beginning two bytes before
	the start of the backing store

	* xc/config/cf/darwinLib.rules: reverted change to make install
	names of libraries be libfoo.X.Y.Z, now back to libfoo.X.Y. We
	can fix the seg_addr_table later..

2003-01-13  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/dix/window.c (MoveWindowInStack): fixed
	bug in change I'd made for rootless server, only call
	RestackWindow function vector if it's non-null

	* xc/programs/Xserver/hw/apple/x-list.c,
	xc/programs/Xserver/hw/apple/x-hash.c: added some assertions to
	check for bad input parameters

	* xc/lib/GL/apple/dri_driver.c: check that the drawHash field
	in the screen private data is initialized before using it.
	Fixes #3143726 (crashing while trying to look up a drawable
	before any have been created)

2003-01-10  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/darwin.c (ProcessInputEvents):
	when receiving motion events while we're not the foreground
	app, check if the pointer is over one of our windows. If not,
	drop the event on the floor. Goes some way to fixing the
	pointer tracking issues

	* xc/programs/Xserver/hw/apple/rootless-window.c: removed code
	to garbage collect unrealized windows - it breaks minimizing
	windows to the Dock, and in a way that's non-trivial to fix.
	And since the feature was only marginally beneficial in the
	first place..

	* xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: load
	darwinKeymapFile variable from "keymap" key in user defaults

	* xc/programs/Xserver/hw/apple/quartz.c: added code to remove
	the menubar rect from the main screen/display

2003-01-09  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/GL/apple/indirect.c (glAquaCreateContext):
	* xc/lib/GL/apple/dri_driver.c (driCreatePixelFormat): 
	Removed code to turn on vbl syncing of GL flushes

2003-01-07  John Harper  <jsh@apple.com>

	* Released: first public beta

2002-12-17  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/dri_dispatch.c: don't need to include
	<OpenGL/CGLMacro.h> anymore

2002-12-17  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/GL/apple/indirect.c:
	* xc/lib/GL/apple/dri_driver.c (driCreatePixelFormat):

	Set kCGLPFAAlphaSize = 1 when creating pixel formats, this will
	give us the correct alpha size

2002-12-16  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/GL/apple/indirect.c: integrated patch
	from Geoff Stahl to create suitable glx visuals on startup,
	instead of using the "fallback" visual configs

	* xc/programs/Xserver/Imakefile: when linking Xquartz, move
	libXQuartz.a before fb and postFb libs

	* xc/lib/GL/apple/dri_driver.c (__driMesaRemoveDrawable): check
	return from xp_bind_gl_context ()

	* xc/lib/GL/apple/dri_dispatch.h, xc/lib/GL/apple/dri_dispatch.defs,
	xc/lib/GL/apple/dri_dispatch.c, xc/lib/GL/apple/build-dispatch:
	use offsets into the CGL dispatch table instead of referencing
	the entry points by name. The names may (and do) change between
	OS revisions, but the indices remain the same for binary
	compatibility

	* xc/lib/xtrans/Xtransutil.c (trans_mkdir): if __DARWIN__ is
	defined, disable the five second pauses that happen when
	printing a warning about the directory permissions (since our X
	server isn't running suid, /tmp/.X11-unix will never be owned
	by root, so we always hit a five second delay, but the warning
	normally just goes to a log file anyway..)

2002-12-13  John Harper  <jsh@apple.com>

	Work to make menuitem key equivalents work under X11:

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/:
	restored most menu key equivalents, and added an "enable key
	equivalents" preference

	* xc/programs/Xserver/hw/apple/X11Controller.m: added "enable
	key equivalents" prefs code

	* xc/programs/Xserver/hw/apple/X11Controller.m (close_window:,
	minimize_window:, zoom_window:): if X isn't active, send the
	necessary message to the appkit key window

	* xc/programs/Xserver/hw/apple/X11Application.m (sendEvent:):
	send KeyDown events to the menubar's performKeyEquivalent
	method if X11EnableKeyEquivalents is true. If we get a hit,
	swallow the matching KeyUp event

	* xc/programs/Xserver/hw/apple/X11Application.h: added x_active
	method. Added X11EnableKeyEquivalents variable. Added X11App
	variable

2002-12-12  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzUpdateScreens):
	fixed typo of x for y when updating screen origin

	* xc/programs/Xserver/hw/apple/X11Application.m
	(message_kit_thread): call [super dealloc]

	* xc/programs/Xserver/hw/apple/x-list.h,
	xc/programs/Xserver/hw/apple/x-list.c,
	xc/programs/Xserver/hw/apple/x-hash.h,
	xc/programs/Xserver/hw/apple/x-hash.c,
	xc/programs/Xserver/hw/apple/rootless.h,
	xc/programs/Xserver/hw/apple/rootless-window.h,
	xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/rootless-screen.c,
	xc/programs/Xserver/hw/apple/rootless-picture.c,
	xc/programs/Xserver/hw/apple/rootless-gc.c,
	xc/programs/Xserver/hw/apple/rootless-common.h,
	xc/programs/Xserver/hw/apple/rootless-common.c,
	xc/programs/Xserver/hw/apple/quartz.h,
	xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/quartz-cursor.h,
	xc/programs/Xserver/hw/apple/quartz-cursor.c,
	xc/programs/Xserver/hw/apple/dristruct.h,
	xc/programs/Xserver/hw/apple/dri.h,
	xc/programs/Xserver/hw/apple/dri-surface.h,
	xc/programs/Xserver/hw/apple/dri-surface.c,
	xc/programs/Xserver/hw/apple/darwin.h,
	xc/programs/Xserver/hw/apple/darwin.c,
	xc/programs/Xserver/hw/apple/darwin-input.c,
	xc/programs/Xserver/hw/apple/bundle-main.c,
	xc/programs/Xserver/hw/apple/appledri.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: updated
	copyright notices

	* xc/programs/Xserver/GL/apple/indirect.c: updated copyright
	notices

	* xc/lib/GL/apple/dri_glx.h, xc/lib/GL/apple/dri_glx.c,
	xc/lib/GL/apple/dri_driver.h, xc/lib/GL/apple/dri_driver.c,
	xc/lib/GL/apple/dri_dispatch.defs,
	xc/lib/GL/apple/dri_dispatch.c, xc/lib/GL/apple/build-dispatch,
	xc/lib/GL/apple/appledristr.h, xc/lib/GL/apple/appledri.h,
	xc/lib/GL/apple/appledri.c: updated copyright notices

	* xc/lib/GL/apple/dri_dispatch.c (XAppleDRIGetIndirectContext):
	don't crash if can't allocate a dummy CGLContextObj, print an
	error message

	* xc/programs/Xserver/hw/apple/quartz.c (QuartzUpdateScreens):
	call DefineInitialRootWindow () to update the cursor
	constraints among other things

2002-12-10  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/dristruct.h,
	xc/programs/Xserver/hw/apple/dri-surface.c: store the surface
	key in the DRIDrawablePrivRec, remember to return it even when
	we didn't just create the surface

	* xc/programs/Xserver/GL/apple/indirect.c (attach): 
	* xc/lib/GL/apple/dri_driver.c (__driMesaRemoveDrawable): only
	update the context when we didn't bind it

	* xc/programs/Xserver/GL/apple/indirect.c: record the id of
	the bound surface in the __GLcontextRec structure. Then when
	attaching a context to a drawable, check if it's being
	reattached to a different surface

2002-12-09  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/:
	disabled Run menu item for now, set version number in about box
	to 0.1

	* xc/lib/xaw/Vendor.c: removed the hacks to avoid generating
	duplicate symbols, they were what was causing xterm's focus
	model to be broken. Also, libXt is always built with
	-flat_namespace anyway..

	* xc/programs/Xserver/hw/apple/quartz.c (xinit_callback): spawn
	an xterm process as well as the wm if no .xinitrc

	* xc/programs/Xserver/GL/apple/indirect.c: fixed a couple more
	bugs (including the stupidity that prevented more than one
	indirect client to render correctly at once)

	* xc/programs/Xserver/hw/apple/dri-surface.c
	(DRIDestroySurface): check if the drawable private data is
	non-null before trying to unref it

2002-12-09  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/appledristr.h, xc/lib/GL/apple/appledri.h,
	xc/lib/GL/apple/appledri.c: split up ControllerNotify events
	into three event types

	* xc/programs/Xserver/hw/apple/quartz.h,
	xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/appledri.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Application.m: split up
	ControllerNotify events into three event types

	* xc/programs/Xserver/hw/apple/rootless-gc.c: arcs were broken

	* xc/programs/Xserver/hw/apple/rootless-common.c: some changes
	to how we reenable updates and reorder windows

	* xc/programs/Xserver/hw/apple/dri-surface.c
	(DRICreateSurface): fixed a bug where we could free the surface
	but not return false when failing to initially configure a
	surface (this meant that the freed data structure was left
	attached to the window)

2002-12-06  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/GL/apple/indirect.c:

	Removed some redundant code. Remembered that we don't care
	about window dimensions here, dri-surface.c takes care of all
	that. Also, explicitly specify whether attaching or detaching,
	instead of testing if the rect is empty or not. This fixes the
	bug where glblur doesn't show up until its window is moved
	(happens because when it's created the gl window has size 0x0)

2002-12-06  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/make-seg-addr-table,
	xc/programs/Xserver/hw/apple/seg_addr_table: deleted

	* xc/programs/Xserver/hw/apple/darwin-input.c
	(DarwinEnqueueEvent): coalesce adjacent MotionNotify events

	* xc/config/cf/darwinLib.rules: -install_name should refer to
	library with the full version number, not just the major number

	* xc/config/cf/darwin.cf, xc/config/cf/darwinLib.rules
	(DARWIN_PREBIND_FLAGS): removed

	* xc/programs/Xserver/hw/apple/rootless-window.c
	(RootlessReorderWindow): handle unrealized windows that have
	frames; handle the window above the one being reordered having
	a reorder pending

	* xc/programs/Xserver/hw/apple/rootless-window.c
	(RootlessUnrealizeWindow): reenable update

	* xc/programs/Xserver/hw/apple/rootless-common.c
	(RootlessDisableUpdate): don't disable update if window isn't
	realized

2002-12-06  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/rootless-common.c,
	xc/programs/Xserver/hw/apple/quartz-cursor.c,
	xc/programs/Xserver/hw/apple/appledri.c:

	Use xp_foo_async functions where possible

	* xc/programs/Xserver/hw/apple/quartz-server.c (event_handler):
	changed type to match xp change

	* xc/programs/Xserver/hw/apple/darwin-input.c: moved the calls
	to read () and write () outside the mutex-protected sections

2002-12-05  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/English.lproj/InfoPlist.strings:
	updated short version name

2002-12-04  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11Application.m
	(X11ApplicationMain): disabled debugging code

	* xc/programs/Xserver/hw/apple/X11Application.m (send_nsevent):
	added code to translate NS scrollwheel events to clicks on
	buttons 4 and 5

2002-12-04  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/Imakefile: install X11.app in
	/Applications not /usr/X11R6/Applications (unless
	NothingOutsideProjectRoot is set)

	* xc/programs/Xserver/hw/apple/rootless-window.c
	(RootlessCollectWindows): added code to garbage collect
	unmapped windows after they've been inactive for a minute or so

2002-12-04  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/rootless-screen.c,
	xc/programs/Xserver/hw/apple/rootless-common.c,
	xc/programs/Xserver/hw/apple/quartz.h,
	xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/quartz-shared.h,
	xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/quartz-cursor.c,
	xc/programs/Xserver/hw/apple/quartz-common.h,
	xc/programs/Xserver/hw/apple/quartz-audio.c,
	xc/programs/Xserver/hw/apple/darwin.h,
	xc/programs/Xserver/hw/apple/darwin.c,
	xc/programs/Xserver/hw/apple/darwin-keyboard.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Application.m:

	cleaned up code structure a bit

2002-12-03  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/bundle-main.c: adapted large
	chunks of code from xdm to setup Xauthority file before
	spawning the X server, then pass "-auth FILE" to the X server.

	If for some reason the Xauthority file can't be updated, then
	the X server is started without any authentication, but with
	the "-nolisten tcp" option. (Note that there are user defaults
	controlling this in the com.apple.x11 plist, nolisten_tcp and
	no_auth. The second disables auth)

	* xc/programs/Xserver/hw/apple/rootless-screen.c,
	xc/programs/Xserver/hw/apple/rootless-common.h: removed the
	sliding flush throttle, it made some things (e.g. smooth
	scrolling) to ugly. Now we flush in the block handler again,
	but only if 10ms have passed since the last flush (basically
	this means, try to flush just greater than 60Hz)

	* xc/programs/Xserver/hw/apple/quartz.c (do_exec): no longer
	redirects input or output

2002-12-02  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-screen.c: reduced
	REDISPLAY_MAX_DELAY from 40 to 30ms. (which means that we
	should never intentionally have a frame rate less than 30fps.
	With the max delay at 40, scrolling could look very jittery)

2002-12-02  John Harper  <jsh@apple.com>

	* xc/config/cf/X11.tmpl: added InstallFreetype2Library
	definition, defaults to value BuildFreetype2Library

	* xc/config/cf/darwin.cf: set InstallFreetype2Library to NO

	* xc/lib/freetype2/Imakefile, freetype/Imakefile,
	freetype/cache/Imakefile, freetype/config/Imakefile,
	freetype/internal/Imakefile: if InstallFreetype2Library is set
	to NO, then don't install anything

2002-12-02  John Harper  <jsh@apple.com>

	* xc/lib/Xft/xftglyphs.c (XftGlyphLoad): pass
	FREETYPE_LOAD_NO_HINTING to FT_Load_Glyph (). Turns off (auto-)
	hinter. So we're now using unhinted rendering throughout

	* xc/lib/Xft/Imakefile: include frameworks necessary for
	unshared freetype

	* xc/lib/Xft/XftConfig.cpp: add /Library/Fonts and
	/System/Library/Fonts to Xft's default font path

	* xc/lib/freetype2/Imakefile: turn on use of ftmac.c code to
	load fonts from Macintosh style font files

	* xc/extras/freetype2/src/base/ftmac.c (file_spec_from_path):
	changed to use FSPathMakeRef () then FSGetCatalogInfo ()
	instead of constructing the FSSpec by hand (which doesn't work
	with POSIX paths?)

	* xc/extras/freetype2/include/freetype/config/ftoption.h: turn
	off bytecode interpreter (i.e. hinting)

	* xc/config/cf/darwin.cf: don't build a shared libfreetype,
	only static, to avoid conflicting with other installations

2002-12-02  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/dix/window.c,
	xc/programs/Xserver/dix/events.c: 

	if ROOTLESS is defined, XYToWindow () checks rootlessUnhittable
	window bit, if set it will never choose that window (used to
	avoid offscreen windows screwing up hit-testing)

	Also, when configuring stacking order, always call through to
	ddx, even if the ordering didn't change. This allows the
	rootless code to ensure that a raised window is on top of _all_
	windows, not just those owned by X

	* xc/programs/Xserver/include/windowstr.h (WindowRec): added
	rootlessUnhittable bit when ROOTLESS is defined

2002-12-02  John Harper  <jsh@apple.com>

	* xc/lib/GL/apple/appledri.h: removed BringOneToFront event,
	added CopyToPasteboard event

	* xc/programs/Xserver/hw/apple/rootless-window.c: fixed some
	bugs, set new rootlessUnhittable bit in the dix window
	structure when a window is offscreen

	* xc/programs/Xserver/hw/apple/rootless-gc.c,
	xc/programs/Xserver/hw/apple/rootless-window.c: don't create
	physical windows for root windows; never try to draw on root
	windows

	* xc/programs/Xserver/hw/apple/rootless-common.h
	(RootlessWindowRec): two new fields, is_offscreen and
	is_obscured
	* xc/programs/Xserver/hw/apple/rootless-window.c
	(RootlessNativeWindowStateChanged): update new properties

	* xc/programs/Xserver/hw/apple/quartz-server.c: listen for xp
	WINDOW_STATE_CHANGED events

	* xc/programs/Xserver/hw/apple/quartz-cursor.h,
	xc/programs/Xserver/hw/apple/quartz-cursor.c,
	xc/programs/Xserver/hw/apple/quartz.c: reload cursor when X
	becomes active. But use different code to what XDarwin does,
	since that didn't seem to work too well for me

	* xc/programs/Xserver/hw/apple/darwin.h,
	xc/programs/Xserver/hw/apple/darwin.c,
	xc/programs/Xserver/hw/apple/darwin-input.c: added a new input
	queue abstraction layer. Means we can call SetInputCheck and
	avoid DIX polling for events when there aren't any available
	(which totally kills performance of some x11perf NoOperation
	benchmark)

	* xc/programs/Xserver/hw/apple/darwin-keyboard.c: made
	Left-Option key generate Alt_L keysym, not Mode_switch (will
	this cause problems? If so we should probably put Mode_switch
	somewhere else..)

	* xc/programs/Xserver/hw/apple/X11Application.m: minor
	activation changes

	* xc/programs/Xserver/hw/apple/quartz-pasteboard.h,
	xc/programs/Xserver/hw/apple/quartz-pasteboard.c,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: removed
	pasteboard code, not handled by the X server any longer. Hook
	Edit/Copy menuitem's last responder to a ControllerNotify event

	* xc/programs/Xserver/hw/apple/X11Controller.m: fixed some bugs
	in the Applications menu implementation

2002-11-27  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/quartz-common.h,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/X11Application.h: 

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/objects.nib,
	xc/programs/Xserver/hw/apple/English.lproj/main.nib/info.nib,
	xc/programs/Xserver/hw/apple/English.lproj/main.nib/classes.nib: 

	* xc/programs/Xserver/hw/apple/X11.pbproj/project.pbxproj: 

	Working on the front-end (i.e. menubar).

	Connected preferences dialog and added "use sysbeep" option.
	Added "Applications" menu. Has an editable list of apps to run,
	and a "Run..." item to run an arbitrary program (seems to have
	issues the second time you open it?)

	Preferences now get saved to the com.apple.x11 plist

	Some improvements to the appkit vs x11 focus model

	Implemented menu auto-validation protocol for X11 and Window
	menus (greys out certain items if no client has selected our
	ControllerNotify events)

2002-11-26  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/quartz.c (quartzUseSysBeep): set
	to true now

2002-11-26  John Harper  <jsh@apple.com>

	* xc/config/cf/darwin.cf: don't prebind libraries by default;
	added APPLE_XP_LIBDIR variable

	* xc/programs/Xserver/Imakefile, xc/lib/GL/GL/Imakefile: use
	APPLE_XP_LIBDIR

2002-11-26  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/X11.icns: new icon, fixes
	#3105063

	* xc/programs/Xserver/hw/apple/rootless-gc.c: updated for xp
	changes

	* xc/programs/Xserver/fb/fbsolid.c,
	xc/programs/Xserver/fb/fbpict.c,
	xc/programs/Xserver/fb/fbblt.c: updated for xp changes

	* xc/programs/Xserver/hw/apple/rootless-window.c
	(RootlessCopyWindow): only do xp_scroll_window () when the area
	we're scrolling is over the threshold. (Scrolling has high
	enough latency that it can kill our performance when moving
	lots of little windows)

2002-11-25  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/rootless-screen.c,
	xc/programs/Xserver/hw/apple/rootless-common.h,
	xc/programs/Xserver/hw/apple/rootless-common.c:

	Don't redisplay everything in the block handler. The problem
	with that is that new input often comes in before the flush
	finishes, which means that we get blocked when locking the
	window before drawing.

	So I'm experimenting with adding a sliding delay between
	marking a window damaged and flushing it. It definitely speeds
	up xterm scrolling, but may make things feel a little jerky..

	* xc/programs/Xserver/hw/apple/rootless-picture.c:

	Added back the code to choose optimized fbComposite functions
	for various src/dst/mask combinations (Performance totally
	loses otherwise, and so far I've not found anything that's
	broken. But I also added a hack to prevent fb clearing
	destination alpha)

	* xc/programs/Xserver/fb/fbpict.c
	(fbCompositeSolidMask_nx8x8888): callout to xp_composite_bytes
	when possible
	(fbCompositeSrcAdd_8000x8000): be branchless, is faster

	* xc/programs/Xserver/fb/fbblt.c: updated for xp changes

2002-11-25  John Harper  <jsh@apple.com>

	* xc/programs/Xserver/fb/fbsolid.c,
	xc/programs/Xserver/fb/fbblt.c, xc/programs/Xserver/fb/fb.h,
	xc/programs/Xserver/fb/Imakefile:

	Use xp copy/fill functions when possible (e.g. when the alu op
	is GXcopy, when the planemask is all ones, and when there's no
	start/end masks)

	* xc/programs/Xserver/hw/apple/rootless-gc.c:

	Drawing optimizations - when we have to draw through a
	planemask that isn't all ones (i.e. 32 bit mode), temporarily
	set it back to all ones when we know that's safe (that way, the
	fb code can often take a faster path)

	Combining this with the above fb optimizations increases the
	speed of many operations by a factor of two or more

	* xc/programs/Xserver/hw/apple/x-list.h,
	xc/programs/Xserver/hw/apple/x-list.c,
	xc/programs/Xserver/hw/apple/x-hash.h,
	xc/programs/Xserver/hw/apple/x-hash.c,
	xc/programs/Xserver/hw/apple/seg_addr_table,
	xc/programs/Xserver/hw/apple/rootless.h,
	xc/programs/Xserver/hw/apple/rootless-window.h,
	xc/programs/Xserver/hw/apple/rootless-window.c,
	xc/programs/Xserver/hw/apple/rootless-screen.c,
	xc/programs/Xserver/hw/apple/rootless-picture.c,
	xc/programs/Xserver/hw/apple/rootless-common.h,
	xc/programs/Xserver/hw/apple/rootless-common.c,
	xc/programs/Xserver/hw/apple/rootless-aqua.h,
	xc/programs/Xserver/hw/apple/rootless-aqua.c,
	xc/programs/Xserver/hw/apple/quartz.h,
	xc/programs/Xserver/hw/apple/quartz.c,
	xc/programs/Xserver/hw/apple/quartz-shared.h,
	xc/programs/Xserver/hw/apple/quartz-server.c,
	xc/programs/Xserver/hw/apple/quartz-region.c,
	xc/programs/Xserver/hw/apple/quartz-cursor.c,
	xc/programs/Xserver/hw/apple/quartz-common.h,
	xc/programs/Xserver/hw/apple/quartz-client.h,
	xc/programs/Xserver/hw/apple/quartz-client.c,
	xc/programs/Xserver/hw/apple/quartz-audio.c,
	xc/programs/Xserver/hw/apple/pseudoramiX.h,
	xc/programs/Xserver/hw/apple/pseudoramiX.c,
	xc/programs/Xserver/hw/apple/make-seg-addr-table,
	xc/programs/Xserver/hw/apple/dristruct.h,
	xc/programs/Xserver/hw/apple/dri-surface.h,
	xc/programs/Xserver/hw/apple/dri-surface.c,
	xc/programs/Xserver/hw/apple/dri-frame.h,
	xc/programs/Xserver/hw/apple/dri-frame.c,
	xc/programs/Xserver/hw/apple/dri-decor.h,
	xc/programs/Xserver/hw/apple/dri-decor.c,
	xc/programs/Xserver/hw/apple/darwin.h,
	xc/programs/Xserver/hw/apple/darwin.c,
	xc/programs/Xserver/hw/apple/darwin-keyboard.c,
	xc/programs/Xserver/hw/apple/aqua.h,
	xc/programs/Xserver/hw/apple/aqua-window.c,
	xc/programs/Xserver/hw/apple/aqua-picture.c,
	xc/programs/Xserver/hw/apple/aqua-common.h,
	xc/programs/Xserver/hw/apple/appledri.c,
	xc/programs/Xserver/hw/apple/X11Controller.m,
	xc/programs/Xserver/hw/apple/X11Controller.h,
	xc/programs/Xserver/hw/apple/X11Application.m,
	xc/programs/Xserver/hw/apple/Imakefile,
	xc/programs/Xserver/hw/apple/GetThemeRGBAPixels.h,
	xc/programs/Xserver/hw/apple/GetThemeRGBAPixels.c: 

	* xc/programs/Xserver/hw/apple/English.lproj/main.nib/objects.nib,
	xc/programs/Xserver/hw/apple/English.lproj/main.nib/info.nib,
	xc/programs/Xserver/hw/apple/English.lproj/main.nib/classes.nib: 

	Use the xp layer. Removed the rootless-aqua abstraction layer,
	since that's all done by xp now, removed the RootlessFrameRec
	abstraction, since it's not doing anything useful anymore

	Also, listen for display change notifications and do something
	useful afterwards. That isn't using RandR yet, instead it just
	refreshes the pseudoramiX screen information and sends a
	ConfigureNotify event to the root window. And it only works if
	Xinerama is active. It may be easier to use RandR in XF 4.3

	* xc/programs/Xserver/GL/apple/indirect.c,
	xc/programs/Xserver/GL/apple/Imakefile: 

	Use the xp layer

	* xc/lib/GL/apple/dri_driver.h, xc/lib/GL/apple/dri_driver.c,
	xc/lib/GL/apple/appledristr.h, xc/lib/GL/apple/appledri.h,
	xc/lib/GL/apple/appledri.c, xc/lib/GL/apple/Imakefile: 

	Use the xp layer, removed some extension functions that aren't
	required anymore


== programs/Xserver/hw/apple ==

2002-11-22  John Harper  <jsh@apple.com>

	* Imakefile: install X11.app under $(DESTDIR)

2002-11-21  John Harper  <jsh@apple.com>

	* rootless-gc.c (accelPolyFillRect): include window border
	width when filling, fixes drawing glitches with twm (and other
	window managers that don't set border width to zero)

	* rootless-window.c (StartFrameResize): fixed two crashers
	reported by Dave Zarzycki during resizing under twm. One was
	caused by including border width twice in frame dimensions, one
	was caused by copying the resize intersection from the
	temporary pixmap into the destination window while the window
	pixmap is still pointing at its previous position

	* quartz.c (QuartzInitOutput): initialize
	orig_noPanoramiXExtension when serverGeneration == 1, not 0

	* X11Application.m (X11ApplicationPaste, X11ApplicationCopy):
	create temporary autorelease pools to avoid leaking objects

	* quartz.c: when xinit'ing, don't exec .xinitrc, run it with
	the Bourne shell (which is what xinit actually does)

	* quartz.c: when spawning xinit, if that fails fallback to the
	default action (running the window manager)

2002-11-20  John Harper  <jsh@apple.com>

	* rootless-window.c, rootless-common.h, rootless-common.c,
	rootless-aqua.c: fixed shape window code to pass a null shape
	if the window isn't shaped, this makes it easier to remove the
	clip shape from the window when necessary (and to avoid
	creating one)

	* quartz-pasteboard.h, quartz-pasteboard.c, darwin.c,
	X11Application.m, X11Application.h: hooked up XDarwin code to
	swap text between cocoa pasteboard and X11 CUT_BUFFER0. I think
	we really want to proxy requests for the primary selection on
	the fly, but this will do for now..

	* X11Application.m (send_nsevent): mask out any mouse button
	flags unless we earlier sent a matching ButtonPress event to X.
	Also, work around bugs in appkit when we get ButtonDown but no
	ButtonUp (e.g. when clicking on menubar)

	* rootless-aqua.c: put a pthread_mutex around the window_hash
	table, then lock when modifying it
	(XKnowsWindowNumber): new function, called from the appkit
	thread to check if X knows about a window, locks the mutex

2002-11-19  John Harper  <jsh@apple.com>

	* darwin.c (post_keypointer_event, DarwinUpdateModifiers):
	handle caps lock separately from the other modifiers, since it
	needs to be both pressed and released each time

	* quartz.c: use public CGDirectDisplay

2002-11-18  John Harper  <jsh@apple.com>

	* rootless-aqua.c, quartz.c, quartz-server.c, quartz-common.h,
	darwin.c, bundle-main.c, X11Application.m: rewrote event
	handling code to sit on top of NSEvent directly, instead of
	using the lower-level events. Also, convert to xEvent form
	before sending down the pipe

2002-11-18  John Harper  <jsh@apple.com>

	* X11Controller.m, X11Controller.h, X11Application.m,
	X11Application.h: lots of work to connect the ui elements.
	Window menu now works fully (except for marking the focused
	window, need another extension for that)

	* rootless-common.c (RootlessRedisplay): enable update in all
	windows before blocking (sometimes we'd hit the one second
	timeout, which isn't acceptable)

	* quartz.c (QuartzXServerReady): set up background event
	handling here now (doesn't seem to work though?)

	* quartz-server.c: don't use CG notifications to listen for
	events, everything goes through [NSApplication sendEvent:] now

	* darwin.c: ignore flags set to ~0 in events (means unset).
	Handle the UI events, by sending them to whoever is selecting
	ControllerNotify events. Don't unfocus windows when X is
	deactivated, wm will do that

	* aqua-common.h, rootless-aqua.c (AquaSetWindowShadowStyle):
	new function

	* appledri.c: Added SetWindowShadowStyle, SelectInput,
	SetWindowMenu functions. SelectInput causes ControllerNotify
	events to be sent

	* x-list.h, x-list.c (x_list_nth): new function

2002-11-15  John Harper  <jsh@apple.com>

	* quartz-server.c, quartz-common.h, X11Controller.m,
	X11Application.m, X11Application.h, Imakefile: more changes.
	Subclass NSApplication so we catch events (currently we catch
	too many though)

	* ui-thread.c, quartz-shared.h, quartz-server.c,
	quartz-common.h, darwin.c, X11Controller.m, X11Controller.h,
	Imakefile, English.lproj, X11.pbproj:

	Ditched the Carbon front end. Replaced it with AppKit. Hooked
	up quit confirmation dialog using IB

2002-11-15  John Harper  <jsh@apple.com>

	* dri-surface.c: check for at least cg 1.157.11 before enabling
	direct rendering

	* quartz-server.c: use XDarwin's hack of running the X server
	on the secondary thread; Carbon event loop binds itself to
	whichever thread it's initialized on, which we have no control
	over when prebound

2002-11-15  John Harper  <jsh@apple.com>

	* rootless-aqua.c: use a hash to store the window-id -> winrec
	mapping, not a list

	* x-hash.h, x-hash.c: basic hash table class

2002-11-14  John Harper  <jsh@apple.com>

	* ui-thread.c, rootless-window.c, rootless-screen.c, quartz.c,
	quartz-shared.h, quartz-server.c, quartz-common.h, darwin.c,
	bundle-main.c, Imakefile, .cvsignore, English.lproj,
	X11.pbproj:

	Created an X11.app that launches the Xquartz server with the
	correct arguments to make it put up a menu bar (through
	Carbon), and to do what xinit normally does

	(There are still some issues still to be sorted out with this,
	and currently none of the menubar items are connected to
	anything)

2002-11-14  John Harper  <jsh@apple.com>

	* rootless-aqua.c, dri-surface.h, dri-surface.c, aqua-common.h,
	appledri.c: added AquaGrantAccess () function. Allows
	DRICreateSurface to give window access to the client (who must
	now specify their connection id)

2002-11-13  John Harper  <jsh@apple.com>

	* rootless-aqua.c (window_notification_handler): don't respond
	to WindowDidChangeOrder notifications, there's a danger that we
	can trigger a feedback loop, and it doesn't really do anything
	useful anymore anyway

	* appledri.c: removed RaiseWindow extension

2002-11-12  John Harper  <jsh@apple.com>

	* rootless-aqua.c, dri-surface.c, dri-frame.c, aqua-common.h,
	appledri.c: added XAppleDRIRaiseWindow for until the X server
	knows to always raise windows. Also changed AquaGetNativeWindow
	to take a CREATE parameter

2002-11-12  John Harper  <jsh@apple.com>

	* XDarwin.man: now refers to Xquartz

2002-11-12  John Harper  <jsh@apple.com>

	* rootless-window.h, rootless-window.c, rootless-screen.c,
	rootless-gc.c, rootless-common.c, rootless-aqua.c, quartz.h,
	quartz.c, quartz-server.c, quartz-region.c,
	quartz-pasteboard.c, quartz-cursor.c, quartz-common.h,
	quartz-client.h, quartz-client.c, quartz-audio.c, dristruct.h,
	dri-surface.c, dri-frame.c, darwin.h, darwin.c,
	darwin-keyboard.c, darwin-clut8.h, aqua-common.h, appledri.c,
	Imakefile:

	Gratuitous file renaming. Also removed 8bit display code since
	we'll never use it

2002-11-12  John Harper  <jsh@apple.com>

	* rootlessAqua.c, dristruct.h, dri.h, dri-surface.h,
	dri-surface.c, dri-frame.h, dri-frame.c, dri-decor.h,
	dri-decor.c, darwin.c, aquaCommon.h, appledri.c, Imakefile,
	.cvsignore:

	Lots of changes. Moved aqua frame drawing code into AppleDRI
	server extension. Moved DRI extension code here instead of
	GL/apple since it makes more sense (and isn't GL specific)

2002-11-11  John Harper  <jsh@apple.com>

	* rootlessAqua.c, aquaCommon.h (AquaMarkUpdated): mark that a
	window has updated its contents, and updates should be enabled
	if they were disabled

2002-11-06  John Harper  <jsh@apple.com>

	* rootlessWindow.h, rootlessWindow.c, rootlessScreen.c,
	rootlessCommon.h, rootlessAqua.c, rootless.h: 

	Added code to handle ReparentWindow requests when the window
	has a frame and isn't top-level. (Though we can only do it if
	its new top-level parent doesn't already have a frame). we need
	to do this in case it has surfaces attached (and thus the
	client knows the window/surface ids, and can't let go of them)

2002-11-06  John Harper  <jsh@apple.com>

	Support for DRI:

	* rootlessWindow.c, rootlessAqua.c, rootless.h: added
	RealizeFrame and UnrealizeFrame function vectors. Allows the
	frame to be created before the window is actually realized
	(which is sometimes necessary for DRI)

	* rootlessAqua.c (AquaGetNativeWindow): new function

	* rootlessWindow.c (RootlessFrameForWindow): added a second
	arg, CREATE. If set a frame will br created if none exists (but
	it won't be ordered in)	

	* darwin.c (InitOutput): call AppleDRIExtensionInit ()

	* quartz.c: call DRIScreenInit () and DRIFinishScreenInit ()

2002-11-04  John Harper  <jsh@apple.com>

	* rootlessWindow.c: more resize work, only do partial copies
	when top-left weighting and dimensions are changing size in
	different directions

2002-11-04  John Harper  <jsh@apple.com>

	* rootlessWindow.c (StartFrameResize, FinishFrameResize):
	optimization to avoid taking a temporary copy of the window
	backing store. If both dimensions are either getting larger or
	getting smaller, we can just use the window backing store as
	the gravity repair source (currently, only if UpperLeft
	weighting is chosen). If dimensions are getting smaller we put
	off resizing the physical window until after gravity repair is
	complete

2002-11-01  John Harper  <jsh@apple.com>

	* rootlessAqua.c (AquaDestroyFrame): don't leak memory

	* rootlessWindow.c (StartFrameResize): fixed small bug in last
	change

2002-11-01  John Harper  <jsh@apple.com>

	* rootlessWindow.c: don't use vm_copy () to snapshot window
	backing store for gravity fixup (causes window server to page
	too much when it resizes the backing store with weighting).
	Also, try to choose a window weighting that will preserve the
	bits of the window that aren't moving (e.g. top-left area when
	resizing bottom-right)

	* rootlessAqua.c, rootlessAqua.h (AquaStartResizeFrame): now
	takes a WEIGHT parameter

	* rootlessAqua.h, rootlessAqua.c, quartzServer.c,
	quartzCommon.h, quartz.c, pseudoramiX.h, pseudoramiX.c,
	darwin.c, aquaCommon.h: cleaned up screen initialization, made
	Xinerama stuff actually (mostly?) work

	* rootlessAqua.c (AquaReshapeFrame): use clip shape to
	implement X's bounding shape (was using window shape). This is
	probably more correct, and works better in practice

2002-10-30  John Harper  <jsh@apple.com>

	* rootlessAqua.c (unlock_window): only reenable updates when
	something actually gets flushed, not just when the FLUSH
	parameter is true (means fewer updates when resizing)

2002-10-28  John Harper  <jsh@apple.com>

	* rootlessWindow.c (RootlessCreateWindow): set property
	_CG_SCREEN_ORIGIN on each root window to point to the origin of
	the screen in global CG coordcdinates

2002-10-28  John Harper  <jsh@apple.com>

	* rootlessAqua.c, aquaCommon.h: removed code to read and use
	_CG_WINDOW_HINTS property

	* darwin.c (ProcessInputEvents): any time we receive a button
	down event, set ourselves as the frontmost process. Also,
	listen for AppActivated and AppDeactivated events (currently we
	only do something on the latter, clearing the X key focus)

	* darwin.c (post_keypointer_event): synthesize MotionNotify
	events if the current event has a different pointer location to
	what we last told X

	* rootlessAqua.c (AquaDisplayInit): in non-Xinerama mode, fixed
	to return the number of active displays, not the total number
	of displays

2002-10-24  John Harper  <jsh@apple.com>

	* rootlessGC.c (RootlessValidateGC): added back the hack to set
	drawable->depth to bpp (it worksaround an fb "feature")

	* rootlessAqua.c (AquaScreenInit): fixed bug I introduced. Was
	dividing bpp by 3, not the color depth

2002-10-24  John Harper  <jsh@apple.com>

	* quartzCursor.c: X11 ARGB cursors are premultiplied

2002-10-18  John Harper  <jsh@apple.com>

	* rootlessAqua.c: added code to adapt to window depth
	mismatches

	* quartz.c (QuartzProcessArgument): support -depth argument

	* rootlessAqua.c (AquaScreenInit): implement the -depth option,
	if nothing specified, defaults to depth of main display

	* darwin.c: tidied up option listing

	* aqua.h (AquaAlphaMask): hard code this, 32bpp -> 0xff000000,
	everything else -> 0. Before it masked out the top four bits in
	16bpp mode!

	* rootless.h (RootlessFrameRec): don't store depth and bpp here

	* rootlessWindow.c, rootlessGC.c, rootlessCommon.c: updated for
	other changes

2002-10-17  John Harper  <jsh@apple.com>

	* darwin.c: rewrote event translation and mouse button faking
	code to be more logical. Should hopefully fix the intermittent
	modifier problems I was seeing

	* quartzShared.h: removed most of the application-defined
	events, since they weren't being used anywhere

2002-10-16  John Harper  <jsh@apple.com>

	* rootlessAqua.c: read and cache _CG_WINDOW_HINTS property when
	the window is realized. Set _CG_WINDOW_PSN property as well as
	_CG_WINDOW_ID on top-level windows

	* rootlessAqua.c: use window bounds seed to try to ignore
	move/resize notifications we already know about

	* quartzCommon.h (DEFINE_ATOM_HELPER): new macro

	* aquaCommon.h: define format of _CG_WINDOW_HINTS property,
	replaces _CG_EVENT_DELEGATE

	* darwin.c (ProcessInputEvents): don't need to read properties
	anymore, data is cached in AquaWindowRec object

	* fakeBoxRec.h: removed, no longer needed

2002-10-15  John Harper  <jsh@apple.com>

	* rootlessWindow.c, rootlessCommon.h, rootlessCommon.c,
	rootlessAqua.c, rootless.h: use native shapes to record damaged
	window areas instead of X11 region code. This is more efficient
	when doing lots of updates (e.g. sampling a program that draws
	continuously, I originally saw RootlessDamageBox () get 92
	samples out of 500, while the new code only got 26 samples in
	that function)

2002-10-14  John Harper  <jsh@apple.com>

	* rootlessAqua.c: register for window notifications, then use
	them to sync X's model of its windows with their actual
	configuration (since that may be changed behind its back)

	* rootlessWindow.c (StartFrameResize): added ifdef'd code to
	use vm_copy () when snapshotting window contents for gravity
	update

	* quartzServer.c (QuartzRegisterNotifyProc,
	QuartzDispatchNotification): added a mechanism to transfer
	notifications from the event thread to the X server thread

2002-10-14  John Harper  <jsh@apple.com>

	* rootlessAqua.c (AquaPolyFillRect): set alpha=255 when filling
	in 32bpp windows. Also, handles 8bpp now

2002-10-11  John Harper  <jsh@apple.com>

	* darwin.c: if _CG_EVENT_DELEGATE property is set on the top
	level X window corresponding to the native window receiving an
	event, use it to forward the event somewhere. The event then
	filters through the usual X mechanisms.

	* rootlessAqua.c, aquaCommon.h: track all allocated windows,
	new function AquaFindFrame () to find a window record given a
	window id

2002-10-11  John Harper  <jsh@apple.com>

	* quartzServer.c (event_handler_thread): include up to 64
	events in each write into the pipe

2002-10-10  John Harper  <jsh@apple.com>

	* aquaPicture.c: backported to xf-4.2. Define XC_HEAD to get
	the old version

2002-10-10  John Harper  <jsh@apple.com>

	Borrowed XDirectFB code to accelerate region fills and copies:

	* rootlessGC.c (RootlessPolyFillRect): integrated code to call
	PolyFillRect when possible

	* rootlessWindow.c (RootlessCopyWindow): use CopyRegion when
	possible

	* rootlessAqua.c: implemented accelerated CopyRegion and
	PolyFillRect

	* rootless.h: added CopyRegion and PolyFillRect vectors

2002-10-10  John Harper  <jsh@apple.com>

	* quartzCursor.c (install_cursor): added code to handle
	LSBFirst bitmaps


== programs/Xserver/GL/apple ==

2002-11-14  John Harper  <jsh@apple.com>

	* indirect.c: updated for DRICreateSurface () param change

2002-11-12  John Harper  <jsh@apple.com>

	* indirect.c, Imakefile: moved some files around

2002-11-11  John Harper  <jsh@apple.com>

	* dri.h, dri.c, appledri.c (DRIFlushSurface): new function in
	the server extension

2002-11-11  John Harper  <jsh@apple.com>

	* indirect.c: more error checking of results from CGL calls,
	other minor changes

2002-11-06  John Harper  <jsh@apple.com>

	* appleGlx.c: use dri.c code to create and manage surfaces.
	(e.g. that's tied more tightly into the window's visibility,
	and so reshapes the surface quicker, it also just avoids code
	duplication)

2002-11-06  John Harper  <jsh@apple.com>

	* dristruct.h, dri.h, dri.c, appledristr.h, appledri.h,
	appledri.c, Imakefile:

	Initial server-side support for direct rendering

2002-11-01  John Harper  <jsh@apple.com>

	* appleGlx.c: ported from aquaGlx.c, use C[ore]GL and CG
	surfaces directly instead of going through AGL.

	Mostly works, but some of the xscreensaver demos don't appear
	until their window is moved..


== lib/GL/apple ==

2002-11-18  John Harper  <jsh@apple.com>

	* appledristr.h, appledri.h, appledri.c: menubar / UI
	extensions. Added SetWindowShadowStyle, SelectInput,
	SetWindowMenu functions. SelectInput causes ControllerNotify
	events to be sent

2002-11-15  John Harper  <jsh@apple.com>

	* xf86drmRandom.c, xf86drmHash.c, xf86drm.h, dri_driver.c,
	Imakefile, .cvsignore: use my x-list and x-hash data types,
	instead of the xf86drm stuff

2002-11-14  John Harper  <jsh@apple.com>

	* dri_driver.c, appledristr.h, appledri.h, appledri.c:
	XAppleDRICreateSurface () now requires the client's connection
	id so it can grant them access to the window

2002-11-13  John Harper  <jsh@apple.com>

	* appledristr.h, appledri.h, appledri.c: removed RaiseWindow
	extension, I found a better workaround

2002-11-12  John Harper  <jsh@apple.com>

	* appledristr.h, appledri.h, appledri.c: added
	XAppleDRIRaiseWindow to raise a window to the top of the
	physical stack. Hopefully this can go away if/when I fix X to
	do this automatically

2002-11-12  John Harper  <jsh@apple.com>

	* appledristr.h, appledri.h, appledri.c: new extension
	functions:

	XAppleDRIDisableUpdate
	XAppleDRIReenableUpdate
	XAppleDRISetWindowOpaqueRect
	XAppleDRISetWindowOpacity
	XAppleDRIFrameGetRect
	XAppleDRIFrameHitTest
	XAppleDRIFrameDraw

	The last three are hopefully just temporary. But for now, the
	window manager can't draw into the windows itself

2002-11-11  John Harper  <jsh@apple.com>

	* dri_driver.c, appledristr.h, appledri.h, appledri.c:
	(DRIFlushSurface): new function in the server extension

2002-11-10  John Harper  <jsh@apple.com>

	* dri_driver.c, build-dispatch, dri_dispatch.c: rewrote this
	stuff again, using a totally different approach.

	Now the exported glFoo () functions come from the OS X OpenGL
	framework, meaning that we get absolutely no penalty when
	direct rendering

	When indirect rendering, we install a dummy CGLContextObj that
	has a modified dispatch table - the stubs in this table branch
	through the Mesa dispatch table, eventually calling the glX
	marshallers

	(right now the indirect stubs take a large chunk of text space,
	due to how they're implemented. That should be fixable using
	assembly language or gcc tricks if it's really a problem)

	* dri_dispatch.c, dri_dispatch.h, build-dispatch: now the .h is
	auto-generated from the .defs file, the .c file has the code
	framework that used to also be auto-generated

2002-11-06  John Harper  <jsh@apple.com>

	* dri_driver.h, dri_driver.c: don't unbind contexts from their
	surface until they're either rebound somewhere else, or
	destroyed

2002-11-06  John Harper  <jsh@apple.com>

	* dri_driver.h, dri_driver.c: support visuals almost correctly.
	We now create a pixel-format object for each visual when
	initializing the screen, then use them when creating contexts
	(this is how the Mesa code works)

2002-11-06  John Harper  <jsh@apple.com>

	* Initial client-side DRI implementation

	Some things need implementing, mainly visuals