aboutsummaryrefslogtreecommitdiff
path: root/doc/_attic_
diff options
context:
space:
mode:
authorMihai Moldovan <ionic@ionic.de>2017-12-15 12:55:17 +0100
committerMihai Moldovan <ionic@ionic.de>2017-12-15 12:55:17 +0100
commit1dad092caf01d733990648e6df64cbf964df5143 (patch)
tree39de0e643e76754a3e23ca9dd0350b8ba4f76250 /doc/_attic_
parent6d70b9e3c47f27a166f4aacb522c5c1e49092dd9 (diff)
parent2b9025f797ee322e21077e100c2ee27c2e7fa0e0 (diff)
downloadnx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.gz
nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.bz2
nx-libs-1dad092caf01d733990648e6df64cbf964df5143.zip
Merge branch '3.6.x'
Diffstat (limited to 'doc/_attic_')
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nx-X11_CHANGELOG1085
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nx-X11_programs_Xserver_hw_nxagent_CHANGELOG6359
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nxcomp_CHANGELOG3778
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nxcomp_README21
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nxcomp_README-IPAQ21
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nxcompext_CHANGELOG806
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nxcompext_README15
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nxcompshad_CHANGELOG404
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nxproxy_CHANGELOG216
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nxproxy_README14
-rw-r--r--doc/_attic_/NoMachine_documentation_files/nxproxy_README-IPAQ27
-rw-r--r--doc/_attic_/XOrg69_documentation_files/BUILD324
-rw-r--r--doc/_attic_/XOrg69_documentation_files/ChangeLog.X.org20262
-rw-r--r--doc/_attic_/XOrg69_documentation_files/LABEL265
-rw-r--r--doc/_attic_/XOrg69_documentation_files/README180
-rw-r--r--doc/_attic_/XOrg69_documentation_files/README.crypto64
-rw-r--r--doc/_attic_/XOrg69_documentation_files/RELNOTES1091
-rw-r--r--doc/_attic_/XOrg69_documentation_files/nx-X11_extras_README17
-rw-r--r--doc/_attic_/XOrg69_documentation_files/nx-X11_lib_X11_lcUniConv_COPYRIGHT39
-rw-r--r--doc/_attic_/XOrg69_documentation_files/nx-X11_lib_X11_lcUniConv_README12
-rw-r--r--doc/_attic_/XOrg69_documentation_files/nx-X11_programs_Xserver_dix_BuiltInAtoms329
-rw-r--r--doc/_attic_/XOrg69_documentation_files/nx-X11_programs_Xserver_dix_CHANGES17
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original1088
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_cross.def.X.original33
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_host.def.X.original1023
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_iPAQH3600.cf.X.original112
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_sun.cf.X.original50
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_sunLib.tmpl.X.original122
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_svr4.cf.X.original24
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_extras_Mesa_src_mesa_drivers_dri_common_glcontextmodes.c.X.original10
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_extras_Mesa_src_mesa_main_context.c.X.original103
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_include_Xpoll.h.in.X.original67
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_include_extensions_XKBsrv.h.X.original14
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_ChkIfEv.c.X.original59
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_ConnDis.c.X.original319
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_IfEvent.c.X.original13
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_MaskEvent.c.X.original13
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_OpenDis.c.X.original96
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_PeekIfEv.c.X.original14
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Pending.c.X.original30
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XKBMAlloc.c.X.original84
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Xlib.h.X.original30
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XlibAsync.c.X.original41
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XlibInt.c.X.original1165
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Xlibint.h.X.original59
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_cmsProp.c.X.original14
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original62
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xrender_Glyph.c.X.original547
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xrender_Xrender.h.X.original39
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xt_NextEvent.c.X.original42
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_font_fontfile_encparse.c.X.original22
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_xtrans_Xtranssock.c.X.original1133
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_glx_render2.c.X.original11
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_glx_render2swap.c.X.original11
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_mesa_X_Imakefile.X.original11
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_mesa_X_xf86glx.c.X.original70
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_Xext_security.c.X.original315
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_dix_dixfonts.c.X.original86
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_dix_pixmap.c.X.original18
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_fb_fbtrap.c.X.original12
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdamage.c.X.original138
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdispatch.c.X.original1036
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdixfonts.c.X.original892
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXevents.c.X.original648
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXextension.c.X.original70
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglxext.c.X.original118
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyph.c.X.original160
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyphcurs.c.X.original121
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyphstr.h.X.original59
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiexpose.c.X.original116
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiglyph.c.X.original156
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmitrap.c.X.original65
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiwindow.c.X.original53
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXpicture.c.X.original615
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXpicturestr.h.X.original42
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXproperty.c.X.original358
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXrender.c.X.original948
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXresource.c.X.original426
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXshm.c.X.original373
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXwindow.c.X.original561
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXxvdisp.c.X.original266
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_include_dixstruct.h.X.original12
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_WaitFor.c.X.original271
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_auth.c.X.original271
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_connection.c.X.original48
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_log.c.X.original136
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_oscolor.c.X.original214
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_utils.c.X.original250
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_xdmcp.c.X.original59
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_xprintf.c.X.original75
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_panoramiXproto.h.X.original195
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randr.c.X.original72
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randr.h.X.original144
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randrproto.h.X.original658
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_registry.h.X.original67
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrcrtc.c.X.original48
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrdispatch.c.X.original15
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrmode.c.X.original39
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrscreen.c.X.original107
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrxinerama.c.X.original72
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_render_renderedge.c.X.original10
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xfixes_cursor.c.X.original12
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xfixes_select.c.X.original13
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_ddxKillSrv.c.X.original21
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_ddxLoad.c.X.original443
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_xkbDflts.h.X.original24
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_xterm_charproc.c.X.original40
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_xterm_main.c.X.original42
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/randr.NX.diff2704
109 files changed, 55591 insertions, 0 deletions
diff --git a/doc/_attic_/NoMachine_documentation_files/nx-X11_CHANGELOG b/doc/_attic_/NoMachine_documentation_files/nx-X11_CHANGELOG
new file mode 100644
index 000000000..ffbbe0a61
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nx-X11_CHANGELOG
@@ -0,0 +1,1085 @@
+ChangeLog:
+
+nx-X11-3.5.0-2
+
+- Fixed TR0202420. XKB utility functions wrote out of bounds.
+
+- Upgraded RandR server extension to version 1.2.
+
+nx-X11-3.5.0-1
+
+- Opened the 3.5.0 branch based on nx-X11-3.4.0-4.
+
+- Updated copyright to year 2011.
+
+nx-X11-3.4.0-4
+
+- Fixed TR06H02359. Removed compiler warnings.
+
+nx-X11-3.4.0-3
+
+- Updated copyright to year 2010.
+
+nx-X11-3.4.0-2
+
+- Fixed TR04G02208. Added a path to rgb file.
+
+nx-X11-3.4.0-1
+
+- Opened the 3.4.0 branch based on nx-X11-3.3.0-7.
+
+- Updated copyright to year 2009.
+
+nx-X11-3.3.0-7
+
+- Fixed TR08G02257. The maximum client condition was reached because
+ available fd exhausted. This bug was caused by a function in font
+ library not closing the file before a return on error breaking the
+ flow of normal execution.
+
+- Fixed TR06G02225. The implementation of Xvprintf() has been reviewed
+ to work on more platforms. Previous implementation caused a failure
+ in the build of keyboard map on some platform like Solaris 8 and 9.
+
+nx-X11-3.3.0-6
+
+- Fixed TR03G02198. Reimplemented Xvprintf() in Xserver/os to handle
+ the case in which vsnprintf returned -1.
+
+- Returning from _XSeqSyncFunction() and _XReply() if an I/O error is
+ detected.
+
+nx-X11-3.3.0-5
+
+- Fixed TR01G02163. Signals need to be blocked before the call to
+ fork() in the Popen() utility.
+
+- Fixed TR01G02164. Trapezoid data need to be validated before use.
+ This issue was the same of CVE-2007-2437.
+
+nx-X11-3.3.0-4
+
+- Enabled the code resetting the Xlib buffer if an IO error occured.
+
+nx-X11-3.3.0-3
+
+- Fixed the search path for the XKB base directory.
+
+nx-X11-3.3.0-2
+
+- Fixed TR10F02116. The X11 agent could enter an indefinite wait state
+ if connection to X display is broken and libX11 output buffer is not
+ empty.
+
+nx-X11-3.3.0-1
+
+- Opened the 3.3.0 branch based on nx-X11-3.2.0-2.
+
+nx-X11-3.2.0-2
+
+- Imported patch fixing issues from X.Org security advisory, June
+ 11th, 2008: Multiple vulnerabilities in X server extensions. CVE
+ IDs: CVE-2008-1377, CVE-2008-1379, CVE-2008-2360, CVE-2008-2361,
+ CVE-2008-2362.
+
+nx-X11-3.2.0-1
+
+- Opened the 3.2.0 branch based on nx-X11-3.1.0-6.
+
+nx-X11-3.1.0-6
+
+- Modified Xserver Imakefile to link the Xfixes library.
+
+nx-X11-3.1.0-5
+
+- Disabled the terminate action, just in case the TerminateServer
+ symbol is binded to a non default key sequence.
+
+nx-X11-3.1.0-4
+
+- Imported patch fixing issues from X.Org security advisory, January
+ 17th, 2008: Multiple vulnerabilities in the X server. CVE IDs:
+ CVE-2007-5760 CVE-2007-5958 CVE-2007-6427 CVE-2007-6428
+ CVE-2007-6429 CVE-2008-0006.
+
+nx-X11-3.1.0-3
+
+- Moved a variable definition placed in _mesa_make_current().
+
+nx-X11-3.1.0-2
+
+- Fixed TR10E01924. A crash could occur in _mesa_make_current().
+
+- Initialized after_ret variable in _XcmsGetProperty().
+
+nx-X11-3.1.0-1
+
+- Opened the 3.1.0 branch based on nx-X11-3.0.0-37.
+
+nx-X11-3.0.0-37
+
+- Changed the Xserver Imakefile to link against Xcomposite on the
+ Cygwin platform too.
+
+nx-X11-3.0.0-36
+
+- Fixed TR07E01806. Modified host.def to build GLX code with symbol
+ __GLX_ALIGN64 defined on Solaris platform.
+
+nx-X11-3.0.0-35
+
+- Flush explicitly the NX link before entering the select() in the
+ WaitForReadable() and WaitForWritable() routines.
+
+nx-X11-3.0.0-34
+
+- Changed the agent Imakefile to link to the Xcomposite library.
+
+nx-X11-3.0.0-33
+
+- Fix the NX_TRANS_WAKEUP stuff in WaitForSomething() to not over-
+ ride a valid timeout.
+
+- Check if the requesting client is gone in the XFixes functions
+ sending the cursor events.
+
+nx-X11-3.0.0-32
+
+- Define DDXOSVERRORF and DDXOSFATALERROR symbols on Sun.
+
+- Changed the copyright attribution from Medialogic to NoMachine.
+
+nx-X11-3.0.0-31
+
+- Make SmartScheduleStopTimer() visible outside Xserver/os/utils.c
+ so that it can be called by the agent. Export the declaration in
+ dixstruct.h.
+
+nx-X11-3.0.0-30
+
+- The OsVendorVErrorFFatal flag is set to 1 if the function pointed
+ by OsVendorVErrorFProc is called due to a fatal error.
+
+- Give the possibility to the agent to redirect the standard error
+ during a Popen() or a System() by setting the OsVendorStartRedir-
+ ectErrorFProc and OsVendorEndRedirectErrorFProc function pointers.
+
+nx-X11-3.0.0-29
+
+- Changed the default message printed on a fatal server error. The
+ new message is:
+
+ Error: Aborting session with 'Error text...'.
+
+- Hacked LogVWrite() to force all fatal error messages to have an
+ uppercase initial. Also remove the trailing newline and the full-
+ stop, if present.
+
+nx-X11-3.0.0-28
+
+- Corrected the typos in the ChangeLog.
+
+nx-X11-3.0.0-27
+
+- Fixed the cleanup of the X_RenderCompositeText16 padding bytes.
+
+- More code cleanup in the NX changes to the Xrender library.
+
+- Changed host.def to build the freetype and fontconfig libraries
+ if the agent server is also built. Freetype is built as a shared
+ library: this avoids the link error on 64 bit platforms.
+
+nx-X11-3.0.0-26
+
+- Applied the following security patches, from the X.Org security
+ advisory, April 3rd, 2007 "Multiple vulnerability in X server,
+ libXfont and libX11":
+
+ xorg-xserver-1.2.0-xcmisc.diff
+ xorg-libXfont-1.2.7-bdf-fontdir.diff
+ xorg-libX11-1.1.1-xinitimage.diff
+
+nx-X11-3.0.0-25
+
+- Added the missing *.X.original file for ChkIfEv.c and Xlib.h.
+
+nx-X11-3.0.0-24
+
+- Changed Xrender to clean up the padding bytes in XRenderComposite-
+ Text functions.
+
+- Added function XRenderCleanGlyphs() cleaning the padding bytes in
+ the data section of RenderAddGlyphs requests.
+
+nx-X11-3.0.0-23
+
+- Removed the additional parameter from the call to NXTransFlush()
+ in _XReply().
+
+- Call NXTransExit() on AbortServer() (called by FatalError()) to
+ give the proxy a chance to shut down the NX transport.
+
+nx-X11-3.0.0-22
+
+- Moved the replacement of XCheckIfEvent() ChkIfEv.c with the name
+ XCheckIfEventNoFlush().
+
+nx-X11-3.0.0-21
+
+- Set BUFSIZE to 8192 bytes. While the output buffer size can be
+ configured by setting the XLIBBUFFERSIZE in the environment (see
+ OpenDis.c), this constant is still used when reading from the
+ socket.
+
+nx-X11-3.0.0-20
+
+- If set, the handler pointed by _NXDisplayWriteFunction is called
+ after that more data is written to the display connection.
+
+nx-X11-3.0.0-19
+
+- Added a RejectWellKnownSockets() stub to make possible to compile
+ the agent when the NX transport is disabled.
+
+- Added more useful logs to _XWaitForWritable().
+
+nx-X11-3.0.0-18
+
+- Changed Imakefile of X11 and Xserver in order to build nxcompshad
+ just before the NX agent server.
+
+- Changed Imakefile in Xserver to add NXdamage.o to NXAGENTOBJS.
+
+nx-X11-3.0.0-17
+
+- Changed host.def in order to build Xdamage and Xrandr libraries.
+
+- Changed host.def in order not to build NXWin.
+
+nx-X11-3.0.0-16
+
+- Changed host.def in order to build Xtst as a shared library.
+
+nx-X11-3.0.0-15
+
+- Changes to comply with nxcompshad library.
+
+- Changed configuration to statically build Xtst library.
+
+- Restored parser directory under Xserver/hw/xfree86.
+
+nx-X11-3.0.0-14
+
+- Changed the LICENSE file to state that the software is only made
+ available under the version 2 of the GPL.
+
+- Added file COPYING.
+
+- In nx-X11/programs and nx-X11/programs/Xserver/hw/xfree86, removed
+ files and directories not needed to build servers.
+
+nx-X11-3.0.0-13
+
+- Changes aimed to link servers with static versions of Xdmcp and Xau
+ libraries.
+
+nx-X11-3.0.0-12
+
+- Added references to implented FR in the ChangeLog.
+
+- Removed nx-X11/fonts and nx-X11/doc directories. They are not needed
+ for building the NX components.
+
+nx-X11-3.0.0-11
+
+- Updated the copyright notices to year 2007.
+
+nx-X11-3.0.0-10
+
+- Applied the following security patches:
+
+ x11r6.9.0-cidfonts.diff
+ x11r6.9.0-dbe-render.diff
+ x11r6.9.0-geteuid.diff
+ x11r6.9.0-mitri.diff
+ x11r6.9.0-setuid.diff
+
+nx-X11-3.0.0-9
+
+- Merged the NX changes to X11 with the X11R6.9.0 version of X.org.
+
+nx-X11-3.0.0-8
+
+- Changes to build Xshadow library when building X11.
+
+- Changes to Xserver Imakefile to link Xshadow library.
+
+- Changes to host.def in order to build on old distributions.
+
+nx-X11-3.0.0-7
+
+- Imported changes up to nx-X11-2.1.0-2
+
+- Fixed TR08D01485. Updated rgb file paths validation in order to
+ support Ubuntu distribution.
+
+- Added Xtst to libraries to be linked by nxagent.
+
+- Changed Xpm Imakefile to build a shared library on Solaris.
+
+- Fixed build error on Solaris in xtrans.
+
+- Changed host.def not to build Xnest server.
+
+- Changed Xserver Imakefile to link nxaccess library.
+
+nx-X11-3.0.0-6
+
+- Added the path of nxaccess library to the server link command.
+
+nx-X11-3.0.0-5
+
+- Implemented FR10C01079 and FR10C01080. The merge of NX changes to
+ the X.org code is complete.
+
+- Merged changes in config/cf. The NX-*.def files have been dismissed.
+ Main platform dependent configurations have been moved to host.def.
+
+- Removed *.reference files from config/cf.
+
+- Fixed compilation for Cygwin platform.
+
+nx-X11-3.0.0-4
+
+- Imported all changes up to nx-X11-2.0.0-32.
+
+- Cleaned up lib/zlib directory.
+
+- Added missing file programs/Xserver/os/utils.c.NX.original.
+
+- Updated the copyright notice to year 2006.
+
+- The pointer to the display buffer is reset after an I/O error.
+ This prevents leaving the buffer in an inconsistent state if the
+ error occurs inside _XFlush().
+
+- Removed the modifications to the Xrender library. The cleanup of
+ the padding bytes is now performed by the NX transport.
+
+- NX uses the updated ZLIB from its build tree, so Imake.tmpl will
+ now assume that the platform as ZLIB unless otherwise stated.
+
+- The path of the SecurityPolicy file is searched and validated at
+ runtime.
+
+- Added the _X11TransSocketProxyConnInfo() function to Xtranssock.c
+ It returns the pointer to the XtransConnInfo private, if it is a
+ valid _NXProxyConnInfo structure.
+
+- The above function is used by OpenDis.c to detect if the NX trans-
+ port was requested on the display and avoid spurious error messa-
+ ges in the case of a connection failure.
+
+- Added NXmiwindow.o to the NXAGENTOBJS in the Xserver's Imakefile
+ and imported NXmiwindow.c in nxagent. This allows us to check the
+ pointer to the pOldClip region in miSetShape() before going on
+ freeing it.
+
+- The path of the XKB base directory and of the xkbcomp comand is
+ validated at runtime.
+
+- Also added a check to verify the validity of the rgb file path.
+
+- Added NXresource.o to NXAGENTOBJS in the Imakefile of nxagent. We
+ need this to a assign a resource to the pixmaps and other server
+ objects which need to be enumerated at reconnection. Some objects,
+ being created by the X server and not by the clients, don't pass
+ through the resource assignment process operated by the dix. To
+ ensure that all objects get a resource, we add a resource at the
+ time the object is created and temporarily assign the resource to
+ the server client. If the dix later assigns the resource to a va-
+ lid client, the resource is removed from the server client's list.
+
+- The display block handler registered by the client is called in
+ WaitForReadable() and WaitForWritable() before every select(),
+ not only upon entering the function. The reason is that more
+ data can be possibly produced for the NX link by the proxy it-
+ self and, when setting the flush policy to deferred, the client
+ may not have the chance of flushing the NX link.
+
+- Fixed a bug in XkbUseExtension() that caused Xlib to query the
+ presence of the XKEYBOARD extension multiple times. This partial-
+ ly implents the FR01D01275. The complete implementation required
+ modifications to the X11 agent, implemented in nxagent-2.0.0-33.
+
+- Updated to comply with the new NXTransFlush() interface.
+
+- Both nxwin and nxagent now read the X authority file by using an
+ fopen() instead of the system command 'cat'.
+
+- Removed NXmiwindow.o from the NXAGENTOBJ list. The agent will now
+ use the original miwindow.c.
+
+- Added some additional logs in Xtranssock.c to follow the creation
+ and removal of the X server's Unix listener.
+
+- Avoided the sleep of 5 seconds forced by Xtransutil.c if the dir-
+ ectory where the Unix listener is created is not owned by root.
+ This sleep is not executed on Cygwin (where the X socket can be
+ hardly owned by root) but may delay the startup of the agent if
+ the user chose a different NX_TEMP directory. Furthermore, it is
+ unclear what real benefits such sleeps are intended to bring to
+ the security of the X server. This can be controlled by defining
+ the NX_TRANS_SLEEP directive in Xserver/os/Imakefile.
+
+- Added NXmiexpose.o to the NXAGENTOBJ.
+
+- Ensured that _X11TransSocketCloseConnInfo() now initiates the NX
+ shutdown by calling NXTransClose().
+
+- Corrected a misplaced #else that made SocketUNIXConnect() skip a
+ block if the connection was not to the NX transport.
+
+- Updated to comply with the new NX function prototypes introduced
+ in nxcomp-2.0.0-31.
+
+- Moved the most important Xtranssock.c modifications into separate
+ functions.
+
+- Ensured that the modifications enabling the internal connections
+ to the proxy are compiled only when the TRANS_CLIENT directive is
+ defined.
+
+- Solved a bug that prevented the X11 socket to be deleted at the X
+ server shutdown. This needs further tests.
+
+- Added nxcompext to the link of nxagent, now that the dependency
+ of libX11 from nxcompext is removed.
+
+- Improved the Xtranssock routines to never loop through the array
+ of connection info.
+
+- Added a congestion flag to the connection info structure and a
+ function querying the transport and reporting if a change in the
+ congestion state has occurred. The code is currently not enabled,
+ because instead of polling the transport, we let the proxy notify
+ the changes in congestion state by using the callback. The code
+ can be used in future to extend the library, for example, by add-
+ ing some counters tracking the bandwidth usage of the socket con-
+ nection, so that we can make the congestion notifications work
+ even with a plain X11 connection.
+
+- Profiled the routines in XlibInt.c to reduce the number of calls
+ to the error predicate function provided by the client.
+
+- Fixed the nxcompext build problem that caused make World to fail.
+
+- Added a 'CONF' target to the X11 and Xext Imakefiles so that the
+ configure script is not run if the config.status exists.
+
+- Added the _NXDisplayBlockHandler hook. The function is called by
+ Xlib before blocking. The parameter says if Xlib is going to wait
+ for more input or because it needs to write to the display socket.
+ The client can use the hook to perform any internal operation that
+ may require some time to complete. The user, though, should not
+ try to read or write to the display inside the callback routine.
+
+- Removed the outdated NX_TRANS_PROCESS, NX_TRANS_THREAD and NX_TR-
+ ANS_INCLUDE defines.
+
+- Reverted the lib/Xext Imakefile to the original XF86 version and
+ moved the build of the nxcompext library among the libX11 depend-
+ encies.
+
+- Corrected the lib/X11 Imakefile so that a new build of nxcomp and
+ nxcompext is not attempted if the libraries are up-to-date.
+
+- Removed the unused display buffer and image cleanup functions.
+
+- Reverted the PutImage.c file to the original XF86 version.
+
+- Added the _NXDisplayErrorPredicate function in XlibInt.c. It is
+ actually a pointer to a function called whenever Xlib is going to
+ perform a network operation. If the function returns true, the
+ call will be aborted and Xlib will return the control to the ap-
+ plication. It is up to the application to set the XlibDisplayIO-
+ Error flag after the _NXDisplayErrorPredicate returns true. The
+ function can be used to activate additional checks, besides the
+ normal failures detected by Xlib on the display socket. For exam-
+ ple, the application can set the funciton to verify if an inter-
+ rupt was received or if any other event occurred mandating the
+ end of the session.
+
+- Modified XIfEvent(), XMaskEvent() and XPeekIfEvent() to check the
+ _NXDisplayErrorPredicate function and return immediately if the
+ function returns true.
+
+- Modified _XWaitForReadable() to never enter the loop if the dis-
+ play is broken.
+
+- Corrected a make problem on Windows that caused the nxcomp and
+ nxcompext libraries to be referred with the wrong name, with the
+ result that a new configure and make was attempted at each build
+ attempt.
+
+- Merged all the changes to os, Xext, xkb, dix.
+
+- Changed host.def to build only the agent server.
+
+- Merged the changes to Xtranssock.c
+
+nx-X11-3.0.0-3
+
+- Merged the changes to lib/X11. Restored original PutImage.c and
+ ClDisplay.c files.
+
+nx-X11-3.0.0-2
+
+- Created a directory named 'reference' to keep files that are chan-
+ ged during the development of nx-X11 since the 1.5.0-16 to 2.0.0-32
+ version. These files will be removed as long as the differences are
+ merged to the 3.0.0 version. When all differences are merged, this
+ directory will be removed.
+
+nx-X11-3.0.0-1
+
+- Opened the 3.0.0 branch based on the nx-X11-2.0.0-9. The 3.0.0
+ branch will now support the migration toward the X.org tree. Due
+ to time concerns, the 2.0.0 branch is going to be based on the
+ same nx-X11 as the 1.5.0.
+
+nx-X11-2.0.0-9
+
+- Modified the agent link arguments to explicitly include the NX
+ libraries.
+
+- Disabled the Xinerama extension to avoid further clashes with
+ the redefinition of GC in Xlib.
+
+- Added os/libos.a at the end of the agent link.
+
+nx-X11-2.0.0-8
+
+- Moved the declarations of _NXEnable* and related structures from
+ Xlibint.h to NXlibint.h.
+
+- Added provision for building the agent. This can be controlled by
+ setting NXAgentServer to YES in host.def.
+
+- Setting the NXUpgradeAgentServer variable to YES in the host.def
+ file will make the agent assume that it is being built in the new
+ environment. This variable is normally unset when building in the
+ 1.5.0 tree.
+
+nx-X11-2.0.0-7
+
+- Fixed a problem on AMD64 due to the size of the area pointed by
+ the argument of _X11TransBytesReadable(). BytesReadable_t is long,
+ at least on Linux, while the ioctl() requires a pointer to an int.
+ The original _X11TransBytesReadable() function simply calls the
+ ioctl() by passing the pointer that is provided. NXTransReadable(),
+ instead, was correctly returning the value assuming a pointer to
+ a long, but this crashes some applications, among them xterm. Now
+ NXTransReadable() follows the same schema of the ioctl() call and
+ stores the result assuming a pointer to an int.
+
+- Removed the outdated NX_TRANS_PROCESS and NX_TRANS_THREAD code.
+
+nx-X11-2.0.0-6
+
+- Made xterm work with the NX transport. This required small changes
+ to the Xt toolkit's and the xterm's files to let them use the NX
+ aware select(). This is useful to test the NX transport until the
+ nxagent server is integrated.
+
+- When the transport is gone _X11TransSocketBytesReadable() returns
+ EPIPE. This makes the client become aware of the closure of the
+ connection.
+
+- Added a call to NXTransDestroy() in XCloseDisplay().
+
+- The exit() function in XlibInt.c causes a call to NXTransExit().
+
+- Merged changes to dix/pixmap.c, xkb/xkbDflts.h, mi/Imakefile.
+
+- Removed unneeded changes and files containing patches already in
+ the latest X.org distribution: dix/dispatch.c, fb/fbcompose.c, fb/
+ fbgc.c, xkb/ddxList.c, font/fontfile/dirfile.c, font/fontfile/
+ encparse.c, font/fontfile/fontfile.c, font/FreeType/fttools.c,
+ Xrender/FillRect.c, Xrender/Picture.c.
+
+nx-X11-2.0.0-5
+
+- Changes to the lib/X11/Imakefile to cleanly build the tree. This
+ is obtained by creating a link to the Xcomp library in exports/lib
+ without having to modify the programs' Imakefiles.
+
+- Finished merging the NX changes in the lib/X11 files.
+
+- Merged the CHANGELOG with the one from the 1.5.0 tree.
+
+nx-X11-2.0.0-4
+
+- Merged the NX changes in most Xtrans and lib/X11 files.
+
+nx-X11-2.0.0-3
+
+- Temporarily disabled the use of the MMX extensions in the Xserver's
+ fb code to successfully compile with GCC 4.
+
+nx-X11-2.0.0-2
+
+- Imported the *.NX.reference and *.XF86.reference files that will
+ be needed for the merge. These files are the *.original from the
+ 1.5.0 tree. They will be removed as long as the merge advances.
+
+nx-X11-2.0.0-1
+
+- Created the 2.0.0 branch based on X.org the 6.8.99.16 snapshot.
+
+nx-X11-1.5.0-16
+
+- Added the missing *.XF86.original and *.NX.original files.
+
+nx-X11-1.5.0-15
+
+- Made the nxagent server use select() instead of poll() on Solaris
+ so that it can leverage the new NX transport.
+
+- Moved the NXTransFlush() call to _XReply().
+
+nx-X11-1.5.0-14
+
+- Added the 'synchronous' parameter in the _XWaitForReadable() call
+ to NXTransFlush().
+
+nx-X11-1.5.0-13
+
+- Removed the log entry in XlibInt.c on calling the NXTransFlush().
+
+nx-X11-1.5.0-12
+
+- Changed XlibInt.c and utils.c to call NXTransExit().
+
+nx-X11-1.5.0-11
+
+- Changed XlibInt.c to comply with the new NXTransFlush() interfa-
+ ce introduced in nxcomp-1.5.0-42.
+
+- Cosmetic changes to messages printed for debug.
+
+nx-X11-1.5.0-10
+
+- Ensured that all calls to _XIOError() are followed by a return.
+
+- Put exiting the client program in the case of an I/O error under
+ the control of the _NXContinueOnDisplayError flag. If set, the
+ I/O error routine will simply return, leaving to the application
+ the responsibility of checking the state of the XlibDisplayIOEr-
+ ror flag.
+
+- Added some checks whenever a read or write is performed on the X
+ connection, so that we can exit the I/O loop if the X channel is
+ gone. It is likely that more work will be needed when trying to
+ support XTHREADS enabled connections. This should not be a pro-
+ blem for now, as the default is still to quit the application un-
+ less the _NXContinueOnDisplayError flag is explicitly set.
+
+nx-X11-1.5.0-9
+
+- Removed the references to the cygipc library in NXWin. Now use the
+ cygserver daemon to provide the MIT-SHM extension.
+
+- Fixed an error in the UseCygIPC definition.
+
+- Changed the cygwin.cf file to avoid redefinition of the BuildGlxExt,
+ XWinServer and BuildGlxExt symbols.
+
+nx-X11-1.5.0-8
+
+- Added provision for deferred writes in the NX transport. When en-
+ tering _XWaitForReadable() we must ensure that data is flushed to
+ the proxy link.
+
+- Added the UseCygIPC define to NX-Cygwin.def.
+
+- Updated the NoMachine copyright notice on the modified files.
+
+nx-X11-1.5.0-7
+
+- Added the GLX extension in NX-Sun.def.
+
+- Added some more logs in WaitFor.c.
+
+nx-X11-1.5.0-6
+
+- Modified Xlibint.h and XlibInt.c to remove the _NXFlushSize para-
+ meter. New agents run the NX transport in-process, so we don't get
+ any benefit from increasing the display buffer size.
+
+- Modified NX-Darwin.def to not build the NXDarwin server. Since the
+ 1.4.0 version the NXDarwin server is unsupported and the NX client
+ for the Mac requires that the Apple X server is installed.
+
+- Changed NX-Linux.def to avoid the warning due to "SharedLibGLw"
+ being not defined.
+
+nx-X11-1.5.0-5
+
+- Modified the Xserver Imakefile to link nxagent with FbPostFbLibs
+ and avoid including mfb/libmfb.a.
+
+- Added the GLX extension in NX-Linux.def. This provides unaccelera-
+ ted support in nxagent, with GLX operations translated into core X
+ protocol primitives.
+
+- Fixed x-X11/programs/Xserver/GL/dri/Imakefile to look in ../../hw/
+ /xfree86/os-support/bus for includes.
+
+nx-X11-1.5.0-4
+
+- Avoid calling NXTransSelect() if the transport is gone, so that we
+ don't have to wait until the timeout.
+
+- Added the "-fno-strict-aliasing" option to linux.cf when compiling
+ with a GCC version >= 4. In the words of Stefan Dirsch: "The opt-
+ ion, which is default since gcc 3.1, can result in wrong code when
+ the gcc warnings related to it are ignored. And as there are seve-
+ ral warnings in X11 related to it, it has been disabled for X11
+ from the beginning. This didn't change for gcc4, so it still needs
+ to be used."
+
+- Added more logs in XlibInt.c and utils.c. A warning is printed if
+ the SmartScheduler is initialized.
+
+nx-X11-1.5.0-3
+
+- Started integration of nxcomp with the X libraries. The Xtrans
+ code creates an internal connection to the nxcomp library instead
+ of a child proxy process.
+
+- Changed Xpoll.h and XlibInt.c to replace the standard Select
+ with a version giving NX a chance to check its own descriptors.
+
+- Implemented the NXTransReadVector() and the NXTransWriteVector()
+ functions to replace READV() and WRITEV().
+
+- Implemented memory-to-memory communication with the NX proxy by
+ making use of the NXTransAgent() interface.
+
+nx-X11-1.5.0-2
+
+- We think that the way LoadAuthorization() is working is wrong.
+ It doesn't reset the list of stored authorizations before reading
+ the new cookies. Our take is that if a new auth file is to be
+ read, the only cookies that are to be accepted are those that are
+ in the new file, not those in the file -plus- those that have
+ been in the file in the past. Furthermore, if the list can't be
+ read or it is empty, it should assume that it ignores which co-
+ okies are valid and thus it should disable any access. Your mile-
+ age can vary. A less draconian approach could be to leave the old
+ cookies if the file can't be read and remove them only if the
+ file is empty.
+
+ Adding the cookies without removing the old values for the same
+ protocol has an important implication. If an user shares the co-
+ okie with somebody and later wants to revoke the access to the
+ display, changing the cookie will not work. This is especially
+ important with NX. For security reasons, after reconnecting the
+ session to a different display, it is advisable to generate a
+ new set of cookies, but doing that it is useless with the current
+ code, as the old cookies are going to be still accepted. On the
+ same topic, consider that once an user has got access to the X
+ server, he/she can freely enable host authentication from any
+ host, so the safe behaviour should be to reset the host based
+ authenthication at least at reconnection, and keep as valid only
+ the cookies that are actually in the file. This behaviour would
+ surely break many applications, among them a SSH connection run
+ inside a NX session, as ssh -X reads the cookie for the display
+ only at session startup and does not read the cookies again
+ when the auth file is changed.
+
+ Another bug (or feature, depending on how you want to consider
+ it) is that if the authority file contains entries for different
+ displays (as it is the norm when the authority file is the default
+ .Xauthority in the user's home), the X server will match -any- of
+ the cookies, even cookies that are not for its own display. This
+ means that you have to be careful when passing an authority file
+ to nxagent and maybe keep separate files for letting nxagent find
+ the cookie to be used to connect to the remote display and for
+ letting it find what cookies to accept. If the file is the same,
+ clients will be able to connect to nxagent with both the cookies.
+ This bug obviously affects any X server, also the real X server
+ running on the workstation, so it is common to see nxagent being
+ able to connect to the X server even if no cookie matches the
+ real display.
+
+- Added a check in lib/Xau/AuRead.c to prevent the fread() call to
+ be interrupted by SIGCHLD while reading the auth file. Due to the
+ way the old code worked, this could lead to the server enabling
+ local host access to the display. This problem had been identified
+ in the past. We just found that all the code dealing with reading
+ the auth file was affected. The code calls sigprocmask() to block
+ the signal (though it leaves some other calls unprotected) but the
+ SIGCHLD was not included in the set.
+
+- Added SIGCHLD to the set of signals that are blocked when reading
+ the authorization file.
+
+- As I was at it, I changed the path to the SecurityPolicy file. A
+ few Linux ditributors ship the file in $LIBDIR/xserver, a few only
+ in /etc/X11/xserver, most others in both places. It seems that
+ those who ship in $LIBDIR/xserver do also in /etc/X11 but the op-
+ posite is not true, so I switched to /etc/X11.
+
+nx-X11-1.5.0-1
+
+- Opened the 1.5.0 branch.
+
+nx-X11-1.4.1-2
+
+- Set parameter UseCygIPC on cygwin conf file in order to force the
+ build of MIT-SHM estension.
+
+- Removed some spurius object file.
+
+nx-X11-1.4.1-1
+
+- Opened the 1.4.1 branch.
+
+nx-X11-1.4.0-8
+
+- Changed DefaultFontPath and DefaultRGBDatabase in
+ NX-Cygwin.def.
+
+nx-X11-1.4.0-7
+
+- Imported dispatch in nxdarwin package, in order to let
+ nxdarwin being able to detect new client connection.
+
+- Changed the Xpm Imakefile to make also .a static library
+ on Solaris. To link nxviewer and nxdestkop staticaly.
+
+nx-X11-1.4.0-6
+
+- XInput extension enabled on MacOSX.
+
+- Added some missing backup files of the original XFree86
+ package.
+
+nx-X11-1.4.0-5
+
+- Changed the mi Imakefile in order to let xfree86 servers use
+ the normal mi extension initialization for the XInput exten-
+ sion.
+
+- XInput extension enabled on Solaris.
+
+nx-X11-1.4.0-4
+
+- Removed the RejectWellKnownSocket for the cygwin and
+ MacOSX environments that doesn't use the Xtransport library.
+
+nx-X11-1.4.0-3
+
+- Changed the implementation of the reject method in the
+ Xtransport library, now close any new incoming connection
+ immediately without reading or writing to it.
+
+nx-X11-1.4.0-2
+
+- Implemented a reject method in the Xtransport library,
+ this function accept and close every connection attempt,
+ on the specified listening socket.
+
+- Added the new function RejectWellKnownSocket to the os
+ connection code.
+ This function use the new transport reject function on
+ all listening socket.
+
+nx-X11-1.4.0-1
+
+- Opened the 1.4.0 branch.
+
+- Removed forgotten nxagent-1.3.2-20 directory.
+
+nx-X11-1.3.2-9
+
+- Prevents NX Darwin server going through the reset. On Darwin
+ we found that the it is not possible to get the correct key-
+ board layout unless it is set on the local machine, before
+ the NX session is started, by using xmodmap. As we set the
+ keyboard locally, we must prevent the X server to reset, or
+ we would loose any local configuration.
+
+nx-X11-1.3.2-8
+
+- Removed action associated to keysym XK_Terminate_Server. This
+ could cause agent to be terminated when pressing shift + back-
+ space if using the default US keyboard mapping.
+
+- Disabled the remaining debug logs in lib/X11/PutImage.c
+
+nx-X11-1.3.2-7
+
+- Fixed the wrong programs/Xserver/Imakefile in 1.3.2-6 package.
+
+nx-X11-1.3.2-6
+
+- Changed the define from NX_CLEAN_IN_PLACE to NX_CLEAN_INPLACE.
+ Definition of symbol is now placed in the Imakefile.
+
+- The new _NXEnableCleanInplace Xlib variable does control which
+ algorithm is used to clean the images. Setting NX_IMAGEINPLACE
+ in the environment will activate the in-place cleanup.
+
+- The default value of _NXEnableCleanInplace is -1. Leaving it to
+ a value <= 0 disables use of CleanInplace.
+
+nx-X11-1.3.2-5
+
+- Patch in config/cf/sun.cf. Fix for libfontconfig compilation
+ during gmake Everything on Solaris.
+
+- Patch in lib/X11/Imakefile. Fix for nxcomp compilation during
+ gmake World on Solaris.
+
+nx-X11-1.3.2-4
+
+- Image cleanup is now performed by using NXCleanInPlaceImage from
+ nxcompext. This function saves a buffer copy by cleaning the
+ padding bytes in the same buffer provided by the caller. Note that
+ to prevent memory violations in the case the image was allocated
+ in a static buffer, the function will temporarily redefine the
+ SIGSEGV handler. The former handler is restored before returning
+ to the caller. This can potentially affect some multithreaded
+ clients. Is to be decided if the function is safe enough to be
+ included in the production release.
+
+nx-X11-1.3.2-3
+
+- More debug logs in programs/Xserver/xkb/ddxLoad.c.
+
+nx-X11-1.3.2-2
+
+- Added NXmiwindow.o to NXAGENTOBJS in programs/Xserver/Imakefile.
+ File was not linked into the resulting nxagent. This solves the
+ problem of missing repaints in CDE and other Xt applications.
+
+nx-X11-1.3.2-1
+
+- Added some debug logs in programs/Xserver/xkb/ddxLoad.c. Function
+ XkbDDXCompileKeymapByNames is called by OpenOffice to read the
+ keyboard configuration whenever a drop-down menu is accessed. It
+ seem to always fail with the following error:
+
+ The XKEYBOARD keymap compiler (xkbcomp) reports:
+ > Error: Can't find file "unknown" for geometry include
+ > Exiting
+ > Abandoning geometry file "default"
+
+- Opened the 1.3.2 development branch.
+
+nx-X11-1.3.1-12
+
+- Fixed a problem in xkb/ddxLoad.c on Solaris where Pclose was
+ always returning an error code despite the fact that command
+ was executed properly.
+
+nx-X11-1.3.1-11
+
+- Changed default GCC flags from '-O2 -fno-strength-reduce' to
+ -O3. No platform where NX is targeted is currently using a
+ GCC 2.x affected by the -fno-strength-reduce bug. Note also
+ that nxcomp is already compiled with -O3 since 1.1.1, so it
+ can be considered safe.
+
+nx-X11-1.3.1-10
+
+- Imported an updated fbcompose.c file from XFree86-4.3.99.902.
+ This fixes "uninitialized value" problems reported by Valgrind.
+
+- Fixed further buffer overflows by updating the following file
+ with recent versions coming from the XFree86-4.3.99.902 tree.
+
+ nx-X11/lib/font/fontfile/dirfile.c
+ nx-X11/lib/font/fontfile/encparse.c
+ nx-X11/lib/font/fontfile/fontfile.c
+
+- Fixed a possible buffer overflow in lib/font/FreeType/fttools.c.
+ Verified that the change is already in the XFree86 4.4.0 CVS.
+
+nx-X11-1.3.1-9
+
+- Fixed Xserver/Imakefile which was still referencing NXpixmap.o.
+
+nx-X11-1.3.1-8
+
+- Imported an updated fbgc.c from XFree86-4.3.99.902. This fixes
+ some minor problems reported by Valgrind.
+
+- A major problem was reported by Valgrind about reading after
+ the block allocated in fbCreatePixmap from AllocatePixmap. The
+ file pixmap.c has been modified so that 4 bytes are added to
+ the pixmap buffer at any new allocation. This quick hack should
+ solve the problem for both nxagent and the NXWin server. Further
+ investigation is planned for the next release.
+
+- Fixed Xtranssock.c to compile on Solaris where struct sigaction
+ doesn't have the sa_restorer member.
+
+nx-X11-1.3.1-5
+
+- Renamed the NX-sun.def configuration file to NX-Sun.def.
+
+- Renamed the non-standard NX_iPAQ_XServer and NX_Zaurus_XServer
+ symbols to NXiPAQXServer and NXZaurusXServer.
+
+- Added the missing sun.cf.XF86.original file in config/cf.
+
+- Added the missing empty file host.def.XF86.original in the
+ same directory.
+
+- Added initialization of sa.sa_mask when setting sigaction()
+ for SIGCHLD. The problem was reported by Valgrind running
+ nxagent.
+
+- Removed an unused block of code from WaitFor.c. The code had
+ been commented out in previous versions.
+
+- Removed the non-standard colon at the end of version in this
+ CHANGELOG.
+
+- Removed the spurious spaces in this CHANGELOG.
+
+nx-X11-1.3.1-4
+
+- Added a little workaround to the top Imakefile intended to
+ hide the makedepend warnings about non portable whitespaces
+ in sources.
+
+nx-X11-1.3.1-3
+
+- Fixed compilation problem with nxagent-1.3.1-13.
+
+nx-X11-1.3.1-2
+
+- Changes in NX-sun.def configuration file for Solaris to allow
+ compilation of the XKB extension.
+
+nx-X11-1.3.1-1
+
+- Opened the 1.3.1 development branch.
+
+nx-X11-1.3.0-6
+
+- Original output buffer size in stock XFree86 is 2048. We try
+ to reduce context switches and help stream compression by
+ increasing the maximum size of the buffer 8192. _NXFlushSize
+ determines when the display buffer is actually flushed. It is
+ set by default to 4096 but agents should set it to 0 if they
+ want to disable early flush.
+
+- Added the _NXLostSequenceFunction function pointer to let NX
+ agents suppress the error message and modify the default Xlib
+ behaviour when out-of-order sequence numbers are received.
diff --git a/doc/_attic_/NoMachine_documentation_files/nx-X11_programs_Xserver_hw_nxagent_CHANGELOG b/doc/_attic_/NoMachine_documentation_files/nx-X11_programs_Xserver_hw_nxagent_CHANGELOG
new file mode 100644
index 000000000..0a82773f4
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nx-X11_programs_Xserver_hw_nxagent_CHANGELOG
@@ -0,0 +1,6359 @@
+ChangeLog:
+
+nxagent-3.5.0-9
+
+- Fixed an issue with cursor position set in XTest extension.
+
+nxagent-3.5.0-8
+
+- Fixed TR01J02646. Performance issues with cairo version 1.12.
+
+- Fixed TR01J02667. Changes to mouse sensitivity couldn't be forwarded
+ to NX client host although -noignore was among extra options.
+
+- Fixed TR05J02705. Agent ignore WarpPointer requests.
+
+- Fixed TR05J02706. Suspended sessions could not be recovered using
+ a client form a different version.
+
+- Fixed TR05J02703. Agent failed because of missing checks on source
+ drawables in the render code.
+
+nxagent-3.5.0-7
+
+- Fixed TR10I02622. Corrected function searching for icon file.
+
+nxagent-3.5.0-6
+
+- Fixed TR10I02621. Avoided explicit call to XMapWindow() at recon-
+ nection stage.
+
+- Fixed TR10I02620. Solved error in default visual set up.
+
+- Fixed TR10H02390. Get the actual remote key code for CapsLock and
+ NumLock.
+
+nxagent-3.5.0-5
+
+- The NX agent failed to resize its own window to fit the desktop size
+ in shadow sessions. TR07I02561 is now fixed also in shadow mode.
+
+nxagent-3.5.0-4
+
+- Fixed TR07I02530. Solved a buffer overflow occurring when the '-fp'
+ option value exceeds 1024 characters.
+
+- Extended list of the available screen geometries.
+
+nxagent-3.5.0-3
+
+- Fixed TR08I02572. Upgraded RandR extension to version 1.2.
+
+- Fixed TR07I02561. The NX agent failed to resize its own window to
+ fit the desktop size.
+
+nxagent-3.5.0-2
+
+- Fixed TR0502449. Initialized font server path even if font server
+ connection fails.
+
+nxagent-3.5.0-1
+
+- Opened the 3.5.0 branch based on nxagent-3.4.0-16.
+
+- Updated copyright to year 2009.
+
+- Fixed TR0302438. Added a check in function exporting property in
+ order to handle the case looking up an atom name returns a null
+ pointer.
+
+nxagent-3.4.0-16
+
+- Updated copyright to year 2011.
+
+nxagent-3.4.0-15
+
+- Added reference to fixed TR11H02405.
+
+nxagent-3.4.0-14
+
+- Reverted fix for TR03H02335 implemented in nxagent-3.4.0-6. The
+ emulation of right click by Control key + left click introduces
+ issues for some applications changing the reaction to the left click
+ depending on the state of Control key. Issue reported in TR03H02335
+ affects Apple laptop touchpads having a single button acting as
+ left button: on those devices the right button can be emulated by
+ a double-fingered tap (using two fingertips simultaneously).
+
+nxagent-3.4.0-13
+
+- Fixed TR12H02414. Exported property must be split if ChangeProperty
+ request exceeds 262140 bytes.
+
+- Reset AllScreens option at reconnection time if full screen mode
+ have to be automatically turned off.
+
+nxagent-3.4.0-12
+
+- If one of the two full screen modes is active ('one screen' or 'all
+ screens') both keystrokes Ctrl-Alt-F and Ctrl-Alt-Shift-F change the
+ mode back to 'windowed'.
+
+- Fixed TR11H02405. XRenderFreePicture is called only for pictures
+ that were actually created on the X server side.
+
+- Ctrl+Alt+f switch fullscreen to all monitors, while Ctrl+Alt+Shift+f
+ does it to one monitor only.
+
+- If the fullscreen option is enabled at the startup, session starts
+ in the fullscreen mode on all monitors.
+
+- Added a call to XReparentWindow in the nxagentSwitchAllScreens().
+
+- Corrected focus and grab when switching to fullscreen on
+ all monitors.
+
+- Removed a compile warning e deleted some unused variables.
+
+- Removed nxagentPointerAndKeyboardGrabbed variable.
+
+- Use the override redirect attribute to switch to fullscreen to all
+ monitors instead of send _NET_WM_FULLSCREEN_MONITORS hint to the WM.
+
+- Added nxagentMinimizeFromFullScreen(), nxagentMaximizeToFullScreen()
+ and nxagentCreateIconWindow().
+
+- Removed check on EnterNotify to grab the keyboard in fullscreen
+ mode not only if mode is 'NotifyNormal'.
+
+nxagent-3.4.0-11
+
+- Corrected switching between viewport mode and resize mode.
+
+- Fixed TR04H02340. Keycode is correctly translated in shadow sessions
+ also if the remote X display is using evdev.
+
+nxagent-3.4.0-10
+
+- Handled XGrabKeyboard() return value.
+
+- Fixed TR10D01512. NumLock and CapsLock keys are now synchronized
+ between local and remote.
+
+nxagent-3.4.0-9
+
+- Fixed TR06H02362. No icon was swown in the task bar.
+
+- Fixed keyboard grab in fullscreen mode.
+
+- Fixed compiler warnings.
+
+nxagent-3.4.0-8
+
+- Grab the keyboard in fullscreen mode on EnterNotify only if mode is
+ 'NotifyNormal'.
+
+- Yield control in the dispatch loop in case we stop the smart sche-
+ duler timer while waiting for a reply from the remote display.
+
+nxagent-3.4.0-7
+
+- Fixed TR08D01478. The communication with the compiz window manager
+ by means of the _NET_WM_PING property was not handled properly.
+
+- Fixed a type mismatch in XKB events on 64 bit platforms.
+
+- Moved grab/ungrab keyboard from focus in/out event to enter/leave
+ notify event.
+
+- Removed nxagentIconWindow because it's not longer used.
+
+nxagent-3.4.0-6
+
+- Fixed TR09F02102. Problem was with pointer buttons map.
+
+- Fixed TR02H02327. Some KeyRelease events was discarded.
+
+- Fixed up Num and Caps locks.
+
+- Fixed TR03H02335. Emulated right mouse button for Mac clients.
+
+- Added utilities to print info about internal and remote windows.
+
+- Fixed TR01F01995. Solved a picture resource leak by destroying remo-
+ te pictures only when their reference counter returns to zero.
+
+- Fixed TR04H02337. Errors occurred because pictures with no drawable
+ were handled badly.
+
+- Implemented handling nxagent's private for gradient pictures and so-
+ lid fill picture.
+
+- Fixed BadMatch condition check in function ProcRenderComposite.
+
+- Fixed nxagentComposite() to handle situations with source picture
+ drawable pointing to NULL.
+
+- Implemented render acceleration for requests: CreateSolidFill,
+ CreateLinearGradient, CreateRadialGradient, CreateConicalGradient.
+
+- Fixed TR03G02196. Dialogs are shown to the fore when the NX session
+ is in fullscreen mode.
+
+- Changed mechanism to switch to fullscreen mode. Now the override
+ redirect attribute is no longer used and _NET_WM_STATE_FULLSCREEN
+ hint is sent to the WM.
+
+nxagent-3.4.0-5
+
+- Updated copyright to year 2010.
+
+nxagent-3.4.0-4
+
+- Fixed TR07F02090. Now XDMCP sessions start without problems.
+
+- Fixed TR08G02259. Corrected window border granularity of rootless
+ session at reconnection on 64 bit platforms.
+
+- Fixed TR11G02290. Forcing null timeout with queued events only if
+ display connection is up. This prevents the flood of session log.
+
+- Fixed TR10G02287. Now QueryTree's loop is aborted in case of failure
+ and session log isn't filled anymore with repeated warning messages.
+
+- Fixed TR01G02154. Corrected window placement when switching between
+ fullscreen and windowed mode.
+
+- Fixed TR09G02276. Now the agent does not receive unwanted characters
+ while interacting with the local window manager.
+
+- Implemented FR02G02174. Added ability to do large screen pans in
+ viewport mode through key combination Ctrl+Alt+Shift+Arrow.
+
+- Corrected parsing of the 'client' option when the client OS is Mac.
+
+nxagent-3.4.0-3
+
+- Fixed TR09G02271. The array containing the font name fields was not
+ correctly initialized for non-standard font names.
+
+nxagent-3.4.0-2
+
+- Updated copyright to year 2009.
+
+nxagent-3.4.0-1
+
+- Opened the 3.4.0 branch based on nxagent-3.3.0-19.
+
+- Changed the printed version number.
+
+nxagent-3.3.0-19
+
+- Fixed TR09G02266. A proper error message is printed in the session
+ log if the shadowing initialization fails because of a mismatch in
+ the visual class.
+
+- Added a workaround for X servers that doesn't return 1 among the
+ available depths.
+
+nxagent-3.3.0-18
+
+- The area to restore from the backing store is limited by the screen
+ size instead of the visible screen.
+
+nxagent-3.3.0-17
+
+- Fixed TR12F02150. The agent could crash when copying text from VNC
+ viewer. Fixed by aborting the procedure in case the retrieved pro-
+ perty has not a valid format.
+
+nxagent-3.3.0-16
+
+- Fixed TR07G02247. Don't try to call XSetWindowColormap() if the
+ window has no colormap, e.g. if its class is InputOnly.
+
+nxagent-3.3.0-15
+
+- Fixed TR04G02210. Region is cut to the visible screen before re-
+ storing areas from the backing store.
+
+- Fixed TR07G02246. Box is shrinked if bounds can't stay in a short
+ signed integer.
+
+nxagent-3.3.0-14
+
+- Fixed TR03G02206. waitpid() call was missing for the "Fonts replace-
+ ment" dialog type.
+
+- Fixed TR03G02195. Added a properties structure compatible with 32
+ and 64 bit platform types.
+
+nxagent-3.3.0-13
+
+- Handle the window unmap immediately. Don't add it to the configure
+ queue.
+
+nxagent-3.3.0-12
+
+- Fixed TR03G02200. Timestamps could be in the future in KeyRelease
+ events sent to the X clients.
+
+- Added debug logging of input devices state Logging can be enabled
+ or disabled via the Ctrl+Alt+x shortcut. State info is dumped every
+ 5 seconds.
+
+- Added Ctrl+Alt+y shortcut used to deactivate input devices grab for
+ debug purposes.
+
+nxagent-3.3.0-11
+
+- Changed the message logging the screen size changes, in order to
+ show the fullscreen state.
+
+- Handle the window unmapping in the nxagentConfigureWindow queue.
+
+nxagent-3.3.0-10
+
+- Fixed TR12F02146. Compare the drawable and the bitmap data before
+ realizing the image update, in order to delay the data clean up that
+ caused the memcmp() failure.
+
+- Fixed TR01G02156. Reduce the exposing area by subtracting the ex-
+ posed region.
+
+- Fixed a compile warning in Drawable.c.
+
+- Added detailed logs in the nxagentSynchronizeRegion() function if
+ the data memory allocation fails.
+
+nxagent-3.3.0-9
+
+- Added /usr/NX/share/base to alternate font paths. This would fix
+ TR11F02130 if fonts fixed and cursor are installed there.
+
+- Changed Keyboard initialization and reset. This change should fix
+ TR11F02129, TR11F02131, TR11F02132.
+
+nxagent-3.3.0-8
+
+- Fixed TR12F02144. Image bits of render glyphs are copied before they
+ are cleaned. This will avoid a memory corruption.
+
+- Fixed TR12F02145. When dispatching a MotionNotify event, check if a
+ top-level window has been entered before trying to show the pulldown
+ dialog.
+
+nxagent-3.3.0-7
+
+- Added debug code for pointer input.
+
+nxagent-3.3.0-6
+
+- Fixed compile warnings.
+
+nxagent-3.3.0-5
+
+- Disabled verbose logging in Rootless.c.
+
+nxagent-3.3.0-4
+
+- Fix the XKB map load in the case of 64 bit server.
+
+nxagent-3.3.0-3
+
+- Fixed TR10F02119. If the remote X display is using evdev keyboard
+ then copy maps from remote.
+
+- Upgraded VERSION to 3.3.0.
+
+nxagent-3.3.0-2
+
+- Fixed TR10F02115. Painting errors occurred when screen areas beyond
+ the current viewport became viewable in the NX Client for Windows.
+
+- Using a new struct type nxagentWMHints to avoid type mismatch on
+ 64 bit platforms.
+
+- Added debug utilities for pointer input.
+
+nxagent-3.3.0-1
+
+- Opened the 3.3.0 branch based on nxagent-3.2.0-12.
+
+nxagent-3.2.0-12
+
+- Ignore 'resize' option at reconnection if viewport mode is on.
+
+- Fixed TR08E01814. Added shadow keymap initialization in order to
+ enable nxcompshad to translate keycodes across different layouts.
+
+nxagent-3.2.0-11
+
+- Fixed TR08F02098. Function splitting font names has to be instruct-
+ ed to handle the right number of fields.
+
+nxagent-3.2.0-10
+
+- Extended fix for TR07F02091 to include font names having zero in
+ fields RESOLUTION_X and RESOLUTION_Y.
+
+nxagent-3.2.0-9
+
+- Fixed TR07F02091. Scalable fonts were not correctly listed among
+ available fonts.
+
+- Fixed TR06F02080. Use the corrupted area extents as maximum size of
+ the image data.
+
+nxagent-3.2.0-8
+
+- Fixed TR07F02082. The agent server could be unable to init core
+ keyboard on 64 bit systems.
+
+nxagent-3.2.0-7
+
+- Imported patch fixing issues from X.Org security advisory, June
+ 11th, 2008: Multiple vulnerabilities in X server extensions. CVE
+ IDs: CVE-2008-1377, CVE-2008-1379, CVE-2008-2360, CVE-2008-2361,
+ CVE-2008-2362.
+
+nxagent-3.2.0-6
+
+- Fixed TR05F02063. Ignore ReparentNotify events for non-rootless
+ sessions.
+
+- Fixed TR06F02068. Try to pack images only if format is ZPixmap.
+
+- Don't require reparent on close of NX window.
+
+nxagent-3.2.0-5
+
+- Fixed TR04F02044. Restored the original MakeRootTile() function in
+ order to create the root window background pixmap.
+
+- Fixed TR04F02041. Gnome panels stayed on top of the NX session win-
+ dow with desktops running Compiz. This fix provides a solution for
+ the Fullscreen mode.
+
+- Improved for the shadow session the handling of master session win-
+ dow resize.
+
+nxagent-3.2.0-4
+
+- Fixed TR10D01535. The agent window is not minimized anymore when
+ pointer leaves.
+
+- Changes aimed to avoid possible type mismatch in XDisplay struct
+ on 64 bit architectures.
+
+nxagent-3.2.0-3
+
+- Fixed a build issue on Solaris.
+
+nxagent-3.2.0-2
+
+- Code clean up. Moved a variable definition to the beginnning of a
+ block.
+
+nxagent-3.2.0-1
+
+- Opened the 3.2.0 branch based on nxagent-3.1.0-9.
+
+nxagent-3.1.0-9
+
+- Fixed TR03F02025. German umlauts couldn't be pasted into a remote
+ Windows application. Now also the UTF8_STRING target is available
+ for ConvertSelection requests.
+
+- Fixed TR03F02031. Moved SetScreenSaverTimer() call in order to avoid
+ undesired reset of the auto-disconnect timeout when a screen saver
+ turns on.
+
+nxagent-3.1.0-8
+
+- Added reference to fixed TR02F02007 and TR07E01762 in the CHANGELOG.
+
+- Set the GC trap before calling fbPolySegment.
+
+- Fixed TR09E01863. A flag is set if a resource has been added or fre-
+ ed and it is checked in FindClientResourcesByType().
+
+- Added void entries to nxagentRequestLiteral vector in order to avoid
+ a wrong string is printed to the output for NoOperation request.
+
+- Fixed TR11E01948. Now keyboard status is initialized again after
+ the NX session is reconnected. This avoids CAPS LOCK and NUM LOCK
+ synchronization problems.
+
+- Added nxagentXkbCapsTrap and nxagentXkbNumTrap to avoid CAPS LOCK
+ and NUM LOCK synchronization problems when CAPS LOCK or NUM LOCK is
+ the first key to be pressed in the NX session.
+
+- Corrected subSize variable initialization in nxagentRealizeImage().
+
+- Fixed various memory leaks.
+
+- Fixed TR11E01950. Copy and paste via edit menu didn't work for some
+ applications.
+
+- Corrected property type in nxagentRequestSelection(). Some external
+ applications didn't enable their paste button when nxagent was the
+ owner of the CLIPBOARD selection.
+
+- Added struct to save values queried by XQueryExtension for XFixes
+ extension.
+
+nxagent-3.1.0-7
+
+- Imported patch fixing issues from X.Org security advisory, January
+ 17th, 2008: Multiple vulnerabilities in the X server. CVE IDs:
+ CVE-2007-5760 CVE-2007-5958 CVE-2007-6427 CVE-2007-6428
+ CVE-2007-6429 CVE-2008-0006.
+
+- Fixed TR02F02007. Handled the case if nxagentCreateDrawableBitmap()
+ fails to create the pixmap intended to store the bitmap data.
+
+nxagent-3.1.0-6
+
+- Fixed a compile warning in Args.c.
+
+- The synchronization loop breaks if the drawable is clean when it's
+ not supposed to be.
+
+- Fixed TR12E01966. Emacs tooltips were not displayed properly. Added
+ a check on the event mask before calling miWindowExposures().
+
+- Fixed TR01F01982. ConfigureNotify warning is printed in verbose mode
+ only.
+
+nxagent-3.1.0-5
+
+- Moved some variable definitions placed in ProcGetProperty().
+
+nxagent-3.1.0-4
+
+- Fixed TR06D01397. The problem was: drag & drop operations between
+ windows of Java applications didn't work in NX Client for Windows.
+
+- Implemented FR12E01957. Added a limit to the amount of data that can
+ be pasted from an NX session into an external application. The new
+ option - named 'copysize' - can be read from the 'options' file.
+
+nxagent-3.1.0-3
+
+- Fixed TR12E01963. The window tree is revalidated explicitly after
+ recomputing the root window clip regions.
+
+nxagent-3.1.0-2
+
+- Fixed TR11E01946. Forcing exposures on regions saved in the backing
+ store could bring to unexpected results.
+
+- Fixed TR11E01928. Animated cursors were not properly disconnected
+ and reconnected.
+
+nxagent-3.1.0-1
+
+- Opened the 3.1.0 branch based on nxagent-3.0.0-93.
+
+nxagent-3.0.0-93
+
+- Fixed TR10E01913. Now bell settings are restored after the agent
+ reconnects.
+
+nxagent-3.0.0-92
+
+- Fixed a compilation error on 64 bit platforms.
+
+nxagent-3.0.0-91
+
+- Checked the window synchronization status before subtracting an ex-
+ posed area from the corrupted region.
+
+nxagent-3.0.0-90
+
+- Fixed TR11E01932. In case of rootless session displayed by NXWin X
+ server, synthetic ConfigureNotify events are generated by the X11
+ agent. This helps to correct menu navigation in Java 1.6.0.
+
+- Fixed the handling of 'client' parameter.
+
+- Fixed bad refreshes in viewport navigation in the case of Windows
+ client.
+
+- Fixed TR11E01930. If the defer level is set by means of the command
+ line, the DeferLevel option is not reset while resuming the session.
+
+- Fixed TR07E01762. Problem in comparison of font names.
+
+- Printed the new geometry in the session log when the agent screen is
+ resized.
+
+nxagent-3.0.0-89
+
+- Fixed TR10E01919. The agent could crash in the routine in charge of
+ find a replacement for a missing font.
+
+- Removed an unuseful log message.
+
+nxagent-3.0.0-88
+
+- Fixed TR10D01539. Some XKEYBOARD requests are disabled if the option
+ 'keyboard' has value 'query'. This locks the initial keyboard map.
+ Enabling/disabling of XKEYBOARD requests is done at run time.
+
+- Added -noxkblock command line option enabling the XKEYBOARD requests
+ even if the option 'keyboard' value is 'query'.
+
+nxagent-3.0.0-87
+
+- Reworked the handling of CT_PIXMAP client clips. Clips are always
+ converted in regions for internal use, while bitmap are saved for
+ operations involving the remote X.
+
+nxagent-3.0.0-86
+
+- Fixed TR07E01749. Now using different resolution between shadow
+ and master session with shadow display option 'As on the server'
+ doesn't display black borders.
+
+- Fixed TR09E01852. The GC clips of type CT_PIXMAP are not converted
+ in regions. This avoids generating regions made up by thousands of
+ rectangles. Backing store function SetClipmaskRgn is implemented by
+ a stub doing nothing.
+
+nxagent-3.0.0-85
+
+- Fixed TR08E01841. Exposed are forced to new areas exposed by the
+ viewport.
+
+- Fixed TR02E01645. Remote exposures was blocked if the NX client was
+ running on Linux without window manager.
+
+- Even if the agent window is fully obscured, synchronization is not
+ skipped if the Composite extension of the remote display is in use.
+
+- Fixed TR08E01851. Exposures events have to be internally generated
+ for regions that can't be restored because the backing pixmap is
+ corrupted.
+
+- Fixed TR08E01847. The initial values of store used to save XChangeGC
+ calls are set to the default GC values.
+
+- When a drawable becomes synchronized, its outdated bitmap is destro-
+ yed.
+
+- If a pixmap is not fully synchronized after a synchronization loop
+ it is cleared, just like windows.
+
+- Solved a problem causing some pixmaps to remain among the corrup-
+ ted resources even if they were synchronized.
+
+nxagent-3.0.0-84
+
+- Renamed Misc.h as Utils.h to solve name clashes on Windows platform.
+
+nxagent-3.0.0-83
+
+- Changes to include correctly declaration of _XDisplay structure on
+ 64 bit platforms. Further tests are needed to confirm that it fixes
+ TR08E01824.
+
+nxagent-3.0.0-82
+
+- Fixed TR08E01821. Changed nxagentAddItemBSPixmapList() to check if
+ the pixmap item has already an entry in the list before adding it.
+
+- Fixed TR07E01795. Sun Studio main window showed only its grey back-
+ ground. Changed clipboard events handling to let the agent notify
+ a failure in converting selection.
+
+nxagent-3.0.0-81
+
+- Based on nxagent-3.0.0-78.
+
+- The agent options are saved before reopening the display in the
+ reconnection procedure. If the new initialization fails the backup
+ values of options are restored.
+
+- Keyboard device info are saved before the keyboard reset occuring
+ in the reconnection procedure. If the new initialization of the
+ keyboard fails, the old values are restored.
+
+- The initialization procedure of keyboard device returns with error
+ if it fails to retrieve the keyboard mapping information from the
+ remote display.
+
+- The reconnection fails if the default depth of the new display is
+ different from the previous one.
+
+- The session can be migrated if the visuals don't match for color
+ masks swapping. At the moment there are no conversions to line up
+ the RGB masks, so even if the session can be migrated, incorrect
+ colors may be shown.
+
+nxagent-3.0.0-80
+
+- The agent options are saved before reopening the display in the
+ reconnection procedure. If the new initialization fails the backup
+ values of options are restored.
+
+- The flag storing that a SIGHUP has been received is reset if the
+ function reconnecting the session fails.
+
+nxagent-3.0.0-79
+
+- Changed the SIGHUP handler not to ignore the signal if the state
+ is SESSION_GOING_UP or SESSION_GOING_DOWN.
+
+- Keyboard device info are saved before the keybord reset occuring
+ in the reconnection procedure. If the new initialization of the
+ keyboard fails, the old values are restored.
+
+- The initialization procedure of keyboard device returns with error
+ if it fails to retrieve the keyboard mapping information from the
+ remote display.
+
+- The reconnection fails if the default depth of the new display is
+ different from the previous one.
+
+- The session can be migrated if the visuals don't match for color
+ masks swapping. At the moment there are no conversions to line up
+ the RGB masks, so even if the session can be migrated, incorrect
+ colors may be shown.
+
+nxagent-3.0.0-78
+
+- Fixed TR07E01747. Fixed warnings occuring when compiling for AMD64.
+
+- Fixed TR07E01753. NoMachine WM icon in the title bar is displayed
+ correctly.
+
+- Fixed TR03E01656. If client and server endianess didn't match, glyph
+ images bits have to be only temporarily swapped.
+
+- Fixed TR07E01746. Terminate the shadow agent if the option 'shadow'
+ is empty.
+
+- Added option '-verbose'. It enables the printing of errors received
+ by the agent from the remote X server.
+
+- Warnings related to missing fonts are printed only if verbose mode
+ is enabled.
+
+- Disabled a log message related to the use of Composite extension.
+
+nxagent-3.0.0-77
+
+- The pixmap formats are initialized without taking care of which are
+ supported on the remote display.
+
+- Removed the check for pixmap format compatibility when migrating the
+ session to a new display.
+
+- Fixed TR06E01725. A minimum set of available picture formats is
+ used to ensure a wide migration from/to different displays.
+
+- The PictFormat structures used by nxagent are no longer filtered
+ with the ones available on the real display.
+
+- The background pixmaps are cleared while reconnecting in order to
+ make them usable.
+
+- Fixed TR01E01619. Changed the RandR implementation to return a re-
+ fresh rate other than zero.
+
+nxagent-3.0.0-76
+
+- Changed the keystroke to force the drawable's synchronization to
+ CTRL-ALT-J.
+
+nxagent-3.0.0-75
+
+- If the backing store tries to restore areas from a corrupted pixmap,
+ such areas are subtracted from the saved region, so that exposures
+ will be sent for them.
+
+nxagent-3.0.0-74
+
+- Don't skip the synchronization when there are more clients ready.
+ This temporarily solves the synchronization problems observed in
+ the previous versions if one or more clients kept the agent busy.
+
+nxagent-3.0.0-73
+
+- If the PolyFillRect() uses a FillStippled or a FillOpaqueStippled
+ fill style and the destination is corrupted, the area affected by
+ the operation is first synchronized.
+
+nxagent-3.0.0-72
+
+- Fixed the bug affecting the position of the input window when a
+ session was migrated to a linux X server with no window manager
+ running.
+
+- The color used to fill the corrupted backgrounds is converted de-
+ pending on the depth of remote X server.
+
+- The PolyFillRect() does not clean the corrupted destination region
+ if a stipple pixmap is used as mask. This solution is adopted to
+ reduce the region fragmentation and to solve the text drawing pro-
+ blems affecting rdesktop.
+
+nxagent-3.0.0-71
+
+- Force a flush of the display buffer if the coalescence timeout is
+ expired. Set the timeout according to the link type, from 0 to 50
+ ms for link MODEM.
+
+- In nxagentRealizeImage() the width in byte is computed newly if
+ the image has been scaled.
+
+- The shadow agent clips the screen updates in tile only if the link
+ type is MODEM or ISDN.
+
+- Split the abort conditions in the synchronization loop to check
+ separately the congestion and the blocking status.
+
+- Implemented a workaround in order to avoid graphical problems with
+ render composite operations on Xfree86 remote server.
+
+nxagent-3.0.0-70
+
+- Various adjustments aimed at using the best defer rules depending
+ on the congestion state.
+
+- Fixed a problem with icons of message boxes in shadow sessions.
+
+- Changed the log message printed when the shadow agent can't connect
+ to the master session.
+
+- If Composite is in use, don't skip the PutImage and CopyArea opera-
+ tions even if the agent window is fully obscured.
+
+nxagent-3.0.0-69
+
+- The option -nodamage prevents the shadow agent from using the damage
+ extension.
+
+- Changed the scaling feature to set the byte order of the source
+ image according to the local endianess.
+
+- Changed the scaling feature in order to handle different ratios for
+ horizontal and vertical sizes.
+
+- Force the shadow sessions to be non-persistent.
+
+- When a pixmap background is synchronized, an expose is sent to its
+ owners.
+
+nxagent-3.0.0-68
+
+- Changed the type of parameters passed to nxagentRootlessRestack in
+ order to be compliant with Xlib types on 64 bit platfors.
+
+- The nxagentCompositeRects() checks for the render operation type to
+ determine if the corrupted destination region must be cleared.
+
+nxagent-3.0.0-67
+
+- Fixed a condition discarding the expose events received from the X
+ server.
+
+nxagent-3.0.0-66
+
+- The corrupted resources are removed when a session suspends, and are
+ reallocated only at reconnection. This is aimed at avoiding synchro-
+ nization loops when the link is down.
+
+nxagent-3.0.0-65
+
+- Initialize for now the tile size at 64x64 in shadow mode.
+
+- The height and width of the tiles used for synchronizing drawables
+ are set without overriding command line option 'tile'.
+
+- Avoid calling miWindowExposures() for empty regions.
+
+- Fixed a bug while clearing corrupted regions with window exposures.
+
+- The corrupted drawable counters are not reset if there are bitmaps
+ to synchronize.
+
+nxagent-3.0.0-64
+
+- The synchronization bitmap is used only when requesting a full
+ drawable synchronization, otherwise the frame-buffer is used as
+ source.
+
+- Fixed some bugs in the synchronization loop.
+
+- Removed the remaining debug output.
+
+nxagent-3.0.0-63
+
+- Don't start the synchronization loop if the wakeup handler found
+ some clients ready.
+
+- Don't flush the display buffers if the synchronization was inter-
+ rupted and there are more drawables to synchronize.
+
+- Changed the backing store functions to not save the obscured areas
+ which are inside the corrupted region of a window.
+
+- Added the code to send the XClearArea() commands in shadow mode at
+ the end of the synchronization loop. In this way large images are
+ still split in tiles but, on fast links, the final result can made
+ visible all at once.
+
+- Modified the corrupted drawable counters to only report the number
+ of resources needing synchronization. This allows the block hand-
+ ler to avoid spinning through the synchronization loop if there is
+ nothing to do.
+
+- On a window exposure remove the corrupted region of the destinat-
+ ion window.
+
+- For testing purposes, the pixmap synchronization loop starts only
+ if there are corrupted backgrounds.
+
+nxagent-3.0.0-62
+
+- The image scaling is applied only if the destination drawable is the
+ pixmap shadowing the frame buffer of the master session.
+
+- The shadow agent exits with a fatal error if it can't connect to the
+ master session.
+
+nxagent-3.0.0-61
+
+- Forward the SIGCHLD to the NX transport instead of letting the NX
+ transport forward the signal to us. This allows the agent to set
+ and replace the signal handler at any time, without having to ta-
+ ke care of the state of the NX transport.
+
+- Improved the synchronization loop by implementing a simple round-
+ robin mechanism between the resources needing synchronization.
+
+nxagent-3.0.0-60
+
+- Use a new set of functions to install, post-install and reset the
+ signal handlers.
+
+- Reset the signal handlers to their initial state after a display
+ failure, as part of the disconnection procedure.
+
+- Don't set SA_RESTART in the sigaction flags. Make the signal int-
+ errupt the system call.
+
+- Terminate all the running dialogs before exiting.
+
+nxagent-3.0.0-59
+
+- Use the value of nxagentCongestion in nxagentUserInput() instead
+ of calling NXDisplayCongestion().
+
+nxagent-3.0.0-58
+
+- The clip mask of the scratch GC used by nxagentDeferCopyArea() is
+ reset before releasing the GC.
+
+- The MotionNotify event can now break the synchronization loop.
+
+- In the case of shadow sessions, if synchronization aborts then the
+ remaining data to synchronize are not stored in a bitmap.
+
+- If a table rebuild occurs in a loop searching for resources, the
+ loop restarts from beginning not to use the out of date table.
+
+nxagent-3.0.0-57
+
+- The synchronization bitmap is created only if the corrupted area
+ of the source drawable is visible.
+
+- The synchronization loop skips the last synchronizing drawable to
+ give a chance to the next resources to be synchronized.
+
+- Removed the session starting infos concerning the mismatching ver-
+ sions of render and the window manager detection.
+
+- Split the gliph lists in Render.c only if the symbol SPLIT_GLYPH_-
+ LISTS is defined.
+
+- Read again the events in the block handler after the flush.
+
+- The nxagentCongestion variable is now a value ranging from 0 to 9,
+ not a boolean flag.
+
+- Added some experimental code dynamically reducing the size of the
+ display output buffer when the agent is blocking for write.
+
+nxagent-3.0.0-56
+
+- The synchronization loop is now aborted when a short timeout exp-
+ ires. If the drawable synchronization cannot be completed, the
+ remaining data is stored in a bitmap. The synchronization loop is
+ then restarted using the data from the bitmap, instead of pulling
+ the latest image from the framebuffer. This allows the agent to
+ show a complete frame when displaying videos and animations, while
+ at the same time giving a chance to the clients to update the
+ screen in background. When an image from the saved bitmap is put
+ on the remote display, the image is compared with the actual data
+ in the framebuffer. If the two bitmaps match, the corresponding
+ region of the drawable is marked as synchronized, otherwise the
+ drawable remains dirty and will be synchronized at the next loop
+ using the new data taken from the framebuffer.
+
+- If the smart schedules is enabled, let the dispatcher decide when
+ it is time to yield and process the next client.
+
+nxagent-3.0.0-55
+
+- Disable the smart scheduler in the case of shadow sessions.
+
+- If the smart scheduler is enabled, stop the timer before returning
+ from the block handler. WaitForSomething() sets a zero timeout if
+ there are clients with input but doesn't stop the timer. The select
+ is then interrupted to update the schedule time even if, what the
+ dispatcher cares, is only the ticks count at the time the client
+ is scheduled in.
+
+- Fixed a compilation warning in NXresource.c.
+
+- The main window of the shadow agent is mapped in nxagentMapDefault-
+ Windows, like for non shadow agents, if the remote display has no
+ window manager running. This avoids a flickering effect on the !M
+ logo having place if the shadow session was displayed from a Wind-
+ ows client.
+
+- Some code related to the use of the Composite extension is not built
+ in the agent being not necessary anymore.
+
+nxagent-3.0.0-54
+
+- Get SmartScheduleStopTimer() from dixstruct.h.
+
+- Updated the NoMachine icon file.
+
+nxagent-3.0.0-53
+
+- Changed the message 'NXAGENT: Fatal IO error on display' into 'Info:
+ Disconnected from display'.
+
+- Fix a problem occurring when the FindClientResourcesByType() needs
+ to reallocate the resource table.
+
+- The popup window synchronization breaks if an user input is caught.
+
+- Implemented FR05E01712. The stderr and stdin are redirected to the
+ 'clients' file in the session directory.
+
+- The nxagentRealizeImage function does nothing if the agent is not
+ connected to the display.
+
+- Removed the code implementing the redraws of the viewport frame.
+ Such code is not needed because is't enough for the agent to handle
+ the expose event received from the X server.
+
+nxagent-3.0.0-52
+
+- Where it is necessary to wrap the function PaintWindowBackground,
+ the original function pointer is saved and restored afterwards. This
+ let other code wrapping that function (e.g. the damage extension) to
+ work correctly.
+
+- If the agent works in shadow mode, the defer parameters are ignored.
+
+nxagent-3.0.0-51
+
+- Use the smart scheduler on platforms where it is enabled.
+
+- Check ClientsWithInput in the wakeup handler and update the number
+ of clients ready if any descriptor is set.
+
+nxagent-3.0.0-50
+
+- Fixed TR05E01714. Changed VisibilityNotify event so that it forces
+ a refresh on the root window, but only if on the agent Composite is
+ enabled and its window moves from a VisibilityFullyObscured to ano-
+ ther state.
+
+- Grant the availability of core fonts in master sessions also after
+ the disconnection. This makes possible to start new clients inside
+ a shadow sessions while the master is down.
+
+- Changed nxagentGlyphs() to send a single glyph list per request.
+
+- Major rewrite of the agent dispatch handler.
+
+- Some name changes to the functions handling the session states.
+
+nxagent-3.0.0-49
+
+- Made the dispatch loop yield control to a different client after a
+ fair amount of time even if the current client doesn't produce any
+ output.
+
+nxagent-3.0.0-48
+
+- Modified the message in the suspend dialog to say 'Disconnect' in
+ place of 'Suspend'.
+
+- Added macros in Pixels.h to determine the behavior of the lazy en-
+ coding.
+
+- Changed the copyright attribution from Medialogic to NoMachine.
+
+- Reset all options to their defaults before processing the session
+ arguments. This fixes the problem with the DeferLevel option not
+ being set at reconnection.
+
+nxagent-3.0.0-47
+
+- Initialized the arguments of NXGetControlParameters(), NXGetShmem-
+ Parameters() and NXGetUnpackParameters() to end up with valid data
+ also in the case of a display failure.
+
+- Converted the coordinates in the X_PolyFill requests to relative
+ mode. This makes all the requests independent from the origin and
+ helps the caching by the proxy.
+
+nxagent-3.0.0-46
+
+- Don't print the 'Display failure' message on a SIGTERM.
+
+- Ensure that the NX transport is shut down after the 'Terminating
+ session at...' message if the session is killed by the user.
+
+- Let the agent filter the error output by setting the OsVendorVEr-
+ rorFProc function pointer.
+
+- Give the possibility to the agent to redirect the standard error
+ during a Popen() or a System() by setting the OsVendorStartRedir-
+ ectErrorFProc and OsVendorEndRedirectErrorFProc function pointers.
+
+- Fixed a problem in nxagentPolyFillRect() not properly propagating
+ to the destination.
+
+- Added nxagentPolyFillRect() and nxagentGlyphs() among the funct-
+ ions increasing the pixmaps usage counter.
+
+- Cleaned up some of the FIXME related to the lazy encoding.
+
+nxagent-3.0.0-45
+
+- Use the three distinct functions in nxcompext to query the state
+ of the display connection.
+
+- Terminate gracefully on a fatal server error by printing the fol-
+ lowing in the session log:
+
+ Error: Aborting session with 'Error text...'.
+ Session: Aborting session at '...'.
+ Session: Session aborted at '...'.
+
+- Removed more debug messages from the session log.
+
+nxagent-3.0.0-44
+
+- Guess whether to compress an image with a lossless encoder based
+ also on the width and height, not only on size.
+
+- Corrupted pixmaps used as tiles propagate the dirty area when they
+ are involved in a PolyFillRect() operation.
+
+- On link settings ADSL to LAN, images are not split in tiles to bet-
+ ter fill all the available bandwidth.
+
+- Pixmaps referenced often as source in deferred operations or used
+ as backgrounds, are now synchronized as long as when the network
+ congestion level remains 0.
+
+- Use nxagentPaintWindowBorder() to update the window's border in
+ the framebuffer.
+
+- Fixed a problem with the new handling of the X_RenderChangePicture
+ requests that caused the text to be erroneously clipped.
+
+nxagent-3.0.0-43
+
+- Don't pass the uid of the shared memory segment to the nxcompshad
+ library if it can't be retrieved from the options.
+
+- Fixed the new handling of the RenderChangePicture requests to work
+ on 64 bit platforms.
+
+nxagent-3.0.0-42
+
+- Added support for the 'lossy', 'lossless' and 'adaptive' pack me-
+ thod literals. These values activate the dynamic selection of the
+ pack method by the agent.
+
+- Use the newer constant PACK_NONE instead of NO_PACK.
+
+nxagent-3.0.0-41
+
+- Fixed a bug in the disconnection procedure introduced with the new
+ handling of the display events.
+
+- Realize the XRenderChangePicture() request only if a change of the
+ remote picture's attributes is detected.
+
+nxagent-3.0.0-40
+
+- Dynamically select a lossy or a lossless encoder based on the num-
+ ber of pixels that appear to be different in the image.
+
+- Use the new PACK_BITMAP_16M_COLORS image encoding. Handle the case
+ when the packed image data points at the same data as the original
+ image. This is useful to save a copy.
+
+- The PACK_BITMAP_16M_COLORS method is now the default for lossless
+ encoding.
+
+- Don't use compression for the alpha channel. This is also intended
+ to better leverage the stream compression.
+
+nxagent-3.0.0-39
+
+- The nxagentComposite() function doesn't check the source and mask
+ synchronization status, but defers the XRenderComposite() operation
+ by checking the defer level only.
+
+- If the target of an XCompositeText() function is an hidden window,
+ the operation is prevented.
+
+- Passing the uid of master X server process to nxcompshad library.
+
+- Before the call of XRenderAddGlyphs(), call the new library function
+ XRenderCleanGlyphs() cleaning the padding bytes of data section of
+ request.
+
+nxagent-3.0.0-38
+
+- Don't warp the cursor if the requesting client is a shadow agent.
+
+- Changed a call to NXFlushDisplay in order to align to nxcomp version
+ 3.0.0-15.
+
+- Updated the NoMachine icon file.
+
+- Changed Agent.h in order to include NX version of Xlib.h avoiding
+ missing declarations.
+
+- If the NXDisplayCongestion notifies an optimum congestion state,
+ the continuous user input, due to unreleased buttons/keys, doesn't
+ break the drawable's synchronization.
+
+- Renamed the option 'block' as 'tile'.
+
+- Implemented a way to guess if the destination drawable of a copy
+ area is a popup window. In such a case, the source is synchronized
+ before doing the copy to avoid ugly effects like text items floating
+ on an invisible background.
+
+- In order to reduce the number of clip mask changings, if the clean
+ region of a corrupted source drawable is formed by a single rectan-
+ gle, its coordinates are used to change extents and position of the
+ area involved in the copy area operation.
+
+- Fixed a crash caused by a reference to a resource table freed by a
+ table rebuilding. This was happening because during the pixmap re-
+ connection some new GC resources went beyond the resource table li-
+ mit, causing a table relocation. As a general rule, a function loop-
+ ing across a resource table should not add or remove resources.
+
+nxagent-3.0.0-37
+
+- To improve the efficiency of the algorithm deferring the trapezoid
+ operations, the composite does not propagate the glyphs flag to
+ the destination.
+
+- Moved the replacement of XCheckIfEvent() to nx-X11 with the name
+ XCheckIfEventNoFlush().
+
+nxagent-3.0.0-36
+
+- Changed nxagentDisplayFlushHandler() according to the new semantic
+ of the handler. The function is called by nxcomp when new data is
+ sent to the remote proxy.
+
+- After the flush handler is called, use NXQueryDisplay() with query
+ type NXDisplayCongestion to update the congestion flag.
+
+- Modified the boxes list defragmentation to merge only those rectan-
+ gles which fully overlap.
+
+- During the synchronization loop the nxagentDispatchHandler() takes
+ care of reading the enqueued events, while the nxagentUserInput()
+ checks only for state changes due to a processed key/button event.
+
+- Set the display output buffer size according to the link type.
+
+- Removed the congestion and synchronization callbacks.
+
+nxagent-3.0.0-35
+
+- In order to avoid the lossy encoding of text regions, the nxagent-
+ GlyphsExtents is computed even if the mask format is not specified.
+ In this case, the render implementation was not calculating the ex-
+ tents of composite text operation, whose coordinates are useful only
+ to build a mask pixmap.
+
+nxagent-3.0.0-34
+
+- Removed message 'Could not init font path element' from the output.
+
+- Moved initialization of picture support before the call to miDCInit-
+ ialize in the screen opening procedure. This is because miDCInitial-
+ ize calls DamageSetup that wraps the picture screen functions.
+
+- Implemented FR05E01686. Added option 'menu' enabling/disabling the
+ pulldown menu in the rootless agent.
+
+- Added a flag to each drawable to record if they have been the dest-
+ ination of a glyph operation. This is used to skip the deferral of
+ some operations (e.g. render trapezoids) if they can cause the
+ drawable to be synchronized using a lossy encoding.
+
+- The render trapezoids are deferred if the operation falls inside
+ a dirty region or if the destination drawable does not contain
+ glyphs.
+
+- Imported the NXmitrap.c file from render directory.
+
+- Improved the algorithm queuing multiple writes across a proxy
+ flush.
+
+nxagent-3.0.0-33
+
+- Read the event queue after each request processed. Doing this
+ is expensive but it seems to work best.
+
+- Don't split the big trapezoid requests. Splitting the requests
+ doesn't seem to provide any benefit with the clients tested.
+
+- By defining BLOCKS in Handlers.c, Events.c and NXdispatch.c, log
+ the begin and end of the most sensitive routines.
+
+nxagent-3.0.0-32
+
+- Use NXSetDisplayWriteHandler() to register a callback invoked
+ by Xlib after some data is written to the display socket. This
+ callback allows the agent to better determine when it is time
+ to send the sync requests.
+
+nxagent-3.0.0-31
+
+- The operation of adding glyphs to remote glyphset has been defer-
+ red, in order to avoid to add unused glyphs. When a composite text
+ operation looks for a certain glyph, if it has not been added to
+ the selected glyphset, an XRenderAddglyphs is requested.
+
+- The forced synchronization timeout is now dependant on link type.
+
+- Force the mi to process the events just after having processed
+ any input.
+
+- Added an experimental 'hard' sync request intended to wait for
+ the X server to complete an image operation. This also affects
+ the agent only when the NX transport is not running.
+
+- Added a synchronization mechanism intended to let the agent de-
+ tect if the X server is not able to process its input when the
+ NX transport is not activated. The algorithm uses asynchronous
+ X_GetInputFocus replies to minimize the impact of latency on
+ slow connections. A new request is sent at any given amount of
+ bytes read from our clients. When the number of pending replies
+ is exceeded, the agent stops accepting additional requests and
+ waits for the remote until the number of pending replies returns
+ below the limit. Note that when the NX transport is running, the
+ algorithm is disabled to not interfere with the proxy's own
+ token-based flow control.
+
+- Added the nxagentDispatchHandler() function. It is called by the
+ dispatcher after a client's request has been processed.
+
+- Added the nxagentWaitEvents() function. It blocks waiting for
+ more input with an optional timeout. It handles the case when
+ the NX transport is not running and is able to recover gracely
+ from a display failure by returning the error.
+
+- Replaced most of the code that was relying on NXTransContinue()
+ to use the new function.
+
+- Moved the new event-related functions to Events.h and Events.c.
+
+- Disabled the code raising the splash screen at reconnection.
+
+- Reverted change done in 3.0.0-8 version, dealing with expose events
+ not having entries in the queue. They are not collected in a global
+ region but sent immediately.
+
+nxagent-3.0.0-30
+
+- Let the block handler check if there are events queued after the
+ flush before entering the select.
+
+- Changed the dispatch loop to read the incoming events more often.
+
+- Added the nxagentReadEvents() and nxagentCheckEvents() functions.
+ Differently from XCheckIfEvent(), nxagentCheckEvents() doesn't
+ flush the output buffer if no event is available. nxagentReadEv-
+ ents(), instead, it's like XEventsQueued() but forces the use of
+ the QueuedAfterReading mode. These functions should be used when-
+ ever XEventsQueued() and XCheckIfEvent() would be required.
+
+- The nxagentQueuedEvents() macro uses XQLength() to return the
+ number of events that have been read and need to be dispatched.
+
+- The nxagentPendingEvents() function returns true if there is any
+ event queued. If not, it queries the transport to find if more
+ events can be read.
+
+- Ripristinated the code preventing the agent to connect to its own
+ display. The code was disabled while migrating to the new tree.
+
+- Removed the dependencies from the NXAGENT_QUERYBSIZE, NXAGENT_NO-
+ EXPOSEOPTIMIZE and NXAGENT_ONEXIT. Removed the unused code.
+
+- Removed more unused code in Clipboard.c.
+
+- The shadow agent calls NXShadowDestroy before exiting.
+
+- Reverted a change done in 3.0.0-8 dealing with expose events. If the
+ result of the subtraction is not sent immediately, some duplicated
+ refresh is shown.
+
+nxagent-3.0.0-29
+
+- The splash screen is removed as soon as the session is started in
+ the case of shadow session.
+
+- The rules to verify when the synchronization loop can be stopped
+ are specified by means of a bitmask passed as parameter to synch-
+ ronization functions.
+
+- The glyphsets are no longer reconnected during a session resuming,
+ but only when they are used.
+
+- Initialized the timeout parameter in block handlers in case of NULL
+ value.
+
+- Added option 'block' to specify the size of image slices sent during
+ the synchronization.
+
+- Fixed a memory leak in nxagentParseOptions().
+
+nxagent-3.0.0-28
+
+- Improved the nxagentGetOptimizedRegionBoxes() function to optimize
+ the high fragmented rectangle lists.
+
+- When resizing nxagent window the fictitious resize for all top level
+ windows, triggering the window tree validation, is not executed if
+ rootless mode is off.
+
+- The nxagentInputWindows cannot be resized in rootless mode because
+ they are not created.
+
+- Added NXdamage.c to the source files.
+
+- Changed damage's GCOps functions drawing text. This was needed be-
+ cause the original functions didn't call agent GCOps if the drawable
+ was registered for damage events.
+
+nxagent-3.0.0-27
+
+- Fixed TR04E01677. Changed the reconnection procedure to call the
+ function destroying the NoMachine splash window. It rarely happened
+ that the splash window was not removed after resuming a session.
+
+- Ignored the ForceScreenSaver requested by X clients to avoid clashes
+ with our screen saver handling.
+
+- Cleanup of code handling the screen saver timeout to remove referen-
+ ces to the old drawable's synchronization method.
+
+- Fixed TR04E01664. The session is terminated instead of suspended if
+ the auto-disconnect timeout expires and the persistence is not allo-
+ wed.
+
+- Reverted an optimization in nxagentCheckWindowConfiguration() in
+ order to avoid inconsistencies in the stacking order.
+
+- Fixed a segmentation fault in rootless mode.
+
+nxagent-3.0.0-26
+
+- Some fixes to build in the Cygwin environment.
+
+nxagent-3.0.0-25
+
+- Renamed the option 'lazylevel' to 'defer'.
+
+- Added a flag to windows to know if they have transparent children,
+ in order to reduce to minimum the put images on windows covered by
+ their children.
+
+- Created a generic list of graphic contexts, used when synchronizing
+ drawables between the nxagent and the remote X server. All the GCs
+ are created with IncludeInferiors property. This solves problem when
+ trying to synchronize windows covered by children with transparent
+ backgrounds.
+
+- The nxagentUserInput checks if keys are pressed.
+
+- Fixed some memory leaks.
+
+- In shadow mode, removed the handling of events of the source display
+ from the code. They can be handled in the nxcompshad library.
+
+- In shadow mode, allow the synchronization loop to break in case of
+ input event.
+
+- Moved the call to miDCInitialize after the initialization of poin-
+ ters to screen functions. This was needed to make DAMAGE work pro-
+ perly.
+
+- In shadow mode, not breaking the polling if a mouse button is down.
+
+- In shadow mode, allow events to break the loop sending updates.
+
+- At reconnection the input window is raised after the root window is
+ mapped.
+
+- Fixed an invalid read. The call to the function nxagentSetInstalled-
+ ColormapWindows() has been moved from nxagentDestroyWindow to Dele-
+ teWindow.
+
+nxagent-3.0.0-24
+
+- The corrupted drawables are added to dedicated lists of resources
+ to speed up the synchronization process.
+
+- The nxagentUserInput checks if a mouse button is pressed.
+
+- Created the nxagentGetScratchGC which resets the scratch GCs to de-
+ faults values also on the remote X server.
+
+- The synchronization cycle is forced when a timeout expires, albeit
+ the remote display is blocked.
+
+- Added a parameter to synchronization functions to specify if loops
+ can break. It's useful to force the synchronization in some circum-
+ stances.
+
+- Keystroke CTRL-ALT-R is enabled in shadow mode too. It is used to
+ switch scaled and non-scaled modes.
+
+- Some changes to adjust the window position.
+
+- Moved some macros to Misc.h.
+
+- Some changes to adjust the behaviour of scaling feature in case of
+ resize and switch to full screen.
+
+- Freeing the buffer used for scaling if no needed anymore.
+
+nxagent-3.0.0-23
+
+- Fixed TR02E01648 and TR10D01534. Changed pointer motion events han-
+ dling. In desktop mode the nxagent creates a InputOnly window that
+ collects the MotionNotify events. This window is mapped over the
+ root window. In rootless mode the nxagent creates all windows on
+ real X server with PointerMotionMask.
+
+- Not exiting from the block handler with zero timeout if drawables to
+ be synchronized are pixmaps only.
+
+- Reduced the margin around the glyph extent from 5 to 3 pixels.
+
+nxagent-3.0.0-22
+
+- Fixed initialization of XImage used for scaling.
+
+- Changes to fix the position of the shadow main window.
+
+nxagent-3.0.0-21
+
+- Moved the implementation of scaling feature in nxagentRealizeImage.
+
+- Disabled log message 'Font not found' in Font.c.
+
+- The synchronization loop is called inside the BlockHandler. Synch-
+ ronization goes on until the display is not blocked.
+
+- Exiting the BlockHandler with timeout zero if corrupted drawables
+ have not been synchronized because of blocked display connection.
+
+- Changed the synchronization loop to slice the dirty regions.
+
+- The updates by shadowing nxagents are now sent using the lazy me-
+ chanics: the remote buffer pixmap is marked as dirty, then synch-
+ ronized.
+
+- Traversing the tree to synchonize windows.
+
+nxagent-3.0.0-20
+
+- Fixed a bug in the nxagentGetOptimizedRegionBoxes() function which
+ was causing a bad merging of boxes.
+
+- Added a margin of 5 pixels around the glyphs extents before synch-
+ ronizing them.
+
+- The synchronization cycle has been reactivated for the first lazy
+ level, in order to synchronize the window's background.
+
+- The CopyArea between pixmaps doesn't mark the full destination as
+ corrupted, but clips the operation with the synchronized area of the
+ source as happens for the windows.
+
+- Implemented scaling feature for the shadow agent. To do: run-time
+ control of this feature by keystrokes and window resize; adapting
+ the window size to the scaled dimensions.
+
+- Setting the shadow session scaling ratio equal to the size chosen
+ from the user divided by the size of the main session.
+
+- Scaled mouse motion events according with the ratio.
+
+- Implemented the nxagentScaleImage() function.
+
+- Updated version number and copyright in the output log.
+
+- Fixed TR06D01390. When resizing nxagent window, we make a fictitious
+ resize for all top level windows, in order to trigger the window
+ tree validation.
+
+nxagent-3.0.0-19
+
+- Force LazyLevel to 0 in case of shadowing session.
+
+- If shadowing poller returns that nothing is changed and no updates
+ have to be sent, call WaitForSomething select with 50 ms timeout.
+
+- The shadow agent doesn't break the sending of updates in case of
+ mouse motion events.
+
+- The scratch GC's clip mask was not cleared during a drawable synch-
+ ronization. Now the GetScratchGC() function is called after changing
+ the nxagentGCTrap flag.
+
+- Implemented the function nxagentGetOptimizedRegionBoxes(). It gets
+ the list of boxes forming a region and operates on it to merge as
+ much boxes as possible, checking their width and position.
+
+- Implemented the function nxagentClearRegion(). It does an XClearA-
+ rea() for each box belonging to a region, using the color returned
+ by nxagentGetCorruptedRegionColor() as background of target window.
+
+- Implemented the function nxagentGetCorruptedRegionColor(). It gets
+ the color of first outer pixel in the bottom right corner of re-
+ gion.
+
+- Fixed some memory leaks.
+
+- Checked and removed some FIXME concerning the lazy encoding.
+
+- Fixed and added some debug messages in Render.c, GC.c and GCOps.c.
+
+- Added to the Literals.h file the Render and Shared memory requests.
+
+nxagent-3.0.0-18
+
+- Changes to comply with nxcompshad library.
+
+nxagent-3.0.0-17
+
+- The master agent holds the number of shadow nxagents connected to
+ itself. The shadow nxagent notify its presence to master nxagent
+ by setting the _NX_SHADOW property.
+
+nxagent-3.0.0-16
+
+- Rearranged the lazy level rules. All the link types now use the lazy
+ level 1: the pixmaps are always corrupted, and they becomes synchro-
+ nized only when they're sources of an operation (i.e. CopyArea, ren-
+ der).
+
+- The lazy levels greater than 1 don't synchronize automatically. It's
+ possible to synchronize with two keystrokes: CTRL+ALT+Z forces the
+ windows synchronization without take care of the congestion; CTRL+
+ ALT+X synchronizes the windows and the background until there is
+ enough bandwidth.
+
+- Only the tile, stipples and glyphs are always synchronized.
+
+- The height of glyphs region has been doubled to obtain a better vi-
+ sual effect after the synchronization.
+
+- Fixed a problem causing the background pixmaps to be used also if
+ they were not fully synchronized.
+
+- Added a function to convert a PolyPoint in a dirty region. The fun-
+ ction is now disabled because it is not advisable to use the exten-
+ ts.
+
+- The XCopyArea is not requested if the clip region is NIL.
+
+- The nxagentPutImage does not update the framebuffer when it is
+ doing a synchronization.
+
+- Moved all the code handling the drawables synchronization in the
+ Drawable.c file.
+
+- As the shared memory pixmaps are never synchronized with the re-
+ mote X server, now they're marked as dirty when they're created.
+
+- An XFillRectangles request now marks the rectangles of the desti-
+ nation drawable as synchronized.
+
+- Fixed a bug that was causing the CopyArea to propagate wrongly the
+ corrupted region on the destination drawable when the GC uses a
+ clip mask.
+
+- Implemented a test function useful to show on the windows all the
+ dirty regions as colored rectangles. It is used with the CTRL+ALT+A
+ keystroke.
+
+- Before sending the XRenderComposite operations (trapezoids, trian-
+ gles, TriStrip, TriFan), the drawables involved are synchronized if
+ they are dirties.
+
+- Changes to shadow mode.
+
+- Moved the code splitting the screen shadowing updates to a separate
+ function.
+
+- Suspend the sending of updates if input is received from the user.
+
+- Make use of callback mechanism implemented in the nxshadow library
+ to suspend screen polling when input is received from the user.
+
+- Flush the display link when requested by the proxy.
+
+nxagent-3.0.0-15
+
+- Print the following info when the screen is resized: "Info: Resized
+ screen [<screen number>] to [<width>x<height>].
+
+- Changes to comply with nxshadow library.
+
+- Fixed the height of screen updates in shadowing mode.
+
+- Terminate cleanly if shadowing initialization fails.
+
+- Split shadowing screen updates in smaller rectangles for slow links.
+
+nxagent-3.0.0-14
+
+- Fixed a compilation error in NXrender.c.
+
+nxagent-3.0.0-13
+
+- Changed the LICENSE file to state that the software is only made
+ available under the version 2 of the GPL.
+
+- Added file COPYING.
+
+- Updated the files imported from X.org to the 6.9.0 release.
+
+nxagent-3.0.0-12
+
+- Fixed compilation on Sun platform.
+
+nxagent-3.0.0-11
+
+- Implemented an algorithm adapting colors if the target display have
+ different depth than the shadowed display. It requires that visuals
+ are TrueColor and depths are 16 or 24 or 32.
+
+- Added the option shadowmode. If this option is '0' the shadowing
+ session doesn't interact with the attached session.
+
+nxagent-3.0.0-10
+
+- Changes to comply with the nxshadow component.
+
+nxagent-3.0.0-9
+
+- Applied changes to files imported from X.org sources.
+
+- Updated copyright notices to the current year.
+
+nxagent-3.0.0-8
+
+- Imported changes up to nxagent-2.1.0-17.
+
+- Fixed problem with font path on Solaris 10.
+
+- Disabled some log messages.
+
+- If the agent has blocked when trying to write to the display, try to
+ read other events from the connection.
+
+- After synchronizing expose events, the result of subtraction is not
+ sent immediately, but added to a region. Expose events will be for-
+ warded to clients after exiting from the event loop.
+
+- Critical output is set when button mouse events are received.
+
+- Fixed TR12D01584. X11 sessions could not be started on Mandriva Li-
+ nux 2007 because of a different location of fonts. The font path
+ used by this distribution is now added to the alternates font paths.
+
+- Fixed TR11D01550. Modified the collection of visuals when nxagent
+ opens a display. Now we only use the ones with the same depth than
+ the default one set in the screen.
+
+- Modified the reconnection of pict-format structures, to avoid an
+ error that arises when migrating a session by a Linux machine to
+ a Windows one.
+
+- Small changes in handling of expose events.
+
+- GraphicsExpose are no more forwarded to clients immediately. They
+ are merged with remote-only exposures and sent later.
+
+- Invalidated expose queue elements dealing with destroyed windows.
+
+- Cleaned up code in nxagentSynchronizeExpose().
+
+- Fixed TR10D01541. Now when destroing a window if lastClientWindowPtr
+ point to this window then in nxagentClearClipboard() we put nxagent-
+ ClearClipboard to NULL and lastClientStage to SelectionStageNone.
+
+- Fixed a problem with LazyLevel option that wasn't correctly read
+ from command line.
+
+- Fixed an arithmetic exception raised when the viewable corrupted
+ region is empty but not nil.
+
+- Removed the obsolete 'sss' option.
+
+- Fixed a warning related to the expose queue.
+
+- Modified the queue of exposed region to remove some memmov() calls.
+
+- Remote expose events not having entries in the queue are collected
+ in a global region and sent later, instead of being sent immediate-
+ ly.
+
+- Changed nxagentCheckWindowConfiguration() to prevent unuseful calls
+ to XQueryTree().
+
+- Fixed TR10D01530. Fixed an invalid write in doOpenFont().
+
+- Fixed some invalid write/read in nxagentVerifyDefaultFontPath().
+
+- Fixed TR10D01518. If needed, a restack is performed on the top level
+ windows in rootless mode.
+
+- Fixed TR10D01520. Reviewed session termination and log messages in
+ the case of indirect XDMCP.
+
+- In PictureCreateDefaultFormats(), cleaned the PictFormatRec struct
+ when the format is not supported.
+
+- Fixed TR09D01498. As it is possible to use multiple paths where to
+ store the fonts, now the agent concatenates all the existing font
+ paths used in various XFree/Xorg distributions to obtain a unique
+ default font path.
+
+- Fixed TR09D01502. The privates of the real pixmap are initialized
+ before trying to allocate a virtual pixmap, avoiding the possibility
+ to access an inconsistent structure in case the allocation fails.
+
+- Fixed a memory leak due to a missing deallocation of a virtual pix-
+ map's region.
+
+- Fixed TR08D01486. Removed a warning in NXrender.c.
+
+- Implemented FR08D01470. Now in the reconnection phase missing fonts
+ are replaced by the most similar picked among the available ones.
+
+- Fixed TR08D01480. A condition inside the nxagentWindowExposures
+ function was ignoring the possibility that the first region para-
+ meter could be a null region.
+
+- Fixed TR06D01409. Now NXCollectGrabPointer() is called with the
+ owner_events true in ActivatePointerGrab() .
+
+- Fixed TR03D01317. Increased the time after wich the session termina-
+ tes.
+
+- Fixed TR08D01475. In rootless, ConfigureWindow requests are only
+ forwarded to the X server, even if no window manager has been detec-
+ ted.
+
+- Fixed TR04D01367. An XKB event is sent to notify that keyboard map-
+ ping has changed.
+
+- Check the number of regions in the list before running nxagentSynch-
+ ronizeExpose().
+
+- Reduced the number of GCs used during the drawable synchronization.
+
+- Optimized the corrupted region synchronization trying to use the
+ extents is some circumstances instead of split the full region.
+
+- Checked and removed some FIXME.
+
+- Fixed TR05D01384. Xgl server uses less picture formats than nxagent
+ usually does. Now the PictFormat structures used by nxagent are fil-
+ tered with the ones available for the real display.
+
+- Fixed TR06D01410. Function nxagentRestoreAreas have to make use of
+ a GC with subwindow mode ClipByChildren for preventing from repaint
+ also children of restored window. Children are restored in a separ-
+ ate call, if they have backing store on.
+
+- Fixed TR07D01426. The cursor data were swapped in place if the dis-
+ play had different bitmap bit order. Let Xlib do this work on a copy
+ of the image, preventing from messing up the original data.
+
+- Fixed TR07D01450. Some fonts were missing in the list of available
+ fonts because the ListFonts pattern used to build this list was too
+ much generic. To build a full font list two different patterns have
+ been used.
+
+- Fixed TR07D01449. Some X clients might affect the X screen saver
+ functioning modifying the default properties. The SetScreenSaver
+ request now correctly checks the parameters changes to avoid any
+ issue.
+
+- Fixed TR07D01432. X11 sessions could not be started on Debian 'Etch'
+ because of a different location of fonts. The font path provided by
+ the Debian Policy is now added to the alternates font paths.
+
+- Fixed TR07D01437. The auto suspend timer was reset when it should
+ not.
+
+- Fixed a conditional jump on uninitialised value.
+
+- Fixed TR05D01380. Now migrating a session when display have a 16-bit
+ depth does recover all visuals, avoiding reconnection failure.
+
+nxagent-3.0.0-7
+
+- Fixed problems occurring when the main session is terminated and the
+ connection is refused to the shadow agent.
+
+- Fixed include directory order for Solaris.
+
+nxagent-3.0.0-6
+
+- The shadow agent works only in viewport mode.
+
+- Added nxagentShadowCreateMainWindow function. This function creates a
+ pixmap and a window for mirroring the display root window.
+
+- Added NXShadowUpdateBuffer() function in order to create the buffer
+ for the poller with the same sizes of the root window of the master
+ agent.
+
+- Added NXxrandr.c NXxrandr.h and NXxrandrint.h files.
+
+- If the main agent screen is resized, the shadow agent adapts to the
+ new size of the root window.
+
+- Changed option activating mirror to -S.
+
+- Removed usleep() call when the agent is suspended.
+
+- Input events are sent to the main session even if it is in sus-
+ pended state.
+
+- Updates are made from top to bottom.
+
+- Added the option IgnoreVisibility. If this option is set, PutImage
+ is not skipped when the window is fully obscured.
+
+- Added the option 'shadow' saying the display to attach.
+
+nxagent-3.0.0-5
+
+- Added the mirror mode. It is activated by -M option.
+
+- Recovered the state of keys when the agent in access mode loses
+ focus in mirror mode.
+
+- Changes to work with 16-bit depth display in mirror mode.
+
+- Changed the Imakefile in order to include NXaccess.h and NXaccess-
+ Event.h files.
+
+- The layout keyboard is passed to NXShadowCreate() function in order
+ to load the right keymap file in mirror mode.
+
+nxagent-3.0.0-4
+
+- Small changes to build on 64 bit x86 platform.
+
+nxagent-3.0.0-3
+
+- Fixes to build on Cygwin platform.
+
+- Change the order of include directories in Imakefile.
+
+- Renamed GC.h, Window.h and Pixmap.h to avoid name clashes.
+
+- Undefined NXAGENT_UPDRADE in Composite.c and NXcomposite* files.
+
+- Defined ddxBeforeReset() in Init.c.
+
+nxagent-3.0.0-2
+
+- Merged changes to NXdispatch.c, NXdixfonts.c, NXmiwindow.c, NX-
+ picture.c, NXproperty.c, NXrender.c, NXresource.c, NXwindow.c.
+
+nxagent-3.0.0-1
+
+- Opened the 3.0.0 branch based on nxagent-2.0.0-88.
+
+nxagent-2.0.0-88
+
+- Fixed a memory leak in the code handling the remote font list.
+
+- Removed some log message.
+
+nxagent-2.0.0-87
+
+- The box size is checked during the region synchronization to avoid a
+ possible arithmetic exception.
+
+nxagent-2.0.0-86
+
+- Checked the validity of the colormap in nxagentChangeWindowAttri-
+ butes().
+
+nxagent-2.0.0-85
+
+- Fixed the bad destination coordinates of shared memory pixmap synch-
+ ronization in nxagentCopyArea() and nxagentCopyPlane() functions.
+
+nxagent-2.0.0-84
+
+- Discard the Terminate Server key sequence Ctrl-Alt-BackSpace.
+
+nxagent-2.0.0-83
+
+- Added a workaround to prevent the use of an inconsistent client poi-
+ nter in the nxagentNotifyConvertFailure() function.
+
+nxagent-2.0.0-82
+
+- Fixed the parsing of option 'backingstore'.
+
+nxagent-2.0.0-81
+
+- The agent window visibility on the real X server is used together
+ with the internal state to decide if graphics operations can be
+ avoided.
+
+- When restoring areas, if the backing pixmap is corrupted, an expose
+ event is sent to the region that can't be restored.
+
+nxagent-2.0.0-80
+
+- The core protocol requests internally used to accomplish a Render
+ extension request are no longer propagated to the real X server. To
+ be more precise in this way we can save many XCreatePixmap, XChange-
+ GC and XSetClipRectangles.
+
+- Corrected a minimal incoherence in nxagentCopyArea in managing the
+ creation and deallocation of a region.
+
+- Fixed a double synchronization of an aged drawable during a put ima-
+ ge operation, due to a missing check of nxagentSplitTrap value.
+
+- Added the VisibilityChangeMask bit to the event masks.
+
+- Improved the algorithm which prevents the server client's resource
+ duplication.
+
+nxagent-2.0.0-79
+
+- Added the 'lazylevel' option usable in the command line to specify
+ how much the Agent should be lazy. The default level is 2. Each
+ level adds the following rules to the previous ones:
+
+ Level 0 The lazy is off.
+
+ Level 1 The put images are skipped if we were out of bandwidth,
+ unless that the destination drawable has an old corru-
+ pted region.
+
+ Level 2 No data is put or copied on pixmaps, marking them always
+ as corrupted and synchronizing them on demand.
+
+ Level 3 The put images over the windows are skipped marking the
+ destination as corrupted. When a copy area to a window is
+ requested, the source is synchronized before copying it.
+
+ Level 4 The source drawable is no longer synchronized before a
+ copy area, but the operation is clipped to the synchro-
+ nized region.
+
+- Implemented a dynamic synchronization mechanism, based on user ac-
+ tivity: if the input devices are not used for a variable amount of
+ time (depending from the configured link type), the synchronization
+ starts and goes on until there is enough bandwidth.
+
+- Minor fixes to the way the copy area propagates the corrupted re-
+ gion.
+
+- Whenever a put image is done, a full synchronization is forced on
+ the destination drawable if it has an old corrupted region.
+
+- During the overall synchronization a drawable is skipped if its
+ timestamp is lower than the synchronization interval.
+
+- Updated the copy plane to skip the operations from a corrupted pix-
+ map to another pixmap.
+
+- Fixed the pixmaps synchronization which was not checking the avai-
+ lable bandwidth.
+
+- In rootless mode, ConfigureWindow requests are not internally per-
+ formed for top level windows if a window manager is running. Anyway
+ they are forwarded to the X server.
+
+- Enabled the DPMS extension.
+
+- Fixed the -dpi option.
+
+nxagent-2.0.0-78
+
+- When the remote proxy supports the alpha encoding, the alpha data
+ is sent compressed. When connected to an old version, the agent
+ uses the NXSetUnpackAlphaCompat() call.
+
+- Added support for the RLE pack method.
+
+nxagent-2.0.0-77
+
+- Fixed the check for special keystrokes. State mask for Alt and Meta
+ keys are inferred from the X server modifier map.
+
+nxagent-2.0.0-76
+
+- Fixed application icon in rootless mode.
+
+- If SYNC_WHOLE_GLYPH_DRAWABLE is set in Render.c the whole drawables
+ used in the composite glyphs are synchronized. This is useful to
+ evaluate the policy we should use to minimize the put images.
+
+- Code cleanup in Pixmap.c concerning the synchronization functions.
+
+- Added the nxagentSynchronizeBox() function.
+
+- Setting a wide band link (ADSL, WAN, LAN) disables Lazy and Strea-
+ ming options.
+
+- Now the Lazy option can be switched by the Ctrl+Alt+E keystroke.
+
+- Set a timestamp on a drawable to verify how much old its data are.
+ If we didn't update it since two seconds, the put image operations
+ are not skipped.
+
+- The image data split in chunks smaller than a threshold is now mo-
+ ved from the nxagentPutImage() to the nxagentRealizeImage() func-
+ tion. If a chunk is going to be put on an hidden area of a window,
+ the operation is skipped.
+
+- Fixed the value assigned to the id of the alpha visual. Now it is
+ assigned by XAllocID().
+
+- Removed a call to XSetInputFocus() before mapping the default win-
+ dows.
+
+- Restored the backup display pointer when failing to reconnect the
+ display.
+
+- Fixed some return value in the options parser function.
+
+- Fixed the parsing of environment variable.
+
+nxagent-2.0.0-75
+
+- Optionally split the long X_RenderTrapezoid requests in multiple
+ messages to help the compression.
+
+nxagent-2.0.0-74
+
+- Fixed a bug preventing the reconnection of pictures.
+
+- Fixed the way the agent notify its start up to NX Client. Now the
+ ownership of agent atom is set before the reconnection of pixmaps.
+
+nxagent-2.0.0-73
+
+- Added a check on the display pointer in nxagentTerminateDisplay()
+ to ensure that we don't try to force an I/O error if the display
+ is already down.
+
+- The image operations now are clipped to the visible area of the
+ drawable. As this may hamper the caching algorithm, only source
+ images bigger than 32K are clipped.
+
+- Code cleanup in Render.c.
+
+- When setting SKIP_LOUSY_RENDER_OPERATIONS in Render.c the realiza-
+ tion of some operations is skipped. This is useful to determine
+ how clients (mis)use the RENDER extension to achieve even worse
+ performance than they were able to achieve using the core protocol.
+
+nxagent-2.0.0-72
+
+- Ensured that SIGUSR1 and SIGUSR2 are ignored if the NX transport
+ is not running.
+
+nxagent-2.0.0-71
+
+- Modified the following messages used to track the session state:
+
+ From: "Session: Session starting at..."
+ To: "Session: Starting session at..."
+
+ From: "Session: Session terminating at..."
+ To: "Session: Terminating session at..."
+
+nxagent-2.0.0-70
+
+- Removed the obsolete 'Info' messages related to the 'fast' versus
+ 'slow' copy area and get image modes. The -slow and -fast options
+ are now ignored as ignored are the keystrokes that allowed switch-
+ ing between the two modes.
+
+- Removed more obsolete warnings and commented the logs left around
+ for test purposes.
+
+- Removed the code in NXdispatch.c handling the fake get-image.
+
+- Removed the flags related to the use of the frame-buffer.
+
+- Major code cleanup in GCOps.c, Window.c, GC.c, Pixmap.c, Screen.c.
+
+nxagent-2.0.0-69
+
+- Added a check to avoid parsing an empty DISPLAY variable.
+
+- Added parsing of the 'streaming' option.
+
+- GetTimeInMillis() function is compiled only if DDXTIME is defined,
+ to avoid double definition errors on Solaris platform.
+
+- Messages "Suspending session..." and "Session suspended..." are not
+ printed if the DE_TERMINATE dispatch exception is set.
+
+- When synchronizing the shared memory pixmaps the image is no longer
+ put on the framebuffer.
+
+- Code cleanup in the nxagentSynhronizeRegion() function.
+
+- Added the 'lazy' option to enable or disable the lazy policy. It is
+ activated by default. At the moment this is configured at compile
+ time and can't be changed through a command line or the option file.
+
+- Fixed the counter of the corrupted backgrounds by checking if the
+ pixmap was already marked.
+
+- The option SharedPixmaps is now activated by default.
+
+- Fixed a problem when synchronizing the shared memory pixmaps with
+ the operation being erroneously skipped.
+
+nxagent-2.0.0-68
+
+- If we are doing a copy area to a pixmap and the source drawable is
+ not synchronized, the destination is marked as corrupted and the co-
+ py area request is not propagated to the X server. As a general rule
+ the source drawables are now synchronized only when they are copied
+ to a visible window.
+
+- The nxagentSynchronizeRegion() function synchronizes the region one
+ box at a time. This solves the incorrect pictures synchronization.
+
+- When a new element is added to the list of exposed region, sending
+ the synchronization request to the X server is postponed to the next
+ call of nxagentFlushConfigureWindow().
+
+nxagent-2.0.0-67
+
+- Ensured that NXTransDestroy() is called when getting rid of the NX
+ transport.
+
+nxagent-2.0.0-66
+
+- The various messages used by the NX server to control the state of
+ the session have been changed and the NX server will have to be mo-
+ dified accordingly.
+
+ At the early startup the agent will print the following message:
+
+ "Info: Agent running with pid '...'."
+
+ Followed by:
+
+ "Session: Session starting at '...'."
+
+ The ellipsis here represent the current timestamp, as reported by
+ the POSIX function ctime():
+
+ Example: Mon May 22 15:07:11 2006.
+
+ After the connection to the remote display has been established,
+ the agent will print the following message:
+
+ "Session: Session started at '...'."
+
+ This replaces the old messages:
+
+ "Info: Session started, state is [SESSION_UP]."
+
+ Or:
+
+ "Info: XDMCP session started, state is [SESSION_UP]."
+
+ And:
+
+ "Info: Entering dispatch loop with exception 0x0."
+
+ If the display connection can't be established, due to a network
+ failure, for example, the agent will exit with a fatal error, for
+ example:
+
+ "Fatal server error:
+ Error: Unable to open display 'nx/nx,options=...'."
+
+ This is a special case, as the X server is still initializing and
+ the agent can't intercept all the possible causes of errors.
+
+ When suspending the session, the agent will print one of the fol-
+ lowing messages, depending on the reason of the disconnection:
+
+ "Session: Suspending session at '...'."
+
+ Or:
+
+ "Session: Display failure detected at '...'."
+ "Session: Suspending session at '...'."
+
+ As soon as the disconnection procedure is completed, the agent will
+ notify the server with the message:
+
+ "Session: Session suspended at '...'."
+
+ This message replaces the old message:
+
+ "Session: Session suspended."
+
+ When entering the reconnection procedure, the agent will print:
+
+ "Session: Resuming session at '...'."
+
+ If the session can be successfully resumed, the agent will print:
+
+ "Session: Session resumed at '...'."
+
+ Otherwise, if the display cannot be opened or if the proxy is not
+ able to negotiate the session, the agent will return in suspended
+ mode by printing:
+
+ "Session: Display failure detected at '...'."
+ "Session: Session suspended at '...'."
+
+ At the time the session be terminated, the agent will print:
+
+ "Session: Session terminating at '...'."
+
+ Followed by:
+
+ "Session: Session terminated at '...'."
+
+ This replaces the old message:
+
+ Info: Exiting dispatch loop with exception 0x2.
+
+ The message 'Session terminated at...' should be the last message
+ parsed by the NX server. From that moment on the NX server will
+ wait the agent process to ensure that the cleanup procedures are
+ completed without errors and that the process successfully termi-
+ nates with the exit code 0.
+
+nxagent-2.0.0-65
+
+- Many improvements to the block handler and to the drawable synch-
+ ronization loop.
+
+- Anyway the synchronization loop is skipped, at the moment, to bet-
+ ter test the new copy area implementation. Also all the put-image
+ on pixmaps are skipped, so that the pixmaps are only synchronized
+ on demand.
+
+- Small fix in the put image to always use the region already allo-
+ cated when marking a region as corrupted.
+
+nxagent-2.0.0-64
+
+- The realization of the put image operations now depends on the
+ state of the link, as reported by the proxy through the synchroni-
+ zation handler. If the proxy link is aproaching a congestion, the
+ destination area of the drawable is marked as corrupted and the
+ operation is skipped.
+
+- At the moment the synchronization strategy is quite unsophistica-
+ ted. The drawables are synchronized when a timeout expires in the
+ block handler. The synchronization loop is aborted as soon as the
+ link approaches again the congestion and is restarted at the next
+ timeout.
+
+- Imported miwindow.c from the DIX layer. The code has been changed
+ to prevent miSetShape() from trying to destroy a null region. The
+ bug appears to be related to the backing store but it is unclear
+ if can also affect the sample server. The region is allocated at
+ the beginning of the function only if the backing store is set for
+ the window. Then miSetShape() calls miChangeSaveUnder(), that, in
+ turn, calls miCheckSubSaveUnder(). The latter can change the back-
+ ing store attribute of -some- windows, including, apparently, the
+ window that miSetShape() is processing. miSetShape() then destroys
+ the region if the backing store is set, but it doesn't verify if
+ the region was actually allocated. The problem is fixed by simply
+ adding a check on the pointer.
+
+nxagent-2.0.0-63
+
+- Added the nxagentDisplaySynchronizationHandler() callback. The NX
+ transport uses the callback to report when it is possible synchro-
+ nize the pixmaps and the other X objects that are corrupted or in-
+ complete.
+
+- Fixed nxagentClearSelection() to correctly validate the selection
+ owner before clearing the record.
+
+- Changed the NXGetControlParameters() call to reflect the changes
+ to the reply.
+
+nxagent-2.0.0-62
+
+- At reconnection the pixmap data is sent to the remote X server only
+ in two cases: if the pixmap is associated to a picture (glyphs, for
+ example) or if its depth is 1 (clip masks of GCs). All the other
+ pixmaps are marked as corrupted and synchronized on demand as soon
+ as the drawable is used as a source. This code is not enabled by
+ default and is currently being tested.
+
+- Implemented a new copy area function synchronizing the corrupted
+ region of a drawable before using it as a source.
+
+- Imported resource.c from the DIX. This makes possible to avoid the
+ duplication of the RT_GC, RT_FONT and RT_PIXMAP resource types.
+
+- Added the RT_NX_GC resource type and removed the old code dealing
+ with the reconnection of the GCs used by the GLX extension.
+
+- Fixed a problem in the synchronization of the window background.
+
+- Checked and removed some FIXMEs related to the streaming code.
+
+- Changed nxagentRestoreAreas() to take care of the width of the win-
+ dow's border.
+
+- Changed nxagentSaveAreas() to be independent from the window's pos-
+ ition.
+
+- Called nxagentMapDefaultWindows() before pixmaps' reconnection.
+
+- Changed nxagentMapDefaultWindows() to notify the client about the
+ agent's startup also when running in rootless mode.
+
+- Added the delete and backspace keystrokes to the routine removing
+ duplicated keys.
+
+- Wehn resizing the desktop the clip region of the children windows
+ is clipped to the new size of the root. This fixes a crash occur-
+ ring when resizing the desktop to the minimum height.
+
+nxagent-2.0.0-61
+
+- Changed the extraction of alpha channel from images to be endianess
+ independent.
+
+nxagent-2.0.0-60
+
+- nxagentReleaseSplit() now uses the NXAbortSplit() request to force
+ the proxy to discard the pending splits.
+
+- Added the value of the SharedMemory and SharedPixmaps options in
+ the log, together with the size of the shared memory segment used
+ by the remote proxy.
+
+- Fixed the compilation problem affecting the previous version.
+
+- The location of xkb base directory is checked by calling _NXGetXkb-
+ BasePath() function.
+
+- Fixed TR05D01371. nxagentVerifyDefaultFontPath() is called only if
+ the default font path is not defined on the command line.
+
+- Removed some log message.
+
+nxagent-2.0.0-59
+
+- Improved the composite text operation to synchronize the regions
+ affected by the operation instead of the whole drawable.
+
+- Updated the copy plane to better propagate the corrupted region
+ to the destination.
+
+- The background pixmaps are synchronized with a deferred strategy.
+ Tiles and stipples are still synchronized as soon as the GC needs
+ to be used.
+
+- Completed the new copy area implementation.
+
+- Shared memory pixmaps are not synchronized after a RenderChange-
+ Picture operation. This needs further testing.
+
+- Added a nxagentNotifyKeyboardChanges() function that sends a Map-
+ pingNotify event to clients when the keyboard is reloaded or re-
+ configured. The SendMappingNotify() function is not used anymore.
+ This hopefully solves the TR01D01284.
+
+- Moved the nxagentResetKeyboard() function in Keyboard.c.
+
+- Checked if the previous sibling of a window is changed before try-
+ ing to restack it. This saves the redundant window configuration
+ requests of the previous version.
+
+nxagent-2.0.0-58
+
+- Before composite glyphs operations, only areas intersecting the
+ glyphs extents are synchronized.
+
+- When a new split resource is allocated, a copy of the GC used by
+ the put image operation is created. Such copy will be safely used
+ by the commit operation even if the original GC is changed or
+ destroyed.
+
+nxagent-2.0.0-57
+
+- Region saved by the backing store and corrupted region of backing
+ store pixmaps are emptied at suspend and resume time. This makes
+ the exposures go to the clients that will redraw their windows.
+
+- Changed the nxagent root window cursor. The cursor of the parent
+ window is used instead of the default 'X' cursor.
+
+nxagent-2.0.0-56
+
+- Rewritten the state machine handling the streaming of the images.
+
+- By calling FatalError(), the normal server shutdown was skipped
+ and left the X server socket in .X11-unix. This happened also if
+ for any reason the agent couldn't complete the session startup.
+ Now the DDX abort routine, if the agent is not exiting because of
+ an exception, calls nxagentAbortDisplay() which closes down the
+ well known sockets.
+
+- Upon a failure of the reconnection procedure, if the alert shown
+ to the user by leveraging the proxy control channel is not set
+ to a valid code, the function in will use a default.
+
+nxagent-2.0.0-55
+
+- Added an explicit link flush in the display block handler. The
+ block handler should now be called by nx-X11 before entering the
+ select, not only the the agent has entered WaitForReadable() or
+ WaitForWritable().
+
+- Removed the checks on the value of the Streaming option. The way
+ a drawable is treated only depends from its previous state.
+
+- Started reimplementing the copy area operation to better propaga-
+ te the corrupted region to the destination.
+
+- Shared pixmaps are now synchronized before a copy plane operation.
+
+- The unpack alpha is discarded before the drawable synchronization.
+ This fixes the problems with the synchronization of the cursor. A
+ better way to deal with the condition is to be considered for the
+ future.
+
+- Added a check in the nxagentPutImage() function to skip the opera-
+ tion if the window is fully obscured.
+
+nxagent-2.0.0-54
+
+- Fixed a bug in nxagentPaintWindowBackground(). A region passed as
+ parameter was modified by this function and this affected subseq-
+ uent operations involving the region.
+
+- In rootless mode, the map state of a top level window is uncondit-
+ ionally reflected in the internal state when receiving a map event
+ from the real display.
+
+nxagent-2.0.0-53
+
+- Regions are marked as synchronized after an image operation if the
+ image didn't generate a split.
+
+- When an image operation takes place on a drawable which is already
+ being streamed, the resource is marked as invalid and the commits
+ are discarded.
+
+- A specific trap is used at the time a drawable is synchronized.
+
+- Fixed Render.c to use the latest streaming code.
+
+nxagent-2.0.0-52
+
+- Fixed a problem in rootless mode where some windows could have mis-
+ sed to update the mapped flag after a MapNotify event.
+
+nxagent-2.0.0-51
+
+- Realization of images is skipped, if the link is down, and a small
+ delay is introduced before returning from the image function.
+
+- Started implementing a new handler to let the agent include arbit-
+ rary data in the transport statistics. For now, only the interfa-
+ ces and the stubs exist, and the handler is not registered to the
+ proxy.
+
+nxagent-2.0.0-50
+
+- Removed the unused code in nxagentCheckPixmapIntegrity().
+
+- Instead of calling nxagentShapeWindow() immediately, windows to be
+ reshaped are added to the list of windows that have to be configur-
+ ed at later time. This allows SaveAreas() to work even when windows
+ change shape, as in the case of the "bouncing cursor" as implement-
+ ed in some versions of the KDE.
+
+- Added a missing call to nxagentFlushConfigureWindow() in the recon-
+ nection procedure.
+
+nxagent-2.0.0-49
+
+- Code cleanup in the lazy encoding. Implemented distinct utilities
+ to allocate the split resources and manage the corrupted areas.
+
+- The Render.c file is taken from the previous version because the
+ updates break the composite code.
+
+- Renamed the option 'Lazy' to 'Streaming'.
+
+nxagent-2.0.0-48
+
+- Made the image cache use the agent data, instead of allocating and
+ copying.
+
+- Fixed a memory leak in the image routines.
+
+- The image cache is freed at exit. This helps investigating other
+ eventual leaks.
+
+nxagent-2.0.0-47
+
+- Solved the problem at reconnection with lazy encoding enabled.
+
+nxagent-2.0.0-46
+
+- Solved a bug in the parsing of the pack method that made the agent
+ select an unavailable id.
+
+nxagent-2.0.0-45
+
+- Ensured that images are explicitly byte swapped before sending to
+ an X server using a different byte order. In the attempt of saving
+ an expensive operation, the previous code let the unpack procedure
+ do the job, but this could fail to work in some special cases.
+
+- Cleaned the bitmaps used for the core cursors before putting the
+ image.
+
+- Left the display error handler installed during all the lifetime
+ of the session so that other parts of the code don't have to inst-
+ all it explicitly before entering a critical Xlib routine.
+
+- Removed more unused code.
+
+nxagent-2.0.0-44
+
+- Fixed the problem with the cursor image being encoded with a lossy
+ method. The fix is a temporary. The final solution requires changes
+ to the lazy encoding.
+
+- Reworked the code dealing with the alpha visual. The color mask is
+ set based on the endianess of the remote display and is recreated
+ after a session resume.
+
+- Removed more unused code.
+
+nxagent-2.0.0-43
+
+- Corrupted regions are now correctly clipped to the visible area of
+ the drawable.
+
+- Fixed a problem with the clip mask when calculating the intersect-
+ ion of the clip region with the destination region.
+
+- Drawables involved in a composite glyph operation are now synchro-
+ nized prior to being used.
+
+- The nxagentRealizeDrawable() function is now called only for draw-
+ ables that are not already synchronized.
+
+- Pixmaps are now skipped in the synchronization loop. Synchronizat-
+ ion of pixmap is to be implemented.
+
+nxagent-2.0.0-42
+
+- Improved the algorithm removing the duplicated keys by trying to
+ read more events.
+
+nxagent-2.0.0-41
+
+- Made use of the NXFinishSplit() request to speed up the completion
+ of a pending split.
+
+- Added an explicit NX transport flush before any operation that may
+ block waiting for data from the X server.
+
+- Set the NX flush policy to deferred after reconnection.
+
+- Solved refresh problems when reconnecting in rootless mode.
+
+- Modified the routine removing duplicated arrow key events. Now the
+ routine deals with page down and page up keys as well.
+
+- Added a check for xkb base directory path, in order to support new
+ Linux distributions.
+
+- Disabled backing store support for rootless sessions, as implement-
+ ation is not very functional, yet.
+
+nxagent-2.0.0-40
+
+- Removed code related to old managing of backing store.
+
+- Added initialization of backing store by calling miInitializeBack-
+ ingStore().
+
+- Implemented nxagentSaveAreas() and nxagentRestoreAreas() functions.
+ These functions are based on fb code. Calls to XCopyArea() have been
+ added in their implementation to make them be effective also on the
+ real X server.
+
+- Instead of calling nxagentConfigureWindow() in ClipNotify() and
+ PositionWindow(), windows to be configured or mapped are added to a
+ list, together with a mask storing operation that have to be done.
+ Windows in the list will be configured or mapped later by calling
+ nxagentFlushConfigureWindow(). This avoids that windows were mapped
+ or configured before saving areas in the backing store pixmaps.
+
+- The function nxagentFlushConfigureWindow() is called before resto-
+ ring areas on the X server in nxagentRestoreAreas() and at the end
+ of ConfigureWindow and MapWindow in the DIX layer.
+
+- Blocked the NoExpose events at the proxy side.
+
+- Fixed an error in nxagentCompareRegions().
+
+nxagent-2.0.0-39
+
+- Ensured that the display errors are detected while waiting for a
+ split operation to complete.
+
+- Removed more unused code.
+
+nxagent-2.0.0-38
+
+- Changed nxagentSetCursorPosition() to avoid warping the cursor if
+ the requesting client is NULL or the serverClient.
+
+- Added a specific trap to avoid compressing an image associated to
+ a RENDER cursor using a lossy encoding.
+
+nxagent-2.0.0-37
+
+- Added a check in nxagentPaintWindowBackground() to avoid calling of
+ XClearArea() if the window is not realized.
+
+- Modified nxagentAtomNames in Atoms.c to include CLIPBOARD and TIME-
+ STAMP atoms, avoiding further calls to XInternAtom in Clipboard.c.
+
+- Solved TR04D01356. Auto repeat mode setting is no more propagated to
+ the X server keyboard.
+
+- Cleaned up the code in the routine removing duplicated arrow key
+ events.
+
+nxagent-2.0.0-36
+
+- Added the Literals.h file. For now it just contains a table used
+ to translate a request opcode to the name of the X request, to be
+ used for test purposes.
+
+nxagent-2.0.0-35
+
+- Major code rewrite in nxagentPutSubImage(). Removed support for the
+ deprecated image encodings. Ensured that padding bytes are cleaned
+ before trying to locate the image in the nxcompext cache. Avoided
+ to store the image in the cache if it is coming from a XVideo or
+ GLX operation.
+
+- Added support for the new RGB image encoder. This allows the agent
+ to use the simplest encoding by still separating the alpha channel
+ from the image data.
+
+- Added the missing check in nxagentRedirectWindow() verifying that
+ use of the composite extension is enabled.
+
+- Updated to use the new NXCleanImage() function.
+
+- Removed more debugging output.
+
+nxagent-2.0.0-34
+
+- Updated to use the 'what' parameter in NXFlushDisplay().
+
+- Removed the duplicated arrow key events from the event queue.
+
+- Solved the TR04D01355. The X11 agent now tries to locate the
+ fonts.dir file in the misc directory, to verify the validity of
+ the font path.
+
+- Added a check in nxagentChangeClip to avoid creating a new clip
+ mask if the old clip mask matches the former.
+
+- Use the 'fixed' font to replace fonts that are not found a the
+ display reconnection. This should overcome one the most common
+ sources of troubles when migrating the session to a different
+ display, and constitute the base for improving the algorithm
+ trying to match a substitute font.
+
+- Implemented the FR04D01360. Now the user can enable/disable the
+ streaming of the images by using the option 'streaming'.
+
+- Implemented the FR04D01358. The backing-store can be enabled or
+ disabled by using the option 'backingstore'.
+
+- Forced the reconnection routine to call the IOError handler in
+ the case the display cannot be opened.
+
+nxagent-2.0.0-33
+
+- The GetImage requests in 'slow' mode are now served by retrieving
+ the content of the drawable from the frame buffer.
+
+- Replaced a call to XQueryExtension() by one to XRenderQueryExten-
+ sion(). This function caches previous QueryExtension requests. This
+ partially implements FR01D01275.
+
+- At reconnection, the keyboard is reset only if the keyboard option
+ has been changed.
+
+- Fixed the fonts reconnection procedure. Now the remote fonts list
+ is refilled before fonts reconnection and after failed fonts
+ reconnection, so as to store the correct list of available fonts.
+
+- Added a check in nxagentLoadQueryFont to look up selected font in
+ the list of available fonts. This check avoid filling FontStruct
+ with invalid data.
+
+- Added TIMESTAMP to handled selection targets.
+
+nxagent-2.0.0-32
+
+- Implemented FR03D01323. Added the 'clipboard' option to enable or
+ disable copy and paste operations from the user's desktop to the NX
+ session or vice versa. This option can take four values:
+
+ client The content copied on the client can be pasted inside the
+ NX session.
+
+ server The content copied inside the NX session can be pasted
+ on the client.
+
+ both The copy & paste operations are allowed both between the
+ client and the NX session and viceversa.
+
+ none The copy&paste operations between the client and the NX
+ session are never allowed.
+
+nxagent-2.0.0-31
+
+- Implemented FR03D01337. Now the X11 agent is able to read the op-
+ tions from different places according to the following order: the
+ DISPLAY variable, the options file, the command line.
+
+- Implemented FR03D01347. Added 'composite' to parsed options.
+
+- Always activate shared memory support in the remote X server proxy.
+
+- Modified nxagentCopyArea for the case the source is a shared memory
+ pixmap. The pixmap on the X server is not synchronized, but the con-
+ tent of the shared pixmap mantained by the agent is placed directly
+ on the destination drawable. This allows to skip the following Copy-
+ Area operation.
+
+nxagent-2.0.0-30
+
+- Added the missing flush of the Xlib buffer at the beginning of
+ the block handler.
+
+nxagent-2.0.0-29
+
+- Changes in the block and wakeup handlers to queue multiple reads
+ and flush the link on demand.
+
+- Removed the unused code in Control.h and Control.c. Renamed the
+ files as Client.h and Client.c.
+
+- Added support for the '-nocomposite' command line option.
+
+nxagent-2.0.0-28
+
+- Moved the composite code to Composite.h and Composite.c.
+
+- Redirected the top-level windows when running in rootless mode.
+
+nxagent-2.0.0-27
+
+- When the composite extension is supported by the remote display,
+ the agent window is redirected to the off-screen memory of the
+ X server.
+
+- Imported Xcomposite.c, Xcomposite.h and xcompositeint.h from the
+ 3.0.0 branch to be able to activate the off-screen redirection of
+ the top level windows.
+
+- Added Composite to the list of agent options. The default is to
+ use the composite extension, when available.
+
+nxagent-2.0.0-26
+
+- Avoided to suspend the clients on excess of karma or after a get
+ input focus request.
+
+- Images are now split only when the agent is in congestion state.
+
+- Moved all the image related functions from GCOps.h and GCOps.c to
+ Image.h and Image.c.
+
+- Removed the unused includes in GCOps.c and Image.c.
+
+- Added the karma delay field to the NXGetControlParameters() call.
+
+- Renamed placeholder.xpm as nxmissing.xpm. Renamed the Icon.h file
+ as Icons.h. Added there a define to point at nxmissing.xpm in the
+ include.
+
+nxagent-2.0.0-25
+
+- Implemented the FR03D01334. Option keyboard is now a synonym of
+ option kbtype.
+
+nxagent-2.0.0-24
+
+- Ensured that the split procedure is completed before executing a
+ render operation that required a synchronization of a shared mem-
+ ory pixmap.
+
+- Added the appropriate checks to avoid synchronizing the same sha-
+ red memory pixmap multiple times.
+
+nxagent-2.0.0-23
+
+- Imported changes to NXrender.c and NXshm.c in the files for the
+ 3.0.0 port.
+
+nxagent-2.0.0-22
+
+- Implemented FR03D01331. Options shpix and shmem enable/disable the
+ use of shared pixmaps and shared memory extension.
+
+- Implented handling of value "query" for nxagentKbtype. This value
+ is passed by the NX client for MacOSX. If value of nxagentKbtype is
+ "query" or NULL we init keyboard by core protocol functions reading
+ the keyvoard mapping of the X server. The property _XKB_RULES_NAMES
+ is always set on the root window with default values of model and
+ layout.
+
+- Fixed TR11C01223. When the XDM connection can't be established the
+ agent creates an alert to notify the user that XDM session failed
+ to start.
+
+- Changed Clipboard.c to fix invalid read errors in nxagentGetClip-
+ boardWindow() function.
+
+- Implemented FR11C01218. Modified Font.c introducing the new function
+ nxagentLoadQueryFont, this function loads the font_struct struct
+ locally instead of sending a QueryFont request.
+
+- Modified nxagentListRemoteFontsfunction to fill nxagentFontList
+ struct with all remote fonts, avoiding further calls to XListFonts.
+
+- Added two functions, nxagentFreeRemoteFontList and nxagentFreeFont,
+ used in disconnect phase to empty the nxagentFontList struct and
+ the cached FontStruct elements, respectively.
+
+nxagent-2.0.0-21
+
+- Updated to include the remote proxy version in the NXGetControl-
+ Parameter reply.
+
+- Updated to use the NXDisplayFlush() and NXSetDisplayPolicy() int-
+ erfaces.
+
+nxagent-2.0.0-20
+
+- NXInitDisplay() and NXResetDisplay() are called at the time we
+ open or close the display, to let nxcompext set up its internal
+ structures.
+
+nxagent-2.0.0-19
+
+- Activated the streaming of the images even in the case of a link
+ type LAN.
+
+- In NXmiexpose.c, if the number of rectangles in an exposed region
+ exceeds 4, we let a predicate function decide if it is better to
+ send the window extents, rather than the rectangles in the region.
+
+- Added the NXAGENT_SERVER define in the Imakefile. It will be used
+ in future to mark all the modifications made to files we imported
+ from other layers.
+
+- Removed the warnings from NXmiexpose.c.
+
+nxagent-2.0.0-18
+
+- Imported NXmiexpose.c in the agent code.
+
+- Removed NXmiwindow.c from the agent code. We now use the original
+ miwindow.c
+
+- Removed the static qualifier from the _NXFontPath definition.
+
+- Started implementing the new lazy encoding mechanism. For each of
+ the drawables, the agent will create a "corrupted" region and will
+ try to synchronize the drawable when there is bandwidth available.
+ This is a work in progress.
+
+- Implemented the function nxagentFbOnShadowDisplay. This is a test
+ facility which opens a window on the display showing the content
+ of the agent's framebuffer.
+
+nxagent-2.0.0-17
+
+- The image streaming procedure is now activated also when using a
+ link of type LAN.
+
+- Removed the call to NXTransDestroy() in nxagentCloseDisplay. The
+ NX transport is now implicitly shut down by either NXForceDisplay-
+ Error() or XCloseDisplay().
+
+- Updated to comply with the new NX function prototypes introduced
+ in nxcomp-2.0.0-31.
+
+nxagent-2.0.0-16
+
+- Fixed a bug in the nxagentModifyPixmapHeader function that was
+ causing some glyphs to be displayed incorrectly.
+
+- Implemented the test function nxagentPixmapOnShadowDisplay, useful
+ to display a pixmap on the real screen to check its consistency.
+
+nxagent-2.0.0-15
+
+- Ensured that, before restarting a client after a no-split, all the
+ pending image commits are executed.
+
+- Installed the display error predicate function before trying to
+ open the display even at session startup. This prevents the agent
+ from disappearing silently if a failure occurs before the display
+ initialization is completed.
+
+- Moved the initialization of the callback functions in Display.c.
+
+- Added some interfaces to manipulate the callbacks and the error
+ handlers and verify the state of the display flags.
+
+nxagent-2.0.0-14
+
+- Implemented stub versions of the nxagentDisplayCongestionHandler()
+ and nxagentDisplayBlockHandler() callbacks. See nx-X11-2.0.0-17.
+
+- Added the nxagentDisplayErrorPredicate() function. In combination
+ with changes implemented in nx-X11-2.0.0-16, this allows the agent
+ to abort a blocking operation and shutdown the display in a timely
+ fashion if a signal or any other error condition is received insi-
+ de Xlib.
+
+- Modified nxagentWaitSplitEvent() to use XIfEvent() as we can trust
+ the proxy to either send the event or give up the proxy connection.
+ The function will also give up when an error condition is raised,
+ like for example a session termination requested by the user.
+
+- Removed any remaining reference to the unused display buffer and
+ image cleanup functions.
+
+- Fixed exposures problems when reconnecting.
+
+- Solved TR05C00896. The problem was due to window manager utilizing
+ zero-thick-lines drawing requests. These drawing operations are now
+ performed by calling fbPolySegment() instead of miPolySegment(),
+ which doesn't handle the zero-thick-lines drawing case.
+
+nxagent-2.0.0-13
+
+- Improved the management of the expose events. We now create the
+ fake window used to keep the agent synchronized with the X server
+ only once, instead of creating and configuring a different window
+ for each generated region.
+
+- A warning is printed if the changes requested for the fake window
+ don't match the changes reported in the subsequent ConfigureNotify
+ event.
+
+- Imported previous changes in NXevents.c into the 3.0.0 port.
+
+nxagent-2.0.0-12
+
+- Activated the image streaming also during the reconnection. This
+ makes possible to leverage the remote disk cache.
+
+- Ensured that all clients are restarted when the session is suspen-
+ ded. This is required because the proxy is gone but we may have
+ some client still waiting for the completion of a split procedure.
+
+- Skipped the reset of the keyboard device if the display breaks at
+ the time it is being reconnected.
+
+- As the reset of the keyboard may have failed before we were able
+ to set a valid DeviceIntPtr, also added a check in ProcessPointer-
+ Event(), in NXevents.c to verify that the state of the display is
+ valid before accessing any of the device members. This is to be
+ better investigated.
+
+nxagent-2.0.0-11
+
+- Solved TR02D01298. The clip region associated to the current glyph
+ was not updated because the serial number of the virtual pixmap
+ pointed by the picture was not incremented.
+
+- Imported the NXmiglyph.c file from render directory.
+
+- Removed the patch added in the release 1.3.2-6 temporary fixing this
+ problem.
+
+nxagent-2.0.0-10
+
+- Various improvements the wakeup procedures.
+
+- Implemented the FR10C01110. Now, the X11 agent manages both the
+ PRIMARY and CLIPBOARD selections. It is possible copy and paste text
+ also by using Ctrl+C and Ctrl-V.
+
+- Modified NXdispatch.c in order to correctly include header files.
+
+- More cosmetic changes and code cleanup.
+
+- Imported changes into the files for the 3.0.0 port.
+
+nxagent-2.0.0-9
+
+- Rewritten the procedures suspending and resuming the clients in
+ Control.c. This solves a problem with clients that were restarted
+ at wrong time and should ensure that multiple events for the same
+ client are correctly handled.
+
+- Removed the calls to NXSetUnpackGeometry() setting the parameters
+ for the client 0. The geometry is now set only at the right time,
+ just before trying to unpack the image.
+
+- Removed the sample code using the NXTransChannel() interface.
+
+nxagent-2.0.0-8
+
+- Added test code showing how to open a new NX channel by using the
+ NXTransChannel() interface.
+
+- Streaming of images is not attempted in the case of link LAN.
+
+- Added preliminary code to the tell the proxy to flush the link if
+ the agent is idle.
+
+- Imported changes from nx-X11-2.0.0-14 in NXdixfonts.c.
+
+nxagent-2.0.0-7
+
+- Modified exposures managing: agent synchronizes both with remote X
+ server and remote window manager for every generated region. Synch-
+ ronization is reached sending a ConfigureWindow request for a fake
+ window created on purpose. This way the exposures for the resulting
+ region coming from calculating the difference between local region
+ and the remote region are sent to clients in order to avoid duplica-
+ ted refreshes.
+
+- Improved new algorithm for managing exposures in order to work pro-
+ perly also in rootless mode: added privates to windows in order to
+ get information about mapping of windows on remote X server and vi-
+ sibility state too. This way local exposures are replaced by remote
+ ones if windows are mapped only for agent or windows are not fully
+ visible. This solves TR08C00971.
+
+- Window attributes values about backing store and save-under are re-
+ spectively set to NotUseful and False when creating a window on re-
+ mote X server and ignored when a client requests to change these
+ attributes.
+
+- Removed a no more needed function call to generate exposures when
+ resizing windows.
+
+nxagent-2.0.0-6
+
+- Updated the NoMachine copyright notices.
+
+nxagent-2.0.0-5
+
+- Added handling of font reconnection failure. In case of failure in
+ reconnecting some font, the agent adds the font server connection
+ forwarded by nxcomp to the font path of the X server.
+
+- Fixed TR09C01022. Moved the handling of the session states into
+ main cycle. The session states are not more handled into SIGHUP and
+ IOError handlers but into nxagentHandleConnectionStates() called in
+ nxagentWakeupHandler().
+
+- In ResizeChildrenWinSize(), privates storing window geometry are
+ updated even if the call to PositionWindow() is skipped. This have
+ to be done because the window is moved by the X server accordingly
+ with window gravity. This prevent some window positioning error on
+ the real display evidenced with OpenOffice and GNOME.
+
+nxagent-2.0.0-4
+
+- Solved TR12C01234. In some conditions Alt-F4 keystroke made the user
+ unable to open the Gnome Menu panel. This was due to the agent dis-
+ carding KeyRelease events for Alt-F4 and Alt-F2.
+
+- Undefined TEST and DEBUG in Dialog.c
+
+- Changed the NXAGENT_VERSION define from 1.5.0 to 2.0.0
+
+- Caching and streaming of images is now disabled when dispatching
+ requests from the GLX and XVideo extensions.
+
+- Added the NXxvdisp.c and NXglxext.c files. These files are needed
+ to intercept calls to the XVideo and GLX extensions. Only files
+ in the main directory are imported. Files in the X directory, used
+ for the 3.0.0 port, for now are empty.
+
+- Added the nxagentXvTrap and nxagentGlxTrap flags. These flags are
+ set when dispatching requests from the XVideo and GLX extensions.
+
+- Added the GL and Xext include directories to the Imakefile to be
+ able to compile the NXxvdisp.c and NXglxext.c sources.
+
+- Modified the NXrender.c and NXshm.c files to set the nxagentGCTrap
+ nxagentRenderTrap and nxagentShmTrap even when dispatching requests
+ from swapped clients. Files for the 3.0.0 port are not updated.
+
+nxagent-2.0.0-3
+
+- Solved a problem in the export of WM_SIZE_HINTS properties in root-
+ less mode on 64 bit machines.
+
+- Modified Render.c in order to correctly process Xrender header fi-
+ les on 64 bit machines.
+
+- Made changes in order to compile the agent in the Cygwin environ-
+ ment.
+
+- Renamed the files Time.* to Millis.*
+
+- Specified the relative path of some included header files.
+
+- In the Imakefile added a new include paths order related to the
+ Cygwin environment to avoid name clashes.
+
+- Disabled the MIT-SHM extension in the Cygwin environment.
+
+- Fixed TR11C01186. Added -timeout item to the usage message.
+
+- Fixed TR08C00945. Scrolling a document in Firefox caused image left-
+ overs with animated banners. Set the right window gravity on windows
+ created in the real X server. Let X move children for us accordingly
+ with window gravity attribute, without dix interferences.
+
+- Removed logs related to parsing of the options file.
+
+- Modified dialogs in order to show the name of the session in the
+ caption.
+
+nxagent-2.0.0-2
+
+- Imported changes up to nxagent-1.5.0-112.
+
+- Fixed TR12C01241. The failure condition returned by the XQueryTree
+ function is managed in order to avoid the subsequent errors.
+
+- Fixed the TR11C01165. X11 sessions could not be started on Ubuntu
+ 5.10 because of the different location of fonts. Now we check the
+ existence of the fonts directory pointed by the default XF86 and
+ X.org font path and, if the directory does not exist, we use the
+ alternate font path used on Ubuntu.
+
+- Set the default value of DeviceControl option to False before resu-
+ ming a session.
+
+- Added a warning message printed if reset of keyboard fails at recon-
+ nection.
+
+- Fixed TR11C01185. Solved by checking if there are windows iconized
+ when a window is destroyed.
+
+- Fixed TR11C01164. The xkbcomp process used LD_LIBRARY_PATH as it was
+ a child of the agent. Added a call to NXUnsetLibraryPath() in Init.c
+ in order to remove LD_LIBRARY_PATH before executing a child process.
+
+- Check if there are windows iconized before terminating a rootless
+ session.
+
+- Modified CHANGELOG to include reference to fixed TRs TR08C00967 and
+ TR08C00969. Removed some typo.
+
+- Fixed TR11C01194. The agent crashed if launched with -kb option.
+
+- Fixed TR10C01042. The keyboard didn't work if the session migrated
+ from Apple X server to another platform and viceversa. This has been
+ solved by initializing the keyboard device whenever the session is
+ resumed. This feature can be disabled by the new option -nokbreset.
+
+- Fixed some compilation error arising if TEST was enabled in the file
+ Keyboard.c.
+
+- Fixed TR11C01167. During the disconnection the font structures poin-
+ ted by the font cache were freed leaving inconsistent data in the
+ corresponding privates. Now they are nullified and the GCs are che-
+ cked to guarantee a correct font handling in the suspended state.
+
+nxagent-2.0.0-1
+
+- Opened the 2.0.0 branch based on the 1.6.0-11.
+
+nxagent-1.6.0-11
+
+- Updated the NX.original copies of files in X directory.
+
+- Merged the NX changes:
+
+ - From dix/extension.c to NXextension.c.
+ - From dix/dixfonts.c to NXdixfonts.c.
+ - From dix/glyphcurs.c to NXglyphcurs.c.
+
+- Export of CARDINAL properties are expanded to 64 bit units on 64
+ bit machines.
+
+- Solved a segmentation fault when handling configure notify events
+ in rootless mode on 64 bit machines.
+
+- Merged the NX changes from dix/property in X/NXproperty.c.
+
+- Correctly allocated the local variable used in the call to NXGet-
+ CollectedInputFocus to be of 64 bit on 64 bit machine.
+
+- Defined symbolic constants XlibWindow in order to propertly handle
+ export property on 64 bit machine.
+
+- Moved the XlibAtom define from Atoms.h to Agent.h.
+
+- Modified export properties of type Window and Atom in order to han-
+ dle correctly Window and Atom types on 64 bit machines.
+
+- Removed some invalid read in Atom handling code when compiled for 64
+ bit, due to mismatched size of Atom type between Xlib and Xserver
+ code.
+
+- Modified some header files in order to properly see the correct pro-
+ totypes of some Xlib structures on 64 bit machines.
+
+- The variable currentDispatch is always defined.
+
+- The dispatch current time is updated, this way the initial timeout
+ can elapse and the splash window is removed.
+
+nxagent-1.6.0-10
+
+- Imported changes from nxagent-1.5.0-103.
+
+- Removed some redundant redeclarations.
+
+- Merged the NX changes from randr/randr.c to NXrandr.c.
+
+- Removed some warnings in NXrandr.c.
+
+- Removed NXAGENT_FORCEBACK and NXAGENT_INTERNALBS code.
+
+- Added ddxInitGlobals function in order to compile with the new X.org
+ tree.
+
+- Converted nxagentSynchronizeShmPixmap from macro to function to
+ solve a graphical render problem caused by the variable's scope.
+
+nxagent-1.6.0-9
+
+- Imported changes from nxagent-1.5.0-102
+
+- Fixed TR10C01124. Function nxagentSetPictureFilter() filled the log
+ with a debug message.
+
+- Removed a debug message in Events.c.
+
+- Run function nxagentSetTopLevelEventMask() only in rootless mode.
+
+- In the Java application IntelliJ the dropdown menus was shown in a
+ wrong position when the main window was moved or minimized. The
+ problem is solved for KDE desktop environment.
+
+- Fixed TR08C00967, TR08C00969, TR08C00941. Our incomplete implementa-
+ tion of the MIT-SHM X11 extension was a problem for some applica-
+ tions using the Shared Memory Pixmaps. Now the extension support has
+ been completed, so the nxagent can handle the Shared Memory Pixmaps
+ requests. Introduced some changes in the render implementation to
+ synchronize the content of the Shared Memory Pixmaps with the X ser-
+ ver before performing the ChangePicture and Composite operations.
+
+nxagent-1.6.0-8
+
+- Fixed TR09C01028. The problem was the GC foreground was not updated
+ on the X server. This was due to the private fields was not copied
+ from a GC to another in the function nxagentCopyGC(). Added macro
+ nxagentCopyGCPriv in GC.h.
+
+- Solved TR11C01162. Removed the dialog shown by nxcomp/nxagent when
+ the resume of a session is happening over a slow link.
+
+nxagent-1.6.0-7
+
+- Imported changes up to nxagent-1.5.0-100.
+
+- Fixed some compilation errors.
+
+- Fixed a typo in nxagentChangeClip() declaration.
+
+- Fixed TR10C01040. After the session resume the applications using
+ OpenGL were not correctly resumed because some GCs were not recon-
+ nected. Now we save these GCs in a safe vector, so we can't lose
+ them.
+
+- Improved font reconnection procedure in order to take advantage of
+ new font channel provided by nxcomp. If resuming session fails be-
+ cause missing fonts, the font channel provided by nxcomp is added
+ to font paths of X server. After reconnection succeded the font
+ channel is removed from font paths.
+
+- In the Java application IntelliJ the dropdown menus remained opened
+ and shown in a wrong position when the main window was moved or
+ minimized. This problem has been solved by sending a sinthetic event
+ to client. This solves partially TR09C01012.
+
+- In the same application the caret was not shown in the text window.
+ Solved the problem by setting nxagentGCTrap before calling a MI
+ function in every GC operations.
+
+- Merged the NX changes:
+
+ - From render/glyph.c to NXglyph.c.
+ - From Xext/shm.c to NXshm.c.
+ - From render/render.c to NXrender.c.
+ - From mi/miwindow.c to NXmiwindow.c
+ - From render/glyphstr.h to NXglyphstr.h.
+ - From render/picturestr.h to NXpicturestr.h.
+ - From render/picture.c to NXpicture.c.
+ - From dix/dispatch.c to NXdispatch.c.
+ - From dix/events.c to NXevents.c.
+
+- Changed picturestr.h glyphstr.h to remove some formatting changes
+ compared to the original files.
+
+- Disabled Xinerama extension in order to fix a type conflict in NX-
+ dispatch.c.
+
+- The current directory has been moved in front of the include dire-
+ ctory list.
+
+- Removed NXAGENT_FORCEBACK code in files imported from DIX.
+
+- Changed NXshm.c NXrandr.c NXproperty.c NXpicture.c NXglyphcurs.c
+ NXglyph.c NXextension.c NXrender.c NXdixfonts.c NXdispatch.c NXmi-
+ window.c to remove some formatting changes compared to the original
+ files.
+
+- Added copyright notice to file NXrandr.c.
+
+- All files, except those from mi and dix, compile fine in the new
+ tree. Problems remain with different size of Atoms and other XID
+ objects.
+
+- More compilation fixes for the new tree.
+
+- Merged the NX changes from dix/window.c to NXwindow.c.
+
+- Changed NXwindow.c and NXevents.c to remove some formatting chan-
+ ges compared to the original files.
+
+- More compilation fixes aimed at porting the agent to the new tree.
+
+- Started porting the agent to the 6.8.99.16 X.org tree.
+
+- Lot of compilation fixes aimed at building in the new environment.
+
+- Files imported from the X.org tree's dix and mi will have to be
+ recreated in the nxagent/X directory. The new files will be inclu-
+ ded and built from the nxagent/X director if the NXAGENT_UPGRADE
+ symbol is defined (as it is the case when building in the 2.0.0
+ nx-X11 tree), otherwise the usual NX* files in the nxagent's dir-
+ ectory will be compiled.
+
+- Fixed TR09C01021. SIGHUP it was not received from the proxy. The
+ handler of SIGHUP must be installed also in the case of not persi-
+ stent sessions.
+
+- In non persistent case: if session is normally running, SIGHUP sig-
+ nal is dealt like SIGTERM, otherwise it is passed to the proxy.
+
+- Fixed TR09C01027. Changed function nxagentHandleConfigureNotify()
+ in order to get changes of the staking order in a rootless session
+ even if no window manager is running.
+
+- Fixed TR09C01025. The problem was XView application could be unable
+ to respond to user's input. Modified the Event Mask for non top le-
+ vel windows reparented by the root window. Set the input member of
+ XWMHints to communicate the window manager the keyboard focus model
+ used by the application.
+
+- Fixed TR09C01026. Added 'fast' and 'slow' to the set of accepted
+ command line parameters. 'fast', 'slow' and 'geometry' command line
+ parameters have precedence regarding the options file.
+
+- Fixed TR08C00968. There was a problem in the implementation of the
+ render extension.
+
+- Fixed TR09C01016. In rootless mode when the session was resumed,
+ the cursor was shown with a wrong shape.
+
+- Fixed TR09C01011. Allowed clients to monitor the root window for
+ structure redirect, button press and resize redirect events in root-
+ less mode. This is a quick hack to make the java bean shell work
+ flawlessy with the agent.
+
+- Solved TR08C00961. Improved the algorithm updating the sprite win-
+ dow. Now it is updated based upon crossing and motion event. Since
+ on some X server, like Windows and MacOsX X servers, the only cros-
+ sing event is not a reliable method to trace the sprite window chan-
+ ges.
+
+- Fixed TR08C00966. Solved the problem on Windows when a rootless
+ session is suspended and some of the application windows are
+ minimized.
+
+- Fixed TR08C00960. Updated the internal screen dimension in rootless
+ sessions at reconnection.
+
+- Fixed TR09C01005. The problem was that the 'render' option on the
+ command line was overridden by the one provided in the options file.
+
+- Implemented the HandleEmptySplitEvent function that synchronizes all
+ the drawables after the depletion of the split store, when the lazy
+ option is activated.
+
+- Some changes in order to avoid duplicated refreshes when display-
+ ing Mandrake's kde menu.
+
+- Changed level of some logs from WARNING into TEST in Window.c and
+ in Rootless.c.
+
+- Fixed TR08C00958. Changed the log message printed when the user re-
+ quest to resume the session.
+
+nxagent-1.6.0-6
+
+- When reconnecting, try to estimate the shift on the main window due
+ to WM reparenting.
+
+- In the handling of configure events, if a WM is running save the po-
+ sition of the main window only if event is synthetic.
+
+nxagent-1.6.0-5
+
+- Command line option -noshmem disables shared memory extension in the
+ agent.
+
+- Changed level of some logs from WARNING into TEST.
+
+nxagent-1.6.0-4
+
+- Some changes in order to improve handling of expose events in root-
+ less. The GetInputFocus request is not sent after reconfiguring a
+ top level window: window manager intervention could give race condi-
+ tions. The request is placed in WindowsRestructured() in order to be
+ sure it is sent after any event that could generate expose.
+
+- Zero lenght change property are now imported in rootless mode.
+
+- Corrected few typos.
+
+- Replaced the function usleep with NXTransContinue when NX transport
+ is running.
+
+- Changed the session state to GOING_DOWN as soon as the reconnection
+ is failed.
+
+nxagent-1.6.0-3
+
+- Updated rootless toplevel window map when a window is reparented to
+ the root window.
+
+- Renoved duplicated entry in rootless toplevel window map.
+
+nxagent-1.6.0-2
+
+- Removed TEST and DEBUG in Color.c.
+
+- Removed a compilation error in Atoms.c if DEBUG is enabled.
+
+- Removed invalid read at server reset in rootless mode, now the a-
+ toms description are duplicate before that we cache them.
+
+- Now the local atom in the atom cache are reset when exiting from
+ the dispatch loop.
+
+nxagent-1.6.0-1
+
+- Opened the 1.6.0 branch based on nxagent-1.5.0-87.
+
+nxagent-1.5.0-87
+
+- Corrected the enable-disable lazy encoding dialog in order to show
+ the correct keystroke Ctrl-Alt-E.
+
+nxagent-1.5.0-86
+
+- Reset agent position at reconnection when the new size of display
+ doesn't match the old size and fullscreen is on.
+
+- Inserted a comment about handling of expose events.
+
+nxagent-1.5.0-85
+
+- If fullscreen and resize options are true when reconnecting, geo-
+ metry option is ignored and the root window is resized to the en-
+ tire screen.
+
+- Read the position of the main window at startup from geometry op-
+ tions.
+
+nxagent-1.5.0-84
+
+- Changed the keystroke Ctrl-Alt-L to toggle the image encoding on
+ and off to the new combination Ctrl-Alt-E.
+
+- Enabled the keystroke Ctrl-Alt-M to minimize the root window also
+ in window mode.
+
+nxagent-1.5.0-83
+
+- Replaced the call to XIfEvent() with something less efficient but
+ safer, based on XCheckIfEvent(). The previous version might never
+ return if an I/O Error was encountered waiting for the event. The
+ new version fails gracefully, and returns after having restarted
+ the client.
+
+nxagent-1.5.0-82
+
+- Removed some debug logs.
+
+nxagent-1.5.0-81
+
+- Forced window mode if X server geometry has changed at reconnection.
+
+nxagent-1.5.0-80
+
+- Reset resize desktop at startup flag before reconnection.
+
+nxagent-1.5.0-79
+
+- Removed race condition in the parsing order of the options parame-
+ ter, now the geometry parameters are set in screen initialization.
+
+nxagent-1.5.0-78
+
+- Disabled auto-resize and viewport mode dialog in case of rootless
+ session.
+
+- Removed no more used -backingstore option from usage messages.
+
+- Modified -bs command line option: now the default value "when_re-
+ quested" is always set.
+
+- Fixed wrong size of root window when switching from full screen to
+ window mode and viewport navigation mode is enabled.
+
+- Added option that solved a minimize bug in LeaveNotify when the
+ root window is in full screen and the user is using viewport navi-
+ gation mode.
+
+- Forwarded HUP signal to NX transport, when session state is up and
+ running.
+
+nxagent-1.5.0-77
+
+- Do PutImage in every case. Don't check if the drawable is synchro-
+ nized.
+
+- Do CopyArea, CopyPlane, Composite in every case, don't check whether
+ the source is dirty.
+
+nxagent-1.5.0-76
+
+- Terminate rootless session 15 seconds after the last mapped window
+ has been destroyed.
+
+nxagent-1.5.0-75
+
+- Ctrl-Alt-T shows suspend/terminate dialog also in rootless mode.
+
+- Sleeps 50 ms in the block handler if the session state is down.
+
+- In rootless mode, the focus window is changed following FocusIn
+ events received from the real X server, also in the case no win-
+ dow manager has been detected.
+
+nxagent-1.5.0-74
+
+- Changed the alerts names to comply with nxcomp-1.5.0-57.
+
+- Moved loading of placeholder from startup to the first time it is
+ needed.
+
+- Corrected a typo in the CHANGELOG.
+
+nxagent-1.5.0-73
+
+- Ignored put image on not synchronized drawables, when the image
+ doesn't cover the entire surface.
+
+- Added parsing of render parameter in option file.
+
+- Ignored I/O Error when session is suspended.
+
+- Managed I/O Error at reconnection.
+
+nxagent-1.5.0-72
+
+- Fixed offset of the default window at reconnection and after switch-
+ ing from fullscreen in window mode.
+
+- Suppressed the -lazy command line option.
+
+- Made some slightly changes in GCOps.c and Pixmap.c in order to com-
+ ply with the new 'Lazy' option.
+
+- Avoided to do CopyArea, CopyPlane and Composite operations when the
+ source drawable is dirty.
+
+- Rootless disconnect dialog has changed. This dialog is launched
+ after some time the last window has been closed.
+
+- Ignored geometry changes at reconnection if resize at startup is
+ not set.
+
+- Removed reset of the offset of the root window in viewport mode at
+ reconnection.
+
+- Fixed some refreshes problems in viewport mode and in desktop resize
+ mode.
+
+- Fixed a memory leak in nxagentWindowExposures().
+
+- Added predicate to nxagentDispatchEvents.
+
+- Implemented framework in order to wait for a free resource entry,
+ when calling the asynchronous Collect* functions.
+
+nxagent-1.5.0-71
+
+- Added keystroke Ctrl+Alt+L switching lazy encoding option.
+
+- Disabled viewport movement in resize mode.
+
+- Changed agent geometry at screen resize.
+
+- Changed agent geometry at initialization.
+
+nxagent-1.5.0-70
+
+- Restored the set of blocked signal after the dialog pid just laun-
+ ched has been stored.
+
+- Removed an already fixed FIXME.
+
+- Updated the copyright message.
+
+nxagent-1.5.0-69
+
+- Started working at the integration of the lazy encoding functiona-
+ lity. Made the agent draw the placeholder if the image is split and
+ never suspend the client. There is no provision for synchronizing
+ the drawables yet.
+
+- Made the lazy encoding configurable by the new 'Lazy' option.
+
+- Updated to include the changes in the NXStartSplit() and NXCommit-
+ Split() requests.
+
+- This version requires nxcomp-1.5.0-55 and nxcompext-1.5.0-16.
+
+nxagent-1.5.0-68
+
+- Fixed reconnection of iconified windows.
+
+- Ignored the X server's scratch pixmap at reconnection.
+
+- The desktop gets automatically resized at reconnection if the desk-
+ top resize option is enabled.
+
+- Added the resize option in nxagentProcessOptionsFile() to allow the
+ user to change the geometry of both the root and the default window
+ at reconnection.
+
+- Fixed max size of the default window at startup when auto-resize
+ mode is enabled or in the case of a reconnected session.
+
+- Made some minimal changes in Atoms.c and NXdispatch.c.
+
+nxagent-1.5.0-67
+
+- Changed handling of expose events received from real X server. A re-
+ gion is composed from expose events by checking the count field.
+
+- Reimplemented the exposures managing. Now the GetInputFocus request
+ is sent after a window has been configured or unmapped. We use a
+ vector to store windows originating expose events while waiting for
+ the reply to GetInputFocus.
+
+nxagent-1.5.0-66
+
+- Added the DisplayLatency value in the agent options. This is int-
+ ended to give a hint about the latency of the current display
+ connection. The value is currently used to determine if the agent
+ is running across a slow link, and so it's appropriate to display
+ the begin-reconnection alert.
+
+nxagent-1.5.0-65
+
+- Added the DesktopResize option. It controls the behaviour of the
+ automatic (RandR) resize of the desktop when dragging the agent's
+ window border.
+
+- Automatic resize is again the default.
+
+- Disabled the test logs in Events.c, GCOps.c Pixmap.c, Handlers.c,
+ Reconnect.c.
+
+- More cosmetic changes and code cleanup.
+
+nxagent-1.5.0-64
+
+- Rewritten the image streaming procedure to better leverage the new
+ infrastructure. The start-split/end-split procedure is always init-
+ iated by the agent, including when the size of the image is below
+ the threshold, but the client is only suspended when the split has
+ taken place in the NX transport.
+
+nxagent-1.5.0-63
+
+- Updated image streaming to use the new NX notification events.
+
+- Removed the references to the NXSync() operation, not used anymore
+ by the agent.
+
+nxagent-1.5.0-62
+
+- Fixed wrong position of the root window in case of viewport naviga-
+ tion mode.
+
+- Added a field to the client private to trace the client type.
+
+- Tracked which clients are nxclient dialogs in order to not run the
+ pulldown dialog on them.
+
+nxagent-1.5.0-61
+
+- Disabled server reset if not needed by XDMCP.
+
+- Disabled persistence for indirect XDMCP session until the first gre-
+ eter with the list of host has disappeared.
+
+- Created a small data structure to contain information about integri-
+ ty status and placeholder status of a drawable.
+
+- Modified the call to nxagentRealizeOnePixmap function in order to
+ avoid errors during the signal handling.
+
+nxagent-1.5.0-60
+
+- Added the XDMCP option. If both Rootless and XDMCP are selected the
+ session will fail.
+
+nxagent-1.5.0-59
+
+- Limited the permission to reset the agent only to indirect XDMCP
+ sessions, only one reset is allowed.
+
+- Fixed max size of the default window when switching from fullscreen
+ to window mode and auto-resize is disabled.
+
+nxagent-1.5.0-58
+
+- Enabled reset mechanism, in order to make XDMCP session work proper-
+ ly.
+
+- Added XSync for window manager detection, after a server reset since
+ the XInternAtom already used should be cached.
+
+- Now the pixmap status is always tested on real pixmap.
+
+- The placeholder is drawn only once per drawable.
+
+- Implemented nxagentUnmapWindows() in case of failed reconnection if
+ the session was running in fullscreen mode and NX transport is not
+ enabled.
+
+- In nxagentPutSplitImage(), passing leftPad to XCreateImage().
+
+- This version avoids sending the XSync() to the remote when a large
+ amounts of GetInputFocus requests are issued by the same client.
+ It will require more testing, especially to verify how it works on
+ old Windows machines.
+
+- Changed the NXCommitSplit() call to comply with the new interface.
+
+- The drawable status is now propagated on graphic operations where
+ the source is using the tile and stipple components on the graphic
+ context and the tile or stipple are not synchronized. This affects
+ the following operations:
+
+ - PolyLines
+ - PolySegment
+ - PolyRectangle
+ - PolyArc
+ - FillPolygon
+ - PolyFillRect
+ - PolyFillArc
+ - PolyText8
+ - PolyText16
+
+nxagent-1.5.0-57
+
+- Removed two XSync() operations at screen initialization.
+
+- Modified keyboard initialization in order to load the correct rules.
+ This is choosen according to the vendor string of X-Window system in-
+ stalled on the local machine.
+
+- Corrected a few typos.
+
+- When the NX transport is present, the failed reconnection dialog is
+ launched on the remote X server by using the NXTransAlert() function.
+ The same dialog is managed by NXTransDialog() when a session is run
+ by connecting directly to the display.
+
+- Removed the function nxagentUnmapAllWindows().
+
+nxagent-1.5.0-56
+
+- Set the parent window for the pulldown dialog.
+
+nxagent-1.5.0-55
+
+- Added an alert at the time the reconnection procedure begins. The
+ alert is shown only when the NX transport is present and the link
+ type is not LAN and is removed at the end of the resume operation.
+
+- Removed the former code used for testing the alert functionality.
+
+- Moved the function removing the splash window in Splash.c.
+
+nxagent-1.5.0-54
+
+- Fixed initialization of window privates storing exposed regions.
+ This solves a bug affecting the refresh of windows introduced in
+ nxagent-1.5.0-42.
+
+- Added a STARTING state to nxagent. Until the agent is in this state
+ the suspension mechanism is not activated.
+
+nxagent-1.5.0-53
+
+- Added the special keystroke Ctrl+Alt+R to enable or disable the
+ auto-resize mode.
+
+- A dialog notifies the user when the auto-resize mode is toggled.
+
+- Added a test alert at startup, to verify that NXTransAlert() is
+ working as expected.
+
+nxagent-1.5.0-52
+
+- Changed the code to call NXTransDialog() and NXTransExit().
+
+nxagent-1.5.0-51
+
+- Solved a bug that prevented the clients that had been restarted
+ to be immediately selected for input.
+
+- Removed some code that was added for debugging.
+
+nxagent-1.5.0-50
+
+- Fixed a memory leak in nxagentHandleExposeEvent().
+
+- Fixed a memory leak in nxagentDestroyWindow().
+
+- Now rootless dialog is launched only when last mapped window is
+ deleted, since we have pulldown window to control the session.
+
+- Added pulldown dialog to handle NX windows in rootless sessions.
+ This dialog is activated from a "magic" slice of window under the
+ top border.
+
+- Solved a problem with sessions that might fail at reconnection.
+
+- Now the message text of the dialog launched in case of failed re-
+ connection explains the reason why the agent cannot be resumed.
+
+- Implemented function nxagentUnmapAllWindows() to unmap all windows
+ if nxagent has failed to migrate the session to the new display.
+
+nxagent-1.5.0-49
+
+- Fixed the problems with propagation of the drawable status.
+
+- Modified nxagentPutSplitImage in order to set the correct height
+ of the last split image.
+
+- Code cleaning and optimization in Dialog.c.
+
+- Solved bug that switched on the full screen state in rootless se-
+ ssion.
+
+- Changed the way dialog caption are set in rootless mode. It is set
+ upon the session name or session id value.
+
+- Corrected the function nxagentFailedReconnectinDialog().
+
+nxagent-1.5.0-48
+
+- Solved bug that switched on the full screen state in rootless se-
+ ssion.
+
+- Changed the way dialog caption are set in rootless mode. It is set
+ upon the session name or session id value.
+
+- Corrected the function nxagentFailedReconnectinDialog().
+
+nxagent-1.5.0-47
+
+- Now we call NXContinueOnDisplayError() with value 1 just after
+ having opened the display. This will cause the NX Xlib to return
+ in the case of an I/O error, instead of quitting the application.
+
+- Removed the references to Context.h and the related elements.
+
+- Reflected the changes occurred in NXlib.c regarding NXDisplayErr-
+ ror() and inverted the logic compared to NXDisplayIsValid().
+
+- Added a dialog box to notify the user when nxagent has failed to
+ migrate the session to the new display. Because the main X agent
+ connection is unavailable, this dialog uses the auxiliary nxcomp
+ keyboard channel.
+
+- Disabled the special keystroke Ctrl+Alt+S if any dialog is already
+ running.
+
+- Started implementing lazy synchronization of pixmaps. At the pre-
+ sent moment the implementation doesn't try to perform any optimi-
+ zation on the windows' regions that have to be redrawn and neither
+ it checks the congestion state. After having synchronized a reaso-
+ nable number of pixmaps, it simply sends to all the affected win-
+ dows an expose event, mandating the repaint of the whole area.
+
+- Removed a warning in Atoms.c.
+
+nxagent-1.5.0-46
+
+- Removed the longjmp() at the time an I/O error was encountered on
+ the display.
+
+nxagent-1.5.0-45
+
+- Removed UNDEFINED status for drawables.
+
+- Now lazy encoding affects only windows.
+
+- Changed the block handler to call NXTransFlush() with 'if needed'.
+
+nxagent-1.5.0-44
+
+- After reconnection, stored exposed regions are reset and the manag-
+ ing of duplicate expose events is restarted.
+
+- Detection of window manager has been moved to the start of screen
+ initialization. Screen dimensions and fullscreen option are over-
+ ridden if no window manager is detected.
+
+- Added a call to XSync() in switching fullscreen function in order
+ to synchronize it with the network behaviour.
+
+- Started adding provision for deferred writes in the NX transport.
+ When the flush policy will be set accordingly, X data accumulated
+ by the proxy will be written to the network under the control of
+ the block and wakeup handlers.
+
+- Fixed a bug in nxagentCopyArea(). In some cases, pixmap drawables
+ was erroneusly supposed to be windows. This produced invalid reads
+ when trying to access to fields of WindowRec structure.
+
+nxagent-1.5.0-43
+
+- In the code managing the property notify events, NXCollectProperty
+ is not called if the window is not found in the tree mantained by
+ the agent.
+
+- Changed managing of screen resize in order to avoid repeated resize
+ of desktop. The agent sleeps one second, then all configure event
+ are read from the queue and the server connection. The desktop re-
+ size is performed after the last read configure event.
+
+- Changed nxagentImportProperty() in order to use NXCollectProperty
+ instead of XGetWindowProperty. This avoids many round-trips in root-
+ less mode.
+
+- Fixed Invalid write problem in nxagentRRSetScreenConfig().
+
+nxagent-1.5.0-42
+
+- Modyfied test of NXSetUnpackGeometry for visuals, so now the compa-
+ rison between visuals is based on their IDs and not on the memory
+ area allocated for their visual structure.
+
+- Modified exposure managing in order to avoid duplicated refreshes.
+ Now only exposed regions not formerly managed yet are sent to the
+ clients.
+
+nxagent-1.5.0-41
+
+- Modified nxagentCloseScreen() in order to free the frame buffer.
+
+- Added information of the integrity of the windows. Now the integrity
+ has became a drawable property that will expand in every drawable to
+ drawable operation.
+
+nxagent-1.5.0-40
+
+- Splitting of images now happens only if the display is a valid con-
+ nection.
+
+- The isItTimeToYield flag is now set in the dispatcher only when the
+ client has been actually suspended because of a karma, a sync, or
+ a split operation.
+
+nxagent-1.5.0-39
+
+- Improved the handling of the PutImage request to offer provision
+ for splitting images coming from orders generated by extensions.
+
+- Fixed a problem with clients being unexpectedly restarted instead
+ of waiting for the end of split.
+
+nxagent-1.5.0-38
+
+- Added a persistent dialog when agent is running in rootless mode.
+
+- Modified the policy of management of nxclient dialogs.
+
+- Fixed memory leak problem in nxagentPutSplitImage().
+
+- Modified printing of some debug messages to avoid passing a null
+ pointer to fprintf().
+
+nxagent-1.5.0-37
+
+- Implemented initial support for streaming the packed images in the
+ handling of the MIT-SHM extension.
+
+nxagent-1.5.0-36
+
+- Updated the pixmap status when a placeholder is copied on the pix-
+ map and when the pixmap is the target of a RENDER composite opera-
+ tion.
+
+- Solved the TR05C00900. The NX transport was forced to be set when-
+ ever the display name contained the nx prefix.
+
+- Implemented the FRSA052393. Removed the compression filters applied
+ by nxagent to cursor pixmaps.
+
+- Modified RANDR implementation to make the user able to resize the
+ desktop by simply dragging the agent window's border. Screen resize
+ is made after a small timeout, to give time to the last configure
+ event to come from the server and avoid multiple re-configurations
+ of the screen.
+
+nxagent-1.5.0-35
+
+- Added the current screen size to the set of sizes returned by the
+ RANDR extension.
+
+nxagent-1.5.0-34
+
+- Corrected the placeholder xpm image.
+
+- Added a client dialog to notify the user that nxagent is running in
+ fast or in slow mode after pressing Ctrl + Alt + S.
+
+- Modified RANDR implementation to give a set of screen sizes. Im-
+ plemented functions actually performing screen resize on a RANDR
+ request. Now toggling to fullscreen make the desktop cover the en-
+ tire screen area.
+
+nxagent-1.5.0-33
+
+- Added an auto-disconnect feature similar to the one present in the
+ Windows Terminal Server. The feature is modeled on the built-in X
+ server's screen-saver. If the agent doesn't receive any input from
+ the user in a given timeout, it will either terminate the session,
+ if no client is connected to the display, or will suspend it, so
+ that applications will be left running.
+
+- The default is to disable the auto-disconnect option. The feature
+ is activated by specifying a "-timeout s" parameter on the command
+ line, with s being the timeout in seconds. The minimum allowed ti-
+ meout is 60 seconds.
+
+- The waitpid() call now only checks the agent's own children.
+
+- Moved the longjmp() context declaration to a new Context.h file to
+ avoid clash with redefinitions by the PNG headers.
+
+- Few other cosmetic changes.
+
+nxagent-1.5.0-32
+
+- Added a check on the type of the connection to avoid cleaning the
+ images when not needed.
+
+nxagent-1.5.0-31
+
+- Modified the placeholder frames, now it has a left top black border
+ and a bottom right grey one.
+
+- Modified fbShmPutImage() in order to set the correct size for the
+ temporary pixmap.
+
+- Modified nxagentForceExposure() and nxagentHandleExposeEvent() in
+ order to clip exposed regions to the window size region of the root
+ window.
+
+- Added a new placeholder xpm image.
+
+- Corrected few typos.
+
+- Added function to synchronize GC tiles and stipples whenever those
+ pixmaps have been realized.
+
+nxagent-1.5.0-30
+
+- Hidden viewport windows to clients in QueryTree request in order
+ to make work XDMCP properly.
+
+nxagent-1.5.0-29
+
+- Removed some warnings with gcc 3.4.
+
+- Added desktop -D switch to usage.
+
+- Paint window background draw on framebuffer only with OpenOffice
+ client.
+
+- Now fast copy are and fast getimage are no more set according to
+ the link type, their default value has been set to true.
+
+nxagent-1.5.0-28
+
+- Modified nxagentUpdateViewportFrame() in order to solve a refresh
+ problem. Windows composing the external frame must be always on top
+ to be sure that agent sends expose events for every window.
+
+- In rootless mode agent doesn't export anymore the properties when
+ disconnected from the X server.
+
+- Changed the way agent check if the connection with the X server
+ is available. Instead of using a state machine it uses the display
+ flag.
+
+- Removed the SIGTERM handling function in persistent code. We don't
+ need anymore those function since agent is no more sleeping when
+ disconnected.
+
+- Implemented nxagentFreePropertyList() function in order to empty the
+ list of exported properties when the rootless agent is disconnected.
+
+- Added special keystroke Ctrl + Alt + S toggling between fast and
+ slow mode for GetImage and CopyArea.
+
+- Added missing handling of down arrow key in Keystroke.c.
+
+- Modified nxagentForceExposure() in order to intersect exposed re-
+ gions with the clip region of the root window. This prevents window
+ functions from painting outside the frame buffer.
+
+- Added the field usesFrameBuffer in struct nxagentPrivClient. Modifi-
+ ed GC funtion and DoGetImage() in order to write in the frame buffer
+ only if usesFrameBuffer is True.
+
+- Removed code performing PutImage in the frame buffer, as it is use-
+ less at the moment.
+
+- Modified ProcChangeProperty() to check WM_NAME property.
+
+- Added a piece of code in nxagentOpenScreen() checking for and remo-
+ ving duplicated visuals.
+
+- Added the Dialog.c Dialog.h files. Unified all calls to NXDialog,
+ and blocked SIGCHLD before calling in order not to get the signal
+ before the child pid has been stored.
+
+- Modified the algorithm that disconnect the running session in
+ order to avoid the opening of a new dialog box for closing or
+ suspending the nxagent.
+
+nxagent-1.5.0-27
+
+- Changed the disconnect/reconnect procedure in order to have a pro-
+ per default colormap vector when session is suspended, solving a
+ segmentation fault in create window function.
+
+- Corrected few errors in slow copy area mechanism.
+
+- Modified screen initialization in order to allocate memory for the
+ internal frame buffer.
+
+- Modified some GC functions for writing to and reading from the frame
+ buffer.
+
+- Modified nxagentCreateWindow() for initializing the window in the
+ frame buffer.
+
+- Modified nxagentCreateColormap() in order to use the default visual
+ if a matching one is not found.
+
+- Modified function DoGetImage() in order to call nxagentGetImage() in
+ place of nxagentGetDefaultImage() if fast option is on.
+
+- Added nxagentCheckWindowIntegrity() function verifying the matching
+ between the internal frame buffer and the X server for a window.
+
+nxagent-1.5.0-26
+
+- Added the property "_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR" to the list
+ of exported property in rootless mode, in order to let clients use
+ the system tray.
+
+- Modified import of WM_STATE properties in rootless mode in order
+ to better handle null resources.
+
+- Enhanced the slow CopyArea mechanism in case of one part of the
+ image is out of the X server screen or out of nxagent screen.
+
+- Changed type for variables width and height of default window
+ from 'unsigned int' to 'int'.
+
+nxagent-1.5.0-25
+
+- Added a new signal handler for SIGCHLD. The transport is set to
+ forward the signal (by means of a new NX_SIGNAL_FORWARD action).
+ This allows the agent to wait for its own children.
+
+nxagent-1.5.0-24
+
+- Set up the RANDR extension. When querying the configuration, the
+ clients get 3 sizes, the first being the current size, the second
+ being the maximum size of the remote display, the third being the
+ minimum size (arbitrarily set to 100x100 pixels). Screen sizes in
+ millimeters are calculated based on the size reported for the real
+ display.
+
+ An example of xrandr -q output is below:
+
+ SZ: Pixels Physical Refresh
+ *0 800 x 600 ( 270mm x 203mm )
+ 1 100 x 100 ( 33mm x 33mm )
+ 2 1400 x 1050 ( 474mm x 356mm )
+ Current rotation - normal
+ Current reflection - none
+ Rotations possible - normal
+ Reflections possible - none
+
+ As you can note, reflections and rotation is not possible.
+
+- Set up the GLX extension. This provides basic support with GLX op-
+ erations being translated into core X protocol primitives.
+
+- Moved initialization of GLX and RANDR to the Extensions.c file.
+
+- Removed the references to the unused mfb library. Modified Screen.c
+ to allocate the right privates for the fb code.
+
+- Modified the Xserver Imakefile to link nxagent with FbPostFbLibs
+ and avoid including mfb/libmfb.a.
+
+nxagent-1.5.0-23
+
+- Fixed an incorrect buffer length calculation when retrieving a re-
+ mote property.
+
+- Added a check to avoid the use of a NULL pointer when changing the
+ window cursor.
+
+- Implemented a function to lookup the remote pixmaps.
+
+- Changed the RENDER initialization messages.
+
+- Corrected a few typos in symbol names.
+
+nxagent-1.5.0-22
+
+- Added the nxagentNeedConnectionChange() macro.
+
+- Small optimizations in the block and wakeup handlers.
+
+nxagent-1.5.0-21
+
+- NXCollectGrabPointer() is called by passing nxagentDefaultClient().
+ This is a macro that checks the validity of requestingClient and,
+ if the pointer is NULL, defaults to NXNumberOfConnections - 1.
+
+nxagent-1.5.0-20
+
+- Replaced all calls to XGrabPointer with the asynchronous version
+ provided by nxcompext.
+
+- In DeactivatePointerGrab() function, mouse button state is set to
+ up if the window entered by the pointer is the root window and the
+ agent is in rootless mode. This change is needed because the sub-
+ sequent KeyRelease event could be not received by the agent (for
+ example if the focus had left the window), so that agent could be
+ unable to update the mouse button state.
+
+- In rootless mode, grabs exported to X in ActivatePointerGrab() are
+ always made asynchronous. The synchronous behaviour is implemented
+ by the agent, so that requiring a further synchronous grab down to
+ the real X server is of little use and potentially harmful.
+
+- Modified function XYToWindow() in order to manage the case that
+ mouse pointer is located on the title bar of a top level window in
+ rootless mode.
+
+- Reflected name changes to NXImageCache variables.
+
+nxagent-1.5.0-19
+
+- Changed the implementation of the SIGHUP handler to forward the sig-
+ nal to the proxy only when appropriate. This allows nxagent to close
+ the NX connection without having to go through an I/O error on the
+ display.
+
+- Modified nxagentBreakXConnection() to check if the NX transport is
+ running and thus use NXTransDestroy(). Using a simple shutdown() may
+ not work, for example if NX is using the memory to memory transport.
+
+- Added the -D option, to let users specify that agent must be run in
+ desktop mode. This is presently the default.
+
+nxagent-1.5.0-18
+
+- Set the PropertyChange mask on input/output window in rootless mode
+ in order to get the PropertyNotify events.
+
+nxagent-1.5.0-17
+
+- Cleaned of the reconnection routines, removed the NXAGENT_RECONNECT
+ macro.
+
+- Now the SIGHUP handler forwards the signal also to the NX transport.
+
+- Moved the NXTransDestroy() call in the closure of the display, so
+ we can avoid going through the I/O error handler.
+
+- Removed an invalid free in the function that closes the display.
+
+- Commented out more code in Display.c to avoid the segfault on exit.
+
+- In rootless mode, now function XYToWindow() starts search from the
+ last window originated an EnterNotify event. In this way, we can
+ prevent shaded windows from getting mouse events.
+
+- The variable to disable the smart scheduler is set at its definition
+ instead of setting it in the Dispatch function. This avoids the call
+ to SmartScheduleInit.
+
+- Changed implementation of cursor visualization in rootless mode. We
+ made the cursor attributes changes go transparently to the X server
+ while in desktop mode we ignore any client request to change the cu-
+ rsor on the X side, and we just set the cursor on the default window
+ any time the pointer cross a window border.
+
+- Expanded the range of properties exported on the remote Xserver,
+ this way we export properties whose atom name starts with "WM_" and
+ "_NET_".
+
+- In Rootless mode PropertyChangeMask is added to top level window in
+ order to get PropertyNotify Events.
+
+- First implementation in rootless mode of nxagentImportProperty fun-
+ ction with which after reception of PropertyNotify Events, all chan-
+ ging properties coming from external clients such as Window Manager
+ will be imported in agent windows.
+
+- Changed the GetEventMask function in order to handle the InputOnly
+ windows that need to be notified of property changes in rootless
+ mode.
+
+nxagent-1.5.0-16
+
+- Implemented the -B command line switch, to let nxagent impersonate
+ a "pure" proxy on the NX server side (that is without X connections
+ having to be managed by the nxagent's dispatcher). Such a "nxagent
+ -B" is going to replace the corresponding nxproxy process that in
+ previous version of NX server was run with the same options.
+
+- When running nxagent in 'bind' mode the X port where the the proxy
+ has to listen for connection must be specified after the -B option.
+ The other NX options must be passed in the DISPLAY environment.
+
+ Example:
+
+ nxagent -B :9
+
+- The initialization procedure will check that the display included
+ on the command line matches the one specified in the NX display
+ options.
+
+ For example, given the command:
+
+ nxagent -B :9
+
+ The NX options must be something like:
+
+ DISPLAY=nx/nx,link=modem:9
+
+ This allows users to find out which display the agent is impersona-
+ ting by running a 'ps' and inspecting the command line.
+
+- Fixed a bug preventing the proxy's ClientMessage to reach the right
+ function when activating rootless mode.
+
+- Removed unused function nomachineLogo.
+
+- Code cleaning and soem optimizations in Rootless.c.
+
+- We want to import all properties changed by external clients to our
+ internal windows. But we must ignore property notify generated by
+ our own requests. For this purpose we implement a list to record
+ every change property that we dispatch. This way when processing
+ a property notify we can distinguish between the notify generated
+ by our request and those generated by an 'outside client'.
+
+- In rootless mode, optimized window configurations mantaining inter-
+ nal stacking order.
+
+- Fixed focus troubles in rootless mode. Now focus window is set fol-
+ lowing FocusIn events.
+
+- In rootless mode, now fake KeyRelease events on FocusOut are sent
+ only if keys having down state are modifiers. This prevents from
+ sending key events to a wrong client.
+
+- Removed unused function nxagentRootlessNextSibling in Rootless.c.
+
+- Removed unused function nxagentRootlessStackingOrder in Rootless.c.
+
+- Fixed compilation error if TEST log is enabled in Events.c.
+
+- Changed Options variables to comply with NX naming rules.
+
+- Some additional cosmetic changes.
+
+nxagent-1.5.0-15
+
+- Modified functions nxagentPutImage and DoGetImage for XYPixmap fo-
+ rmat.
+
+- Completed implementation of shared memory extension.
+
+- Implemented a mechanism that prevents monitoring of SubStructure-
+ Redirect ResizeRedirect and ButtonPress events by any clients simu-
+ lating the presence of a window manager running inside the agent.
+
+- Added debug functions in order to check the status of syncroniza-
+ tion between the pixmaps residing on the X server and the local
+ framebuffer ones.
+
+- Changed the policy used when realizing all the pixmaps in 'lazy en-
+ coding' mode so that the agent now switches to 'eager' policy.
+
+- Fixed the routine handling the pixmaps realization: pixmaps with
+ an invalid id are not processed anymore.
+
+- Solved a bug in the routine taking care of clearing the NoMachine
+ logo: the state of the background was set to 'pixel' without de-
+ stroying an eventual backround pixmap.
+
+- Solved a bug in the 'MakeRootTile' function: the value returned by
+ 'AddResource' was not interpreted in the correct way causing the
+ function to bail out without drawing the NoMachine logo and set-
+ ting the background state to Pixmap.
+
+- Renamed PlaceHolder.c to Lazy.c and PlaceHolder.h to Lazy.h.
+
+- Inserted a test feature that cleans the framebuffer pixmaps when
+ they are created.
+
+nxagent-1.5.0-14
+
+- Changed some reconnection messages.
+
+- Now the disconnect procedure is called also after an IO Error is
+ received.
+
+- The rootless agent now doesn't filter anymore keystrokes combina-
+ tion related to desktop feature, like viewport navigation the full-
+ screen state and minimization.
+
+- In rootless mode, internal stacking order is updated by comparing
+ the stack of top level windows mantained by the X server with the
+ one mantained by the agent. A global configuration of windows is
+ performed from top to bottom through the stack.
+
+- In rootless mode, map state of top level windows is kept up to date
+ by managing map and unmap events.
+
+- In rootless mode, enter events are managed to keep track of top
+ level window position. It is very useful for managing differences
+ among window manager behaviours. It should be reimplemented follo-
+ wing the advice given in ICCCM 4.1.5.
+
+- In rootless mode, requests of configure top level windows are di-
+ rectly forwarded to the real X server. Internal configuration is up-
+ dated when configure events are managed by the agent. In order to
+ mantain internal stacking order up to date, a query tree request is
+ performed on the real root window.
+
+- Added viewport navigation by Ctrl + Alt + keypad arrows.
+
+- Fixed wrong internal configuration of agent top level windows, while
+ agent runs in rootless mode with metacity window manager.
+
+- Fixed segmentation fault in nxagent running in rootless mode with
+ OpenOffice.
+
+- Fixed wrong internal stacking order of drop down menus of firefox
+ with nxagent in rootless mode.
+
+nxagent-1.5.0-13
+
+- Fixed compilation problem on solaris.
+
+- Modified the modify pixmap header function. Previously this function
+ has been modified in order to solve a glyph problem, enlarging both
+ the pixmaps dimensions by four. Corrected the misbehaviour that
+ modify the pixmaps dimension even if the caller doesn't want to
+ change it.
+
+nxagent-1.5.0-12
+
+- Fixed erroneous behaviour of Root Window in fullscreen mode caused by
+ wrong value of XSpan and YSpan.
+
+- Fixed wrong clients' position at Reconnection in Rootless mode,
+ setting offset and WinGravity fields in XsizeHints structure.
+
+- Fixed segmentation fault on closing windows that stay always on top.
+
+- Moved the handling of configure notify events in the appropriate
+ functions, and cleaned it.
+
+- In rootless mode, internal stacking order of top level windows is
+ mantained up to date by monitoring events from window manager top
+ level windows.
+
+- Modify the creation of screen at reconnection for detecting an
+ eventual failure.
+
+- Removed export of window properties on the X server in desktop mode.
+
+- Changed the events mask for client's window set on the X server.
+ We don't use anymore the window mask choosen by clients. In rootless
+ mode for a top level window we use the default event mask and for a
+ child only the exposure mask.
+
+nxagent-1.5.0-11
+
+- Restored default event mask at reconnection.
+
+- Fixed abnormal behaviour in rootless mode if application windows are
+ close to the lower and right bounds of the screen. This trouble was
+ due to the wrong size of the agent root window.
+
+- Fixed abnormal behaviour in rootless mode for mouse button events if
+ the application window is not fully contained in the screen.
+
+- In rootless mode, exposed region are extended a few to take in ac-
+ count border width offsets caused by window managers.
+
+- In rootless mode, grab pointer requests from clients are forwarded
+ to X server. This makes application able to close their pop up win-
+ dows on a pointer event.
+
+- Fixed wrong position of the agent root window after resize of main
+ window.
+
+- Changed the size of viewport frame windows in order to avoid re-
+ freshing problems.
+
+nxagent-1.5.0-10
+
+- Handled the Client messages on rootless mode.
+
+- Initializations of event masks have been moved in a unique group of
+ functions.
+
+- Disabled the SmartScheduler in dispatcher as it seems to affect the
+ responsiveness of nxagent.
+
+- Modified the block and wakeup handlers. We could have left data to
+ write to our display connection when entering in WaitForSomething()
+ so we now flush everything before entering the select() and let the
+ proxy do all the buffering.
+
+- Fixed the wakeup handler to match the correct prototype.
+
+- Few cosmetic changes.
+
+- Inserted a test feature that cleans the framebuffer pixmaps when
+ they are created.
+
+- Adjusted pixmap status information in almost every gc operations.
+
+- Removed a warning for usleep not defined on Suse 9.0.
+
+- Adjusted pixmap status information in copy plane operations.
+
+- Throwed fatal error if on lazy encoding the place holder pixmap
+ couldn't be loaded.
+
+- Removed the static path to xpm file in place holder initialization.
+
+- Removed useless signal handler initialization multiple times.
+
+- Refined validation of atoms in the atom cache code.
+
+- Corrected few errors in atom cache initialization.
+
+- Added a primitive atom cache that mantain the map between internal
+ and external atoms.
+
+- Window properties export began on the X server side in rootless
+ mode, this way nxagent open the communication between local clients
+ and the window manager on the X server.
+
+nxagent-1.5.0-9
+
+- Fixed wrong position of the main window in case of maximizing in
+ window mode.
+
+- Set the correct scan line lenght for XYPixmap created in PutImage
+ and GetImage.
+
+- Removed a segmentation fault in GetDefaultImage. The problem arose
+ because the XYPixmap created with a data storage taking in account
+ of only some planes instead of all the depths planes. Despite XPut-
+ Pixel was treating the image as a complete XYPixmap of that depth.
+
+- Removed MapWindow Error at reconnection caused by wrong value of
+ IconWindow.
+
+- Now nxagent_WM_START is intialized as soon as the Atoms are
+ queried.
+
+- Removed Geometry restrictions.
+
+- Changed the configuration of the agent window in window mode.
+
+- The agent window is correctly reconnected even if is resized.
+
+nxagent-1.5.0-8
+
+- Updated copyright notices.
+
+- Removed a segmentation fault in font cache cleaning routine. The
+ problem arise when the session is disconnected and the font struct
+ are not allocated.
+
+- Used the return mask of XParseGeometry to correctly set only the
+ parameters that are involved.
+
+- Unified the initialization of all the geometry related parameters.
+
+- Updated the offset of the four viewport frames windows at recon-
+ nection.
+
+- Changed the way the geometry parameter is used. Now the first time a
+ session is started it set the internal dimension of the agent root
+ window, afterwards it only affects the dimension of the external
+ window on the X server.
+
+- Corrected splash screen offset at reconnection in fullscreen mode.
+
+- Agent can be launched in fullscreen mode and his geometry can differ
+ from the X server geometry.
+
+- Now Width and Height options are used to store geometry of the
+ default window even on fullscreen mode, and to restore the correct
+ dimension when switching back to window mode from fullscreen
+ we added two more options.
+
+- Removed an error in the move viewport procedure that didn't upgrade
+ the offset of the internal root window when the external root win-
+ dow was maximized.
+
+- Unified the initialization of all the geometry related parameters.
+
+- The window manager detection procedure is now started whenever there
+ is an attempt to minimize the fullscreen window or to pass to window
+ mode.
+
+- Function's optimization for detecting if WM is running.
+
+- Switching to window mode has been disabled when the window manager
+ is not running.
+
+nxagent-1.5.0-7
+
+- Now background pixel is not reset at reconnection.
+
+- Now geometry is parsed also as a command line parameter.
+
+- Fixed wrong offset of the root window after a reconnection in case
+ of window mode.
+
+- Fixed wrong geometry of the nxagent window after a reconnection
+ in case of window mode.
+
+- Fixed wrong position of the main window after a reconnection in
+ case of fullscreen mode.
+
+- Fixed refreshing windows problems in viewport navigation. Four in-
+ visible windows are created around the agent window to automatica-
+ lly generate exposure when the viewport frame is moved or a windows
+ come out from the non visibile part of the agent window.
+
+- We need to store the GC records in a list that will be freed in case
+ the reconnection succed and will be restored in case of failure. We
+ have to do this because we cannot destroy the GC records in the
+ disconnect or reconnect procedure, because this way we couldn't
+ recover from a disconnection or a reconnection failure.
+
+- Rewritten the reconnection procedure. Since we cannot be sure
+ that the reconnection will succed we cannot destroy the display
+ structure, so we postpone the closing of the previous display
+ with the creation of the new connection.
+
+nxagent-1.5.0-6
+
+- Adjusted usage list in order to show the R parameter for rootless
+ mode.
+
+- Added handling of display parameter to option file.
+ Corrected few typos error, in option file parsing.
+
+nxagent-1.5.0-5
+
+- Removed error that prevented the realization of cursor in eager
+ mode.
+
+nxagent-1.5.0-4
+
+- Fixed abnormal behaviour of termination dialog, after the keystroke
+ Ctrl + Alt + T.
+
+- Fixed segmentation fault in function parsing option file.
+
+- Fixed various errors on eager encodings.
+
+- Added lazy command line switch in order to switch lazy encoding
+ on.
+
+- Code cleaning.
+
+- Implemented a signal to switch between two pixmap
+ realization policies.
+
+- Corrected an error while defining pixmaps status.
+
+- Implemented a debug feature, consisting in a method that pushes
+ the synchronized realization of all the pixmaps.
+
+- Began implementation of place holders in replacing of images while
+ they are being loaded.
+
+- Performed some changes on spreading of pixmaps status information
+ on copy area.
+
+- Began implementation of lazy encoding.
+
+- Changed version to 1.5.0.
+
+nxagent-1.5.0-3
+
+- Removed the option -nogetimage (FRSA052305).
+
+- Code cleaning in Font.c.
+
+- Removed NXAGENT_FONTMATCH macro.
+
+- Removed NXAGENT_FONTCACHE macro.
+
+- Handled the ReparentNotify event we get when in rootless mode
+ ours window are reparented from the window manager. Inserted
+ fake windows to take account of this new parents.
+
+- Removed the redirection of client message in rootless mode, and
+ the configuration of the WM_PROTOCOLS properties on all the top
+ level windows.
+
+- Removed parent ID from the windows private structure.
+
+- Implemented screen operation ReparentWindow.
+
+- Redirect all client message of type WM_PROTOCOLS and value WM_DELETE-
+ _WINDOW to internal clients in rootless mode.
+
+- Set the WM_PROTOCOLS property on all the top level window.
+
+nxagent-1.5.0-2
+
+- Changed viewport navigation, in order to make it works in fullscreen
+ mode.
+
+- Changed special keystrokes used for closing session and minimizing
+ fullscreen window.
+
+- Removed the message 'NX was unable to negotiate a cache
+ for this session' (FRSA052296).
+
+- Fixed a minor bug. It made metacity produced a warning when the agent
+ started up.
+
+- Code cleaning.
+
+- Implemented dynamic handling of the main window's size in the X11
+ agent (FRSA052264).
+
+- Implemented dynamic navigation of the main window's viewport in the
+ X11 agent (FRSA052265). Users can navigate the viewport while keys
+ Ctrl + Alt are pressed, either by arrows keys or dragging it by the
+ pointer.
+
+- Implemented dynamic handling of the full-screen attribute in the
+ X11 agent.
+
+- First implementation of dynamic handling of the full-screen
+ attribute (FRSA052263).
+
+- Now the X connection descriptor is not closed when disconnected,
+ because the transport layer still has reference to it. So we want
+ it busy till we don't close the display, so we shutdown it instead
+ of closing it.
+
+- Removed replys when disconnected.
+
+- Added the X connection number to the set of enabled input devices, at
+ reconnection.
+
+- Rewritten the disconnect/reconnect layout.
+
+- Now in the suspend status nxagent doesn't sleep.
+
+- Implementing toggle fullscreen special keys.
+
+nxagent-1.5.0-1
+
+- Opened the 1.5.0 branch.
+
+nxagent-1.4.1-7
+
+- Imported changes from nxagent-1.4.0-64 version.
+
+nxagent-1.4.1-6
+
+- Implemented a GC cache for reconnecting pixmap.
+
+nxagent-1.4.1-5
+
+- Handled the situation of disconnect when the pointer has been grabbed.
+ We disconnect and reconnect the "grabbing" cursor and after reconnection
+ we fake a button release in order to let client know that the pointer
+ button has in effect been released.
+
+- Code cleanup.
+
+nxagent-1.4.1-4
+
+- Imported changes from nxagent-1.4.0-63 version.
+
+nxagent-1.4.1-3
+
+- Imported changes from nxagent-1.4.0-62 version.
+
+nxagent-1.4.1-2
+
+- Cleaned code in the GC reconnection area.
+ Scratchs GC are now reconnected before of the pixmaps.
+
+nxagent-1.4.1-1
+
+- Opened the 1.4.1 branch.
+
+nxagent-1.4.0-65
+
+- Cosmetic changes to the diagnostic output.
+
+nxagent-1.4.0-64
+
+- Changed the RENDER version advertised to X clients to be the lowest
+ value between the version of RENDER of nxagent and of the remote X
+ server.
+
+- Disabled fast copy area and fast get image flags, if RENDER extension
+ is not available.
+
+- At the screen initialization, if we don't have window manager we
+ grab keyboard to let nxagent get keyboard events.
+
+- Completely rewritted the handling of KeyPress events, now we moved
+ all the test for 'special' keybindings in file keystroke.c. Added the
+ combination MOD1/2-CTRL-SHIFT-<TAB> for terminate/suspend the session,
+ we used the combination MOD1/2 in order to let it work even on MacOS
+ where Alt(MOD1) doesn't seem to be set.
+
+- Ignored visibility notify events on the icon windows, that were
+ messing up the agent visibility state.
+
+- Changed nxagent reaction on VisibilityNotify event. It fixed the
+ problem with refresh session under Mac OS X with NXDarwin.
+
+nxagent-1.4.0-63
+
+- Reset the congestion state at transport initialization.
+
+nxagent-1.4.0-62
+
+- Fixed the disconnection and reconnection of window that have attached
+ an animated cursor.
+
+nxagent-1.4.0-61
+
+- Removed the XInputExtension initialization in order to use the more
+ general mi extension initialization enabled on new mi version.
+
+- Removed some useless test and logging info on copy area function.
+
+nxagent-1.4.0-60
+
+- Changed the implementation of CopyArea and CopyPlane.
+ If both drawables are on framebuffer we send NoExpose to clients,
+ otherwise we use the mi function HandleExposure to calculate the
+ region to be exposed instead of let mi redo all the copy operation.
+
+nxagent-1.4.0-59
+
+- Disabled use of caching and cleaning of images, if NX transport is
+ not used.
+
+nxagent-1.4.0-58
+
+- Added timeout on convert selection operation. If timeout has not
+ expired and is there a pending operation any new request is dropped
+ and the client notified, until timeout expiration.
+
+- Corrected a bug that prevented to correctly store last convert se-
+ lection request time.
+
+nxagent-1.4.0-57
+
+- The Xinput extension is now initialized at startup. This is of
+ little use because nxagent only needs to support the core pointer
+ and keyboard. Anyway this allows nxagent to get rid of the warn-
+ ings printed by some X clients on recent Linux versions when the
+ extension is not found.
+
+nxagent-1.4.0-56
+
+- Fixed value returned by ConvertSelection. It was the cause of
+ possible slowndowns during KDE sessions.
+
+nxagent-1.4.0-55
+
+- Agent icon now is loaded from a binary-
+ embedded Xpm image, if any attempt to
+ load the default Xpm file from the image
+ directory or from the path fails.
+ Removed code used in the old logo drawing
+ function.
+
+nxagent-1.4.0-54
+
+- Enabled code for sending to client graphics
+ exposures. Redirecting the ones coming from
+ remote X server, only if agent window is not
+ fully visible, and calculating ourselves failure
+ in CopyArea/Plane and notifying clients.
+ The only drawback is that we can have double
+ refresh effect if agent window is covered.
+
+NOTE: Partially enabled MIT-SHM extension has
+ been developed but has not been included
+ in stable release. Included in version
+ nxagent-1.4.0-53-DAR1.
+
+nxagent-1.4.0-53
+
+- Implemented a reliable technic to detect
+ if is there any window manager running on
+ the X server.
+
+nxagent-1.4.0-52
+
+- Fixed a bug that prevented to correctly
+ notify the client of a successfull convert
+ selection.
+
+nxagent-1.4.0-51
+
+- Removed a logging error in render initialization.
+
+nxagent-1.4.0-50
+
+- Now we take the ownership of the selection
+ on "NX_CUT_BUFFER_SERVER" twice, in order
+ to solve bug in communication with nxclient
+ to let him see our main window and know that
+ agent established connection with X server.
+
+nxagent-1.4.0-49
+
+- Fixed the colormask layout of the visual
+ used to put images on the real X server when
+ the drawable has an alpha channel, according
+ to the endianess of the X server.
+
+nxagent-1.4.0-48
+
+- Moved up the render compatibility limit,
+ due to the inclusion of the support for render
+ cursor missing on the 0.2 version.
+
+nxagent-1.4.0-47
+
+- Changing artsd forwarding port from display
+ + 8000 to display + 7000
+
+- Stoping key release event if key press was
+ catched before. For Alt-F2/F4 combination.
+
+- Preserved the alpha data on drawables that
+ are not used by picture but have a depth of 32.
+
+nxagent-1.4.0-46
+
+- Rewritten all the code regarding to the
+ acceleration for the Render creation of the
+ cursor, and removed the acceleration for
+ the animated cursor.
+
+nxagent-1.4.0-45
+
+- The two RENDER operations creating cursors and
+ animated cursors have been accelerated by for-
+ warding the original operation to the X server.
+
+nxagent-1.4.0-44
+
+- Fixed a problem in the clipboard procedure.
+ Now when we get a request of the selection
+ from an internal client we have to, if the
+ owner is on the X server, forward the request
+ to X, otherwise we have to pass the request
+ to our internal client.
+ But for a problem in this procedure we passed,
+ in some situation, the request to the internal
+ client even if the owner was on the other side.
+
+- Fixed a segmentation problem in the render
+ extension by removing composite trapezoid
+ operation on window.
+
+nxagent-1.4.0-43
+
+- Added some pointer sanity check in the discon-
+ nect procedure. The problem was arising because
+ we were executing the code twice when after
+ began a voluntar disconnection the X connect-
+ ion was broken for a network failure.
+
+- Changed directory where nxagent gets the icon.
+
+- Fixed missing implementation of rendering
+ trapezoids.
+
+- Fixed bug in render extension when the nxagent
+ create cursor diffrent then 32 bits format.
+
+nxagent-1.4.0-42
+
+- Solved segmentation fault, caused by a longjmp
+ on a stack context not previously saved.
+
+nxagent-1.4.0-41
+
+- Added an exposures of the window in a resize
+ operation.
+
+nxagent-1.4.0-40
+
+- Implemented a timeout on the opening of the X
+ display, if we get it we reject all well known
+ sockets.
+
+nxagent-1.4.0-39
+
+- Corrected minor error on events handling.
+
+nxagent-1.4.0-38
+
+- Removed in the resize window code some exposure
+ that generated useless traffic.
+
+- Option geometry is no more parsed in the option
+ file.
+
+nxagent-1.4.0-37
+
+- When session is suspended and we get TERM signal
+ nxagent just exit instead of just breaking out of
+ dispatch loop because we get a terminate exception.
+ Cleared display variable after having closed the
+ connection with the X server.
+
+nxagent-1.4.0-36
+
+- Refined some details in the ICC with nxclient.
+
+nxagent-1.4.0-35
+
+- Implemented a new method to comunicate to nxclient,
+ the raise of the agent root window, taking the ownership
+ of the selection "A-{MD5 of session}".
+ Used the same selection to let nxclient comunicate to agent
+ by changing the property on the same string, when the user
+ choose by the administrator to terminate or suspend the
+ session.
+
+nxagent-1.4.0-34
+
+- Key sequence to Suspend/Terminate session (Alt-F4).
+
+- Key sequence to Minimize session in fullscreen mode (Alt-F2).
+
+- Check if WM is started, for Alt-F2 sequence.
+
+- Corrected calculation geometry of exposed region
+ sent to client after reconnection.
+ This solve a serious memory leak of nxagent.
+
+- Fixed a bug in validate GC code that passed
+ a wrong pointer of tile to framebuffer.
+
+nxagent-1.4.0-33
+
+- Changed the reconnection state machine in order
+ to let agent exit if has got the TERM signal.
+
+nxagent-1.4.0-32
+
+- Fixed memory leak in option parser that wasted
+ memory if more than one occurence of 'option'
+ argument would have been parsed.
+
+- Removed a invalid read in Keyboard initialization.
+ Now kbtype option value is copyed instead that
+ referenced.
+
+- The X connection number is recorded only after
+ having cheched for display being successfully opened.
+
+nxagent-1.4.0-31
+
+- Fixed memory leak problem caused by region not
+ beeing destroyed previously.
+
+- Fixed a memory leak in keyboard initialization.
+
+- Fixed a bug in the function that parse the option file,
+ we were reading the options in the format NAME=VALUE and
+ were passing it to the argument parser in the format
+ {NAME, VALUE}, without the prepending '-' in front of NAME.
+
+nxagent-1.4.0-30
+
+- Readded option persistent in order to let nxagent
+ works with older nxserver that are still launching
+ nxagent with the persistent option.
+
+nxagent-1.4.0-29
+
+- Corrected the message of the client dialog
+ asking if user want to suspend or terminate the
+ session.
+
+- Chenged the default value for persistence of session
+ in nxagent to true. Change the persistent option to
+ nopersistent in order to disable it.
+
+nxagent-1.4.0-28
+
+- Added check on screen initialization of possible
+ memory allocation failure.
+
+- Changed the parsing policies of the option file.
+ Now we are just considering kbtype and geometry
+ options.
+
+- Removed testing code that forced rootless mode
+ when geometry is 100X100.
+
+- Correctly initialized and mapped the icon window
+ on fullscreen mode.
+
+nxagent-1.4.0-27
+
+- Fixed lost memory problem caused by second
+ initialization of screen privates. Screen
+ privates is already initialized by miScreenInit
+ function.
+
+nxagent-1.4.0-26
+
+- Added option command line option. This parameter
+ is used to show complete path to option file.
+
+- Added parser of the option file.
+
+- Now default value for fast copy area and fast
+ getimage is true.
+
+nxagent-1.4.0-25
+
+- Done some cleanup to the initialization of the
+ defaults drawables at reconnection, and removed
+ a memory leak in the reopening of the Display.
+
+nxagent-1.4.0-24
+
+- Changed the version number, printed at startup.
+
+- Removed a memory leak in the font reconnection stage.
+
+nxagent-1.4.0-23
+
+- Removed a bug that messed up the render status info
+ if reconnected to a display with no render support.
+ Anyway nxserver should prevent agent to trying reconn-
+ ecting to such display.
+
+nxagent-1.4.0-22
+
+- Enhanced the reconnection error reporting function.
+
+nxagent-1.4.0-21
+
+- Get the ownership of selection NX_CUT_BUFFER_SERVER at reconnection
+ in order to let client knows that agent windows has started
+ successfully.
+
+nxagent-1.4.0-20
+
+- Now we draw splash logo at reconnection. And destroy it and show
+ all other windows when reconnection has done all in once. We draw
+ it on default window instead that on root window, and we map root
+ window when reconnection has finished.
+
+nxagent-1.4.0-19
+
+- Removed the old Xconnection descriptor and added the new one
+ to the device set, instead of resetting the entire enabled
+ device set, at reconnection.
+
+nxagent-1.4.0-18
+
+- Reset the enabled devices set of descriptors, and properly
+ add to this set the the Xconnection descriptor.
+
+NOTE: This solves all the known solaris reconnection problems.
+ (The problem appear only on solaris because on this machine
+ the Xconnection descriptor is changing at reconnection.)
+
+nxagent-1.4.0-17
+
+- Restored the previously owned primary selection, at reconnection.
+ Removed the handling of the return value of XSetSelectionOwner,
+ man page doesn't specify any return value.
+
+nxagent-1.4.0-16
+
+- Added compatibility with older windows clients(Xserver)
+ that send a WM_DELETE_WINDOW client message WM_DELETE_WINDOW
+ to all top level window and so agent show more than one
+ NXDialog asking for confirmation, instead of sending just the
+ message to top level window that are visible and haven't set
+ the override redirect option.
+
+nxagent-1.4.0-15
+
+- Ignored unmatched DirectColor visuals at reconnection
+ on a different display not providing it.
+
+nxagent-1.4.0-14
+
+- Moved the render query extension in display
+ initialization from screen initialization.
+
+- Changed reconnection policy to disallow reconnect a
+ session that is using render to a server not providing it.
+
+nxagent-1.4.0-13
+
+- Unified the screen opening function.
+
+- Changed the reconnection requirements
+ policy about geometry of X server.
+ Now agent doesn't accept changes of X server
+ root window size only if in fullscreen mode.
+
+nxagent-1.4.0-12
+
+- Improved failure notification messagges in Display and
+ font code.
+
+nxagent-1.4.0-11
+
+- Now visuals are properly recreated, in order to reconnect
+ to another X server.
+
+- Updated render formats at reconnection.
+
+nxagent-1.4.0-10
+
+- Removed a serious memory leak at reconnection.
+
+nxagent-1.4.0-9
+
+- Added after window reconnection the redisplay of the current
+ cursor. Done some general cleanup at cursor reconnection code.
+
+nxagent-1.4.0-8
+
+- Unified tha atom creation at reconnect.
+
+nxagent-1.4.0-7
+
+- Dix layer when creating a GC use a default real pixmap as
+ stipple but agent need a virtual one. This can cause
+ segmentation fault to agent if is there any apps that use the
+ default GC stipple created by dix, without changing it.
+
+nxagent-1.4.0-6
+
+- Imported 1.4.0-1-DAR6 from the 1.4.0 development branch.
+
+- Handled reconnection of window's cursor still not
+ reconnected at window reconnection. (This because that cursor
+ is no more a server[nxagent] resource).
+
+- Set the last image client variable at reconnection in order
+ to use the visual cache indexed for client number.
+ Without this we could get a segmentation fault.
+
+- Handled properly the reconnection of animated cursor.
+ Modified the procedure of animated cursor creation
+ in order to empty some unused fields.
+
+- Removed a 4 bytes memory leak at reconnection.
+
+- Synced new tree with nxagent-1.3.2-23.
+
+- Finished the unify of PutImage at reconnection.
+ Added a Reconnection Trap in order to let screen functions
+ (like PutImage) knows that are working at reconnection time
+ and can behave differently.
+
+- Unified the code for the normal PutImage and the one's used at
+ reconnection. But the code that calculate the split is still
+ doubled.
+
+nxagent-1.4.0-5
+
+- Imported 1.3.2-23 from the 1.3.2 development branch, and dropped
+ the previous 1.4.0 versions.
+
+nxagent-1.3.2-23
+
+- Pixel hints are set according to the display's depth. Added the
+ defaults to be used on 16 bits.
+
+nxagent-1.3.2-22
+
+- The pixel hint on Solaris is by default 0xffffff. The value can be
+ overridden by using the -hint option followed by the hex represen-
+ tation of the color, as in -hint 0xaabbcc.
+
+nxagent-1.3.2-21
+
+- Asynchronous GetImages are now disabled. If fast GetImage mode is
+ enabled, agent will always try to guess the pixel to be used for
+ the solid pattern, based, at its best, on the geometry of the pro-
+ vided area. This behaviour can be overridden by passing the -slow
+ parameter on the command line. Slow mode is also the default when
+ selecting WAN or LAN link settings.
+
+- Code cleanup in preparation of the final release.
+
+nxagent-1.3.2-20
+
+- New code uses sigaction to set the SIGHUP handler in persistent
+ mode. Contrarily to signal(), the sigaction call doesn't seem to
+ reset the handler to SIG_DFL after the signal has been caught.
+ This problem seems to be specific of Solaris.
+
+- Client messages of type WM_PROTOCOLS are now handled even when
+ a window manager is not detected at agent startup.
+
+- Removed handling of GraphicsExposure coming fron the real server.
+ Agent will still generate events in the MI. Code dealing with the
+ remote events needs to be better tuned as it seems to cause some
+ troubles with double refreshes.
+
+nxagent-1.3.2-19
+
+- Starting from this version agent doens't use NXSync and NXKarma
+ messages to manage bandwidth arbitration among clients but makes
+ efficient use of the congestion notification messages introduced
+ in 1.3.1. A new handler has been added to manage the congestion
+ state. The handler will block, if needed, waiting for the decon-
+ gestion notification coming from proxy.
+
+nxagent-1.3.2-18
+
+- Rewritten the block handlers to check the event queue more often.
+ The new code seems to greatly enhance responsiveness, especially
+ on fast links.
+
+- Now agent will handle the expose events coming from the remote
+ display inside the event dispatcher.
+
+- Created a new function collecting the expose events. Function is
+ optimized to add all the expose events for the same window to a
+ single region. Region is passed to the mi when the last event
+ has been processed.
+
+- Still dealing with GetImage from OpenOffice. Now we try to match
+ the geometry of the incoming requests with known geometry of most
+ of its graphic elements. It seem to work on Fedora.
+
+nxagent-1.3.2-17
+
+- Added swapping of image data in nxagentGetImage() when connecting
+ to a display having a different image byte order than the agent
+ server.
+
+- Added a new nxagentImageReformat() function in GCOps.c.
+
+- Now agent will not try to pack images having a data size smaller
+ than 768 bytes. The previous threshold was set to 64. The Mandrake
+ vesion of KDE seems to send lot of such small images. Compressed
+ through JPEG, these images obtain a very poor ratio of nearly 1:1.
+
+- Added a function translating and sending the GraphicsExposures
+ events received from the remote server to the agent's clients.
+
+- Renamed the functions providing the ad-hoc handling of remote X
+ events.
+
+nxagent-1.3.2-16
+
+- Implemented a cache for the alpha channel data. With clients
+ making heavy use of the alpha blending, the new cache is able to
+ cut by nearly 30% the traffic incoming to proxy, offering compara-
+ ble savings in CPU performance. While proxy is usually able to
+ cache almost all the alpha traffic, when caching is not enabled
+ (f.e. when link setting is WAN or LAN) this data is sent uncomp-
+ ressed by the agent. Tests running common desktop environments
+ showed that alpha channel could weight up to 2 times the corres-
+ ponding data generated by the packed images.
+
+- Fixed the compilation warnings in NXrender.c.
+
+nxagent-1.3.2-15
+
+- Rewritten handling of GetImage from dispatcher down to GCOps. If
+ the fast GetImage mode is enabled agent will use the asynchronous
+ calls provided by nxcompext to get data from the real server. Data
+ collected from the last get image performed is preserved and the
+ upper left pixel is used to guess a solid background.
+
+- Added a nxagentGetBackgroundImage() function to apply a similar
+ mechanism when the nxagent window isn't fully visible. Previously
+ a solid white background was returned. The new handling seems to
+ correctly match the window background in most cases.
+
+- Fixed a problem passing the bytes per line value when creating a
+ XYPixmap image. The previously calculated value didn't take into
+ account the depth of the image.
+
+- Now image's bytes per line, length and visual are calculated by
+ using a few utility functions added to GCOps.c.
+
+- Added declaration of the nxagentVisibility related variables to
+ Window.h.
+
+nxagent-1.3.2-14
+
+- On Fedora xbcomp configuration fails when agent is run nested.
+ This causes keyboard to ignore most AltGr keys. Strangely enough
+ this behaviour has been observed only with KDE while GNOME does
+ not seem to be affected. Reason is to be investigated.
+
+- Auto-repeat mode of the agent's keyboard device is now always
+ disabled. Agent will leverage auto-repeated keystrokes genera-
+ ted on the real server even when propagating device configura-
+ tion changes.
+
+- The info output telling if agent will propagate the changes to
+ devices' setting is now printed after having initialized the
+ screen. The purpose would be to verify if agent is running in
+ fullscreen mode and there is no WM on the real display. In this
+ case we should forcibly propagate device configuration changes.
+ Unfortunately, due to the way intern atoms are collected, this
+ is not going to work on platforms where sessions are likely to
+ run on an existing X server.
+
+nxagent-1.3.2-13
+
+- Fixed a problem with XYPixmaps being used in PutImage with the
+ wrong left pad. This is a step forward in the solution of the
+ corrupted masks displayed by Mozilla when showing some animated
+ GIFs.
+
+- By selecting 'fast' mode nxagent will now skip real XGetImage
+ operations on windows. This becomes the default in the case of
+ MODEM, ISDN and ADSL links. In theory X clients should never do
+ that. In practice a few naive programs and libraries (like, sur-
+ prisingly enough, a famous Linux office automation suite) do,
+ mainly to compose images with the window's backgound. Why don't
+ they compose content into a Pixmap?
+
+- Improved the implementation of CompositeGlyphs. It now uses a
+ single call to XRenderCompositeText instead of splitting the
+ output in multiple RENDER requests.
+
+- In previous versions file NXmiwindow.o was not linked into the
+ resulting nxagent. This solves the problem of missing repaints
+ in CDE and other Xt applications. Be sure you upgrade nx-X11
+ to version nx-X11-1.3.2-2.
+
+- Added a warning when the change keyboard control or the change
+ pointer control functions are called.
+
+nxagent-1.3.2-12
+
+- Added bit-swapping of glyphs having depth 1 when agent has a
+ different bitmap-bit-order than the X server.
+
+- The KeyRelease event's timestamp calculation, accounting for
+ differences in time between the local and the remote machine,
+ will now use the timestamp taken from the last KeyPress. Using
+ the timestamp of the last event was sometimes causing time to
+ go backward with the result that server could remain grabbed.
+ This solves the long-standing "mouse stop responding" problem.
+
+- Fixed a problem handling the alpha channeled visual introduced
+ while experimenting with the new server endianess layout.
+
+nxagent-1.3.2-11
+
+- Added the Reset option to options repository. By default agent
+ will skip server reset when the last client disconnects. This is
+ equivalent to passing the -noreset option to a standard XFree86
+ server. To restore the original behaviour the new -reset option
+ can be used on the command line.
+
+- Moved the SharedMemory and DeviceControl options to the options
+ repository.
+
+- A basic session, still leveraging all the default facilities, can
+ now be run as: nxagent -name NX -geometry 800x600+10+100 :1. The
+ -fp unix/:7100 option can be added to enable access to the X font
+ server.
+
+- Fixed a "unused variable" warning in Cursor.c.
+
+nxagent-1.3.2-10
+
+- Rootless mode. Some cleanup in initialization.
+
+- Rootless mode. Working at the configure-window errors.
+
+nxagent-1.3.2-9
+
+- Removed limitations when running nxagent nested inside another
+ nxagent server. Now both render extension and packing of images
+ are enabled.
+
+- The nxagent X server now inherits its endianess from the host
+ architecture, instead of assuming the same endianess of the con-
+ necting client. This fixes the remaining problems running ses-
+ sions nested inside another nxagent server.
+
+- Removed any reference to ReformatImage().
+
+nxagent-1.3.2-8
+
+- Changed the way the agent server handles images internally.
+ The inherited Xnest code used to set the server's image order
+ to the same order of the remote X display. This caused agent
+ to create images in the internal frame-buffer with a different
+ endianess in respect to images got from X clients.
+
+- The new image handling code seems to solve all the known image
+ endianess problems, for example cursors created on big-endian
+ displays with a wrong shape or glyphs being showed flipped when
+ retrieving the image data from the virtual frame-buffer.
+
+- As an added bonus the new code seems to double the performance
+ of the SPARC Solaris server when accessing i386 clients.
+
+- Commented out all the existing calls to ReformatImage(). Code
+ needs now extensive testing to see if any of the calls must be
+ actually restored.
+
+- Replaced calls to index() with strchr().
+
+nxagent-1.3.2-7
+
+- Solved a potential memory error when accessing a client or a
+ window pointer in clipboard management code after the resources
+ had been destroyed. Added a nxagentClearClipboard() function to
+ be called before a client or a window is destroyed to get rid
+ of any reference to the disposed resources.
+
+- Auto-repeated keystrokes generated by agent from inside the
+ virtual keyboard device are now ignored. Agent will correctly
+ honor auto-repeated keystrokes generated by the real X server.
+ This is actually the expected behaviour. The former implemen-
+ tation triggered an annoying bug, with keystrokes being inad-
+ vertedly auto-repeated in the case of high latency on the
+ network link.
+
+- Agent will now ignore the pointer settings changes generated
+ inside the remote session. The original behaviour was to reset
+ the pointer values (for example acceleration) to the X factory
+ settings at session startup. Agent will now inherit whatever
+ values are set on the real X display.
+
+- Added a -noignore parameter. When passed, agent will propagate
+ to the real X server any change to keyboard and pointer control
+ settings operated by its own X clients.
+
+nxagent-1.3.2-6
+
+- Fixed problem with glyphs being drawn clipped in the virtual
+ frame buffer. This is not yet the final solution but it seems
+ to work in all the circumstances where problem was observed
+ in the past. Problem seems to be caused by scratch pixmaps
+ being requested with a width and height smaller than actually
+ required. Note anyway that pixmap's buffer seems to be never
+ accessed beyond its boundary. This probably means that memory
+ for the pixmap is originally allocated using the right size.
+
+- Moved backing-store selection to options repository. Now by
+ default the backing-store mode is set to WhenRequested. This
+ means that, in most cases, there is no need to pass the -bs
+ option on the command line.
+
+- Code cleanup in Render.c, NXrender.c, NXglyph.c.
+
+nxagent-1.3.2-5
+
+- Fixed initialization of all the supported depths. Previous
+ versions correctly initialized the various depths but still
+ failed to advertise the support of any other depth than the
+ default depth supported by the remote X server.
+
+- Persistent mode. We now correctly propagate the pixmap ID of
+ the parent to the virtual pixmap at reconnection. This fixes
+ the reconnection errors when render extension is enabled.
+
+- Persistent mode. Solved the refresh problems at reconnection.
+ Problems were generated by the lack of window parent's ID at
+ the time session was reconnected.
+
+- Changed the agent's behaviour at the time the close button is
+ pressed. If agent is running in persistent mode a new dialog
+ is showed with the option to suspend the session.
+
+nxagent-1.3.2-4
+
+- Persistent mode. At the time the proxy connection is reset the
+ per-client unpack geometry information is cleared. This makes
+ agent find out that a new unpack geometry is needed as soon as
+ the display is reconnected.
+
+- Persistent mode. Lot of logging added in order to trace use of
+ resources as long as they are recreated. The current version
+ fails to correctly restore the picture information when render
+ is enabled.
+
+nxagent-1.3.2-3
+
+- Finally fixed all the problems with missing initialization of
+ pixmap formats. The screen info is now correctly set up even
+ when the remote display doesn't support all the target depths.
+ Many thanks to Michael L Torrie who helped me to reproduce the
+ problem and come to a solution.
+
+- Moved initialization of depths, default drawables and pixmap
+ formats to their own functions in Display.c.
+
+nxagent-1.3.2-2
+
+- Fixed the nxagentDestroyPixmap() function to correctly take into
+ account the reference counter of the virtual pixmaps. This solves
+ the crashes observed when running some GTK clients like xchat.
+
+- Added a function Pixmap.c to forcibly destroy the pixmaps created
+ in the virtual framebuffer when the parent pixmap is destroyed.
+
+- This version contains some verbose output intended to better test
+ the new behaviour. The output will be removed in future versions.
+
+nxagent-1.3.2-1
+
+- More cleanup in Pixmap.c.
+
+- Rewritten nxagentCreatePixmap(). Corrected an error where the
+ bitsPerPixel field was set to the pixmap's depth instead of the
+ result of BitsPerPixel(depth). This finally solves the problem
+ of text being incorrectly rendered in the virtual framebuffer.
+
+- Corrected the X error returned at the end of session when trying
+ to free a pixmap with an invalid id.
+
+- Opened the 1.3.2 branch.
+
+nxagent-1.3.1-32
+
+- Cleanup of Pixmap.h/Pixmap.c. Renamed macros according to the
+ nxagent naming conventions.
+
+nxagent-1.3.1-31
+
+- When running in fullscreen mode, grab and ungrab of pointer and
+ keyboard is performed in new functions, placed in Events.c.
+
+- The event loop now checks if the enter/leave notify carries a
+ NotifyInferior detail and, in this case, doesn't perform the grab.
+ This saves half the amount of grabs (and the related roundtrips)
+ performed by the previous version.
+
+- Ungrab of pointer is now performed whenever the cursor leaves the
+ fullscreen window. In previous version only the keyboard was
+ explicitly ungrabbed.
+
+- Added a warning in the event loop when receiving a MappingNotify.
+ This event is presently unhandled and seems to be reported, as a
+ consequence of the selected event mask, only by some X servers.
+
+nxagent-1.3.1-30
+
+- Reverted the patch introduced in Pixmap.c. The whole issue is
+ being investigated in its ramifications up to the virtual frame
+ buffer.
+
+nxagent-1.3.1-29
+
+- Fixed a problem in the nxagentDestroyPixmap function where the
+ reference counter of pixmaps could be decremented twice. This
+ could lead to agent trying to free the pixmaps more than once.
+
+- On Solaris there is no description for pc105 keyboard model. As
+ a workaround we consider pc104 to be the closest approximation.
+
+nxagent-1.3.1-28
+
+- Fixed a bug in the create window procedure. With some clients,
+ like Maelstrom and xmame, the creation of the main window was
+ failing due to the wrong colormap and visual attributes used
+ by agent on the real X server.
+
+- In fullscreen mode the keyboard is now grabbed at the time we
+ receive an EnterNotify event. This fixes a problem at startup
+ observed on some Debian based distributions where agent didn't
+ receive the keyboard focus until user had minimized and then
+ brought to front the agent's window. The grab is now correctly
+ performed by using the timestamp of the remote X server ins-
+ tead of our local timestamp.
+
+- In NXdixfonts.c strings corresponding to names of fonts and
+ font aliases cached by nxagent were missing the terminating
+ zero.
+
+- In function InitClientPrivates fixed the missing initializa-
+ tion of the is_ignored member of the ClientPriv structure.
+
+- Added the Persistent option to Options repository. The flag is
+ intended to replace the old nxagentEnableReconnect variable.
+
+nxagent-1.3.1-27
+
+- Fixed a memory allocation problem in Keyboard.c. A string was
+ allocated in the heap without making enough room for the trail-
+ ing zero.
+
+nxagent-1.3.1-26
+
+- Added further run-time checks to verify that pixmaps are not
+ created with bad bit-per-plane settings. This problem seems to
+ be caused by lack of support by nxagent of some combinations
+ of depth and visual when the render extension is enabled. If
+ this is the case, hide the render extension to new clients and
+ force any subsequent render operation to return a BadRequest
+ error. This required including extension.c from dix. A new
+ NXextension.c file is added to the distribution.
+
+- A problem was reported by Valgrind about reading the first 4
+ bytes just after the block allocated in fbCreatePixmap from
+ nxagentCreatePixmap. A quick fix was added to pixmap.c from
+ dix so that AllocatePixmap adds 4 additinal bytes to each
+ buffer.
+
+nxagent-1.3.1-25
+
+- Fixed a memory corruption error. The original AllocateGlyphSet
+ from render/glyph.c could be called instead of the NX counter-
+ part defined in NXglyph.c. This could lead to the missing
+ allocation of the trailing remote glyphset id field.
+
+- Added initialization of an otherwise usused string in function
+ nxagentPropagateArtsdProperties(). The whole string is probably
+ to be removed in future versions.
+
+- Moved the flag used to avoid reentrancy in GCOps to a separate
+ Trap header and source.
+
+- Further cleanup. Removed the zombie file NXglyphcurs.h.
+
+- Added missing initialization of the picture pointer in private
+ window's data in nxagentCreateWindow.
+
+nxagent-1.3.1-24
+
+- Added the missing timeout when calling WaitForSomething() at
+ startup. The bug caused the splash to remain on screen until
+ a further event was received.
+
+- Fixed a BadAtom error on Windows during initialization. Error
+ was caused by a bad attempt to change the NX_AGENT_SIGNATURE.
+
+- Hunting the 0 bits-per-plane drawable bug in nxagentValidateGC.
+ Added tracing output and additional checks. GC validation is
+ skipped if it is not possible to recover an appropriate value.
+
+- Ensured that nxagentDisplayName is set before calling the post
+ initialization procedure.
+
+nxagent-1.3.1-23
+
+- When session is run nested inside another NX X agent, all the
+ optimizations regarding remote expose events on fully visible
+ windows are disabled. This solves the refresh problems encoun-
+ tered when covering the nested session with a window from the
+ local X server.
+
+- Reusing NX_AGENT_SIGNATURE atom to detect nested operation.
+ Atom is created internally to the agent server at startup,
+ before any atom on the real display.
+
+- Fixed construction of caption used for dialog boxes spawn by
+ agent. The previous algorithm failed to identify the correct
+ string in parameter -name passed on the command line.
+
+nxagent-1.3.1-22
+
+- Ensured that state of keyboard modifiers is initialized with
+ values from the real X server when the first key stroke is
+ pressed by the user.
+
+- Fixed the X_SetInputFocus errors generated at session startup.
+
+- Rootless mode. Ensured that remote expose events are always
+ reported by the remote proxy. This is a temporary fix looking
+ forward for better handling of visibility events.
+
+nxagent-1.3.1-21
+
+- Saved a GetWindowAttributes and a GetGeometry in the function
+ drawing the splash screen.
+
+- Better handling of splash at startup. Removed the flickering on
+ Windows without recurring to another atom. This is achieved by
+ optimizing drawing and delaying mapping of the main windows.
+
+- Modified the magic values activating rootless mode to 100x100.
+
+- Removed modifications introduced in 1.3.1-20.
+
+nxagent-1.3.1-20
+
+- Working on eliminating the splash screen flickering on Windows
+ and Darwin. Checked if the NX_SPLASH atom has been created by
+ the NX X server. If this is the case, we let the NX X server
+ show the splash screen on our behalf.
+
+nxagent-1.3.1-19
+
+- Improved the initialization phase by removing a GetProperty, an
+ InternAtom and two GetInputFocus round-trips.
+
+- Added appropriate masking of the state bits reported by the
+ XkbStateNotifyMask event.
+
+- Added a simple mechanism during the itialization phase to trace
+ the use of X server replies.
+
+nxagent-1.3.1-18
+
+- Made some order in functions loading the NX icon.
+
+- Removed some more zombie files from agent distribution. Now only
+ the files imported from DIX and MI have name prepended with NX.
+
+nxagent-1.3.1-17
+
+- Moved names and values of intern atoms created by agent in their
+ specific header and source.
+
+- We temporarily force rootless mode if user provides a geometry
+ of 801x601. This is intended to simplify testing. Note that if
+ rootless is selected, we'll anyway disregard any geometry set
+ by the user, assuming the geometry of the real display.
+
+nxagent-1.3.1-16
+
+- We are checking now whether NX_IDENTITY intern atom is created
+ before NX_SPLASH. We want NX X servers to show the splash on our
+ behalf, so if NX_SPLASH is already interned, than we just skip
+ the splash procedure.
+
+nxagent-1.3.1-15
+
+- Rootless mode. Fixed a segfault handling ConfigureNotify events
+ on top-level windows.
+
+- Moved handling of ClientMessages coming from proxy in a separate
+ function.
+
+nxagent-1.3.1-14
+
+- Rewritten the code dealing with key modifier changes. Now we
+ use XKB events instead of synchronous XkbGetIndicatorState()
+ calls.
+
+- Moved activation of keyboard and pointer events to Events.c.
+
+- Removed pointer motion optimizations as a better logic, taking
+ in account the selected link speed, is already implemented in
+ proxy.
+
+nxagent-1.3.1-13
+
+- Renamed the -reconnect option as -persistent.
+
+- Rootless mode. Agent's root windows are not mapped at startup.
+
+- Removed the zombie file glyphcurs.c from agent distribution.
+
+nxagent-1.3.1-12
+
+- Corrected a typo in the new CopyArea code in GCOps.c where:
+
+ if (srcx > nxagentWidth) srcx = nxagentWidth;
+ if (srcy > nxagentHeight) srcx = nxagentHeight;
+
+ had to be:
+
+ if (srcx > nxagentWidth) srcx = nxagentWidth;
+ if (srcy > nxagentHeight) srcy = nxagentHeight;
+
+- Added handling of the fullscreen command line parameter to the
+ options repository.
+
+- Added agent geometry parameters to the options repository.
+
+nxagent-1.3.1-11
+
+- Rootless mode. Added handling of configuration events reported
+ for the top-level windows.
+
+- Rootless mode. Children of the root window get the event mask
+ selected when the window is created. This makes the keyboard
+ work at least with xterm and other simple clients. There are
+ still problems with the pointer events.
+
+- Created new Splash.h and Splash.c sources file to contain the
+ few splash screen procedures that were previously sparsed in
+ multiple files.
+
+- Added traces in all the window creation procedures and in the
+ initialization routines called at startup.
+
+- Renamed some source files to make simpler to identify what is
+ imported from DIX and what actually pertains to agent.
+
+nxagent-1.3.1-10
+
+- Added the missing RestackWindow screen operation. This solves
+ problems of incorrect stacking order observed in menus when
+ using the drop shadow feature in the latest KDE versions.
+
+nxagent-1.3.1-9
+
+- The new standard for checking previous inclusion of headers is
+ by verifying definition of _Filename_H_ where Filename is the
+ base name of the file, for example __Options_H__ in the case
+ of "Options.h". This is intended to be a step in reducing the
+ number of defines in code prefixed with NXAGENT.
+
+- Updated NX copyright to year 2004. Placed copyright statement
+ regarding NXAGENT and NX modifications to the Xnest software
+ at the beginning of the file. Checked again if credit is given
+ to all the existing copyright owners.
+
+nxagent-1.3.1-8
+
+- Added a new Options repository to store the values currently
+ dispersed all over around. The new macros nxagentOption(option)
+ and nxagentChangeOption(option, value) should be used from now
+ on to access the important values affecting agent's operations.
+
+- General cleanup of code. Removed the remaining references to
+ the Xnest legacy code.
+
+nxagent-1.3.1-7
+
+- Some steps forward toward rootless agent. Now all the top level
+ windows are correctly created. Drawing to the real screen seems
+ to work without problems. It is still not possible to get events
+ in the event loop and the remote WM is interfering with the WM
+ on the local display.
+
+- More cleanup of code. Some changes to parts added since 1.3.1-5.
+
+nxagent-1.3.1-6
+
+- A drawable with 0 bpp can somehow arrive to the fb layer. The
+ problem needs to be better investigated. In the meanwhile a
+ quick check is added to correctly identify the ill condition.
+
+- Small fix to allow Num/Caps lock synchronization also on the
+ windows platform. This is still to be considered beta quality.
+
+- New options -slow and -fast added to agent. When "fast mode" is
+ not set, agent will query the remote X server to get real content
+ of drawables. When fast mode is enabled, agent will save the
+ round-trip by just clearing the drawable to its background. The
+ default mode is "slow", thus agent will always query the remote
+ server. When "fast mode" is explicitly set or when NX transport
+ is detected and the link is one of MODEM, ISDN and ADSL, agent
+ will default to "fast mode". This behaviour can be overridden by
+ system administrators by setting the key AGENT_EXTRA_OPTIONS_X
+ to "-slow" in node configuration.
+
+nxagent-1.3.1-5
+
+- Created framework for rootless agent. Added a -rootless option.
+
+- Slowly going toward a better organization of nxagent internals.
+ Renamed some files and moved things around. Changed some comments
+ in Screen.c to be more explainatory.
+
+nxagent-1.3.1-4
+
+- Changed default keyboard model to "pc102" (was "pc101") to correct
+ problems with "<" and ">" keys on the German keyboards and, poten-
+ tially on other layouts.
+
+- Added new parameter -kbtype to handle both geometry and layout in
+ a single form, for example pc102/pl. Parameter -keyboard is still
+ supported for backward compatibility.
+
+- Synchronization of Num and Caps lock status is now done comparing
+ the real keyboard and the internal state at the time nxagent gets
+ the focus. If state doesn't match, a fake keyboard event is sent.
+
+nxagent-1.3.1-3
+
+- Fixed a further problem on CopyArea between windows and pixmaps.
+
+nxagent-1.3.1-2
+
+- Implemented CopyArea on framebuffer when copying from windows to
+ pixmaps. Added the -slow command line switch to let nxagent get
+ the real content of the window from the X server. This requires
+ an expensive round-trip so it is disabled by default.
+
+nxagent-1.3.1-1
+
+- Opened the 1.3.1 branch.
+
+nxagent-1.3.0-32
+
+- Fixed a bug on 16 bpp displays using render extension. Now only
+ images which are used by render pictures and which have depth 32
+ are created with a different visual color mask. This saves a big
+ amount of SetUnpackColormap requests.
+
+nxagent-1.3.0-31
+
+- Fixed a bug in nxagentComposite routine. The macro nxgentPicturePriv
+ was used without checking for a null pointer argument.
+
+nxagent-1.3.0-30
+
+- Limitations on bandwidth introduced whenever the agent's window
+ is covered are now disabled by default. They can be enabled by
+ specifying the -limit option on the command line. The -nolimit
+ option is left for compatibility with the previous versions.
+ This handy feature caused complaints in the past from users who
+ instruct window managers to not move the window having focus on
+ top of the stacking order.
+
+nxagent-1.3.0-29
+
+- Removed the warnings issued at compile time.
+
+nxagent-1.3.0-28
+
+- Replaced the corrupted file nxagent.xpm with the original version.
+
+nxagent-1.3.0-27
+
+- Hopefully fixed all the remained memory leaks. Most problems were
+ due to agent's render extension not freeing resources on X server.
+
+- Added support for big-endian X server display on render extension.
+ Glyphs are reformatted according with the destination order.
+
+- Added per client information for SetUnpackGeometry, now the unpack
+ routines should have the correct information for the color mask at
+ the end of the split process.
+
+
+nxagent-1.3.0-26
+
+- Changed the message printed in the log when leaving the dispatch
+ loop from 'Error' to 'Info'.
+
+- Moved initialization of _NXFlushSize to nxcompext in order to set
+ value at the time NXGetControlParameters() is called.
+
+nxagent-1.3.0-25
+
+- Content of selection is now acquired using a single round-trip.
+ If content exceeds 262144 bytes, it is truncated at that size.
+ This works in most situations, at least with text, that, by the
+ way, is the only target supported at the moment. An improvement
+ would be to modify the state machine in a way that the remaining
+ data part is got using a second round-trip. This is not difficult
+ to do and can be considered for future releases.
+
+- In handling of clipborad we had to disable check on multiple
+ convert selection requests from the same client. There is a bug
+ in the algorithm that prevents the counter to be reset at the
+ appropriate time. This is to be investigated.
+
+nxagent-1.3.0-24
+
+- Added asynchronous handling of GetProperty requests and replies
+ using the NXCollectProperty and NXGetCollectedProperty requests
+ and the NXCollectPropertyNotify event in NXclipboard.c and in
+ Event.c. Implementation is not complete yet and can sometimes
+ cause X clients to misbehave.
+
+- Function xnestBitBlitHelper() now always returns NullRegion.
+ Handling of graphical expose events should be rewritten so that
+ regions are always generated internally to nxagent. Returning a
+ null region without checking our event queue, anyway, saves a
+ flush of the display buffer and doesn't seem to affect the
+ functionalities.
+
+- This version comprises modifications to Events.c, GCOps.c,
+ NXClipboard.c, NXwindow.c and Window.c where I found XSync()
+ messages (or code used to just send XSync() messages) outside
+ any #ifdef ..._DEBUG.
+
+nxagent-1.3.0-16
+
+- A dialog is showed at startup if proxy was not able to load a
+ persistent cache.
+
+- Reflected changes introduced in NXGetControlParameters() to add
+ more detailed information about the compression settings.
+
+- Fixed a potential bug with the name of the agent's display at the
+ time a dialog had to be showed. String was allocated with only 6
+ characters. This could lead to dialogs not being showed using
+ display ports greater than 9999.
+
+- NX.h is now included by NXControl.h. Removed #include directives
+ from other files.
diff --git a/doc/_attic_/NoMachine_documentation_files/nxcomp_CHANGELOG b/doc/_attic_/NoMachine_documentation_files/nxcomp_CHANGELOG
new file mode 100644
index 000000000..b0323d4a7
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nxcomp_CHANGELOG
@@ -0,0 +1,3778 @@
+ChangeLog:
+
+nxcomp-3.5.0-2
+
+- Fixed TR11H02398. Solved a race condition when creating channels.
+
+nxcomp-3.5.0-1
+
+- Opened the 3.5.0 branch based on nxcomp-3.4.0-7.
+
+- Updated copyright to year 2011.
+
+nxcomp-3.4.0-7
+
+- Fixed TR03H02334. Modified the UNIX domain socket checks on MacOSX
+ to be compliant with the standard introduced in OSX 10.6.3.
+
+nxcomp-3.4.0-6
+
+- Solved compilation problems on Solaris.
+
+nxcomp-3.4.0-5
+
+- Solved compilation problems on GCC 4.4.
+
+nxcomp-3.4.0-4
+
+- Added reference to fixed TR02H02325.
+
+nxcomp-3.4.0-3
+
+- Updated copyright to year 2010.
+
+nxcomp-3.4.0-2
+
+- Fixed TR03G02204. Changed the parsing of X authority entries in
+ order to handle the case where the hostname includes white spaces.
+
+- Fixed TR02H02325. Bug in PNG decompression on 16bpp displays.
+
+nxcomp-3.4.0-1
+
+- Opened the 3.4.0 branch based on nxcomp-3.3.0-4.
+
+- Changed version number.
+
+- Updated copyright to year 2009.
+
+nxcomp-3.3.0-4
+
+- Check if the variable storing the ping time exceeded the maximum
+ integer value.
+
+- Recover incorrect sequence number when the proxy is not connected
+ to an agent.
+
+nxcomp-3.3.0-3
+
+- Removed a condition in ClientChannel that caused a loss in event
+ sequence numbers.
+
+nxcomp-3.3.0-2
+
+- Updated VERSION.
+
+nxcomp-3.3.0-1
+
+- Opened the 3.3.0 branch based on nxcomp-3.2.0-7.
+
+nxcomp-3.2.0-7
+
+- Solved a compilation problem on GCC 4.3.
+
+nxcomp-3.2.0-6
+
+- Changes considering that unsetenv() returns void on Mac OS X.
+
+nxcomp-3.2.0-5
+
+- Fixed TR03F02024. Assume the launchd unix socket as X socket.
+
+- Changed the authorization cookie retrieval when using the launchd
+ socket on MacOSX, in order to wait for the X server start.
+
+nxcomp-3.2.0-4
+
+- Fixed TR03F02026. Unset environment variable LD_LIBRARY_PATH before
+ calling the exec function running nxclient.
+
+nxcomp-3.2.0-3
+
+- Fix addMsTimestamp() and subMsTimestamp(). Remove the check for
+ a valid input in diffTimestamp() and diffUsTimestamp().
+
+nxcomp-3.2.0-2
+
+- Fixed TR12E01973. Now the correct number of bits are used for the
+ number of points in a X_FillPoly request.
+
+nxcomp-3.2.0-1
+
+- Opened the 3.2.0 branch based on nxcomp-3.1.0-6.
+
+nxcomp-3.1.0-6
+
+- Always use a timeout of 50 ms to update the congestion counter.
+
+nxcomp-3.1.0-5
+
+- Solve the possible deadlock caused by both proxies running out of
+ tokens at the same time.
+
+- In ServerProxy::handleCheckDrop() copy the list since the function
+ can delete the elements.
+
+nxcomp-3.1.0-4
+
+- Classes ProxyReadBuffer and ServerReadBuffer returned an invalid
+ number of characters to read in the case of a readable() failure.
+
+- Connections to proxy versions newer than 3.0.0 were not accepted.
+
+- Reading options from file could fail if options contained spaces
+ or other characters interrupting the fscanf()'s matching of input.
+
+- The proxy link could not be flushed if a ping request was replied
+ after the end of the read loop.
+
+nxcomp-3.1.0-3
+
+- Fixed a compilation warning on GCC 2.95.
+
+nxcomp-3.1.0-2
+
+- Solved TR09E01852. Modified the encoding of the number of rects
+ in the XSetClipRectangles request.
+
+nxcomp-3.1.0-1
+
+- Opened the 3.1.0 branch based on nxcomp-3.0.0-46.
+
+nxcomp-3.0.0-46
+
+- Fixed TR09E01865 and TR08E01831. Assume the old behavior of compr-
+ essing the CUPS, SMB, HTTP and Font channels when connected to an
+ old proxy version.
+
+nxcomp-3.0.0-45
+
+- Retry the fork() 30 times, but only on Cygwin (Sob!).
+
+nxcomp-3.0.0-44
+
+- In the case of an error, try again to fork() after a second, for
+ a maximum of 5 times. This seems to constitute a valid workaround
+ to the intermittent fork() failures observed on Windows.
+
+- Fixed NXTransDestroy() to show the 'broken connection' dialog in
+ the case of a link failure on the client.
+
+- Handled the 'terminating' and 'terminated' messages as new proxy
+ stages.
+
+- Force all the directories and files created by the library to be
+ readable only by the user.
+
+- Don't complain if the shared memory segment can't be initialized
+ on Windows.
+
+nxcomp-3.0.0-43
+
+- Prevent the reallocation of the read buffer in the proxy and the
+ agent transport if the buffer was borrowed by an upper layer.
+
+- Let the house-keeping process remove the cache directories that
+ are empty and have not be used since more than 30 days.
+
+- Added the missing destruction of the ZLIB stream used for image
+ decompression at proxy shutdown.
+
+nxcomp-3.0.0-42
+
+- In handleFastWriteReply(), moved the initialization of the 'next'
+ pointer inside the '#ifndef __sun' block. This should fix the re-
+ maining encoding problems on SPARCs.
+
+nxcomp-3.0.0-41
+
+- VMWare virtual machines can have the system timer deadly broken.
+ In the case of timeout, try to send a ping regardless we are the
+ client or the server proxy to force a write by the remote.
+
+- Removed the messages 'Info: Using image cache parameters...' and
+ 'Info: Using image streaming parameters...' from the session log
+ if the image cache is not enabled.
+
+nxcomp-3.0.0-40
+
+- Removed the messages 'Info: Shutting down the NX transport' and
+ 'Info: End of NX transport requested by...' at the session tear
+ down.
+
+- Removed the remaining log output.
+
+nxcomp-3.0.0-39
+
+- Don't reset the timer on proxy shutdown.
+
+nxcomp-3.0.0-38
+
+- Don't reinstall the signal handler if the signal was enabled and
+ the NXTransSignal() action is NX_SIGNAL_FORWARD.
+
+nxcomp-3.0.0-37
+
+- Return a congestion level 9 if the agent channel is in congestion
+ state.
+
+- Set the idle timeout (used to update the congestion state) based
+ on the link type. The timeout is 0 ms with link LAN and 50 ms in
+ the case of MODEM, with the other values in the between.
+
+nxcomp-3.0.0-36
+
+- Changed the encoding of the RenderCompositeGlyphs requests. Use
+ a separate cache for X and Y. Send a single bit for offset X and
+ offset Y if they match the source coordinates.
+
+- Always use the memcpy() in the handleFastWrite*() on Sun, as the
+ alternative code doesn't work on SPARC if the buffer is not word
+ aligned.
+
+nxcomp-3.0.0-35
+
+- Ensure a smooth transition between different congestion states.
+ If the current congestion counter is greater than the previous,
+ ramp up the value quickly by taking the current counter. If the
+ new congestion counter is less than the previous, ramp down the
+ reported value slowly by calculating the average of the last 8
+ updates. Reset the congestion counter to 0 if no token reply is
+ pending and the proxy is idle until a timeout.
+
+nxcomp-3.0.0-34
+
+- Calculate the current congestion as the average of the last 3
+ frames sent.
+
+nxcomp-3.0.0-33
+
+- When sending a X_RenderCompositeGlyph update, send a single bit
+ if the source X and Y match the values in cache.
+
+- Save the check on the bytes readable from the proxy descriptor
+ after the select.
+
+nxcomp-3.0.0-32
+
+- Send the X_GetImage replies uncompressed to better leverage the
+ stream compression.
+
+- Before entering in congestion state, force a read to see whether
+ the remote proxy aborted the connection.
+
+nxcomp-3.0.0-31
+
+- Try to avoid using memcpy() in the channels' handleFastWrite*().
+
+- Changed the copyright notices at the beginning of the files that
+ were referring to NXPROXY to refer to NXCOMP.
+
+nxcomp-3.0.0-30
+
+- Set the agent and proxy descriptors as ready, when appropriate,
+ also in the case of an interrupt.
+
+nxcomp-3.0.0-29
+
+- On the X server side, read more events from the X server just be-
+ fore and just after having written some data. On the X client si-
+ de, apply the same to the proxy link.
+
+- X11 channels originate a congestion control code as soon as the-
+ re is some data left from the previous write.
+
+nxcomp-3.0.0-28
+
+- Displaced automatically the "channel unresponsive" and "no data
+ received from remote" dialogs if the error condition is ceased.
+
+- Rewritten the channel drain procedure.
+
+- Tried a different approach to the channel congestion handling.
+ The X11 channels are not drained after a blocking write but only
+ if a further write is requested and the channel is still in con-
+ gestion state. Benchmarks show that this is still sub-optimal,
+ compared to sending the congestion code immediately also for X11
+ channels. See the next version.
+
+nxcomp-3.0.0-27
+
+- Ignored the agent option 'defer'.
+
+- Dropped support for the 1.4.0 versions.
+
+- More fixes to support the 1.5.0.
+
+nxcomp-3.0.0-26
+
+- The channel read buffer can inherit the data to be encoded from
+ the caller, instead of taking it from the transport. This is le-
+ veraged by the agent channel to save the copy.
+
+- Ignored the agent option 'clients'.
+
+- Removed the deprecated code checking the CPU limits.
+
+- Removed the counters that were duplicated in the Statistics and
+ the Control classes.
+
+nxcomp-3.0.0-25
+
+- Improved the effectiveness of the caching of the RenderComposite-
+ Glyphs by using a differential encoding for the length, delta x
+ and delta y of the first string.
+
+- Better handle the compatibility between different formats of the
+ cache files.
+
+nxcomp-3.0.0-24
+
+- Fixed the compatibility problem with the 1.5.0 versions.
+
+- Removed the constants NXDisplayReadable, NXDisplayFlushable and
+ NXDisplayCongestion. Now nxcompext has three distinct functions.
+
+nxcomp-3.0.0-23
+
+- Removed support for Rdp, Tight and Hextile packed images decod-
+ ing since they have been made obsolete by the new NX server.
+
+- Use the value 0 for the action is_hit and 1 for is_added. This
+ increases the frequency of zeroes in the encode buffer, giving
+ better compression.
+
+- Changed the copyright attribution from Medialogic to NoMachine.
+
+nxcomp-3.0.0-22
+
+- Implemented an alternate encoding reducing the size of the int
+ caches to 16 elements and transmitting the values in blocks of
+ 4 bits. Although this encoding reduces the effectiveness of
+ the differential compression, it allows better compression of
+ the final stream, resulting in a 10% to 20% gain in all condi-
+ tions. The new encoding is experimental, as it would make the
+ 3.0.0 incompatible with all the previous NX versions. Use this
+ package as a reference for future implementations.
+
+nxcomp-3.0.0-21
+
+- Encode the first two coordinates of a FillPoly message by using
+ a differential encoding, thus the origin of the polygon is not
+ included in the checksum. This is aimed to work in combination
+ with the agent converting all the FillPoly requests to the rela-
+ tive coordinate mode.
+
+- Add the coordinate mode to the checksum of the PolyPoint and Po-
+ lyLine messages so that it doesn't need to be encoded separately.
+
+- Disable the streaming for all messages. This saves the encoding
+ of a boolean for each message that could potentially be streamed.
+
+- Don't try to match the block size when encoding a value based on
+ an IntCache. This saves the additional bool in 90% of the cases.
+
+- Removed support for the former RDP and RFB session types.
+
+- Due to the above changes, this version is incompatible with the
+ previous 3.0.0 releases.
+
+nxcomp-3.0.0-20
+
+- Added support for the 'lossy', 'lossless' and 'adaptive' pack me-
+ thod literals. These values activate the dynamic selection of the
+ pack method by the agent.
+
+- Made the 'adaptive' pack method the default for all link types.
+
+- The default stream compression level is now 6 for link type ISDN,
+ 4 for ADSL and 1 for WAN. The default data compression level is
+ always 1, except for LAN that is 0.
+
+nxcomp-3.0.0-19
+
+- Print in the session log the X11 display that the proxy is imper-
+ sonating or where it is forwarding the connections.
+
+nxcomp-3.0.0-18
+
+- Implemented decoding of the PACK_BITMAP_16M_COLORS pack method.
+ This is a very simple encoder removing the 4th byte in 32 bits-
+ per-plane images. This encoder is intended to better leverage
+ the stream compression on low bandwidth links.
+
+- Removed the code cleaning the padding bytes in RenderAddGlyphs
+ and RenderCompositeGlyphs as the operation is now performed in
+ Xrender.
+
+- Removed the "Info: Synchronizing local and remote caches." and
+ "Info: Using remote server '...'." lines from the session log.
+
+nxcomp-3.0.0-17
+
+- Determine the CPU endianess at compile time only on Linux and
+ Cygwin.
+
+nxcomp-3.0.0-16
+
+- Optimized the memory allocation of the ReadBuffer classes. The
+ buffers from the Transport classes are used, when possible, to
+ avoid the copy.
+
+nxcomp-3.0.0-15
+
+- Reworked the code dealing with the channel congestion control
+ messages for increased efficiency.
+
+- Removed the pending_ flag from the proxy and channel class mem-
+ bers. If needed, the classes will query the transport buffers
+ to see whether there is data pending.
+
+- Removed the additional parameter from NXTransFlush().
+
+- The proxy doesn't issue anymore a sync control message on a X
+ reply. Anyway it will respond to the request for compatibility
+ with older versions.
+
+- Removed the dynamic selection of the encoding method for the
+ X_QueryColors request and X_ListFonts, X_QueryColors, X_Query-
+ Font replies. Now all of them use the differential encoding to
+ better leverage the stream compression.
+
+- Fixed to build on SUNs where we don't have endian.h.
+
+nxcomp-3.0.0-14
+
+- When handling partial proxy messages, don't try to determine how
+ many bytes still need to be read if the ZLIB stream compression
+ is enabled.
+
+- If a message can't be located, the ReadBuffer class checks if it
+ is possible to consume the data already in the transport buffer.
+
+- Optimize the MD5 routines by determining the CPU endianess at
+ compile time.
+
+- Force Drawable and GContext to be CARD32 in NXproto.h.
+
+nxcomp-3.0.0-13
+
+- Changed the semantic of the NXDisplayFlushHandler callback. The
+ function is called when new data is sent to the remote proxy or,
+ with a 0 length, upon receiving a new token reply, so that the
+ agent can update its congestion state.
+
+- Added the NXTransCongestion() function. It returns a value bet-
+ ween 0 and 9 indicating the congestion level based on the tokens
+ remaining. A value of 9 means that the link is congested and no
+ further data can be sent.
+
+- Removed the congestion and synchronization callbacks. They are
+ superseded by the new NXTransCongestion() implementation.
+
+nxcomp-3.0.0-12
+
+- Send the token replies at the end of the encode loop instead of
+ flushing the buffer immediately.
+
+- Fixed TR05E01687. Correctly detect CTRL-ALT-SHIFT-ESC keystrokes.
+
+- Renamed the option 'block' as 'tile'.
+
+- Ignored the option 'menu', targeting the X11 agent.
+
+nxcomp-3.0.0-11
+
+- Removed the 'interactive' attribute from generic channels. We now
+ use the 'prioritized' attribute which yields the same result.
+
+- Simplified the channels' read loop by always reading only once.
+
+- The channels flush the link as soon as the token is exceeded even
+ if the flush policy is set to deferred.
+
+- Reserved more cache memory for the images when running a shadow
+ session.
+
+nxcomp-3.0.0-10
+
+- Added the NXDisplayWriteHandler callback definition.
+
+- Removed the code that forced the proxy to retain in the cache the
+ images referenced at session startup.
+
+- Disabled the persistent image cache since this is not supported
+ by the current agent. This will save the overhead caused by the
+ image house-keeping process.
+
+nxcomp-3.0.0-9
+
+- Fixed a cast problem in GetBytesReadable().
+
+nxcomp-3.0.0-8
+
+- Added the NXTransTime() utility. It return the time in milliseconds
+ elapsed since the last call to the same function. Useful for bench-
+ marking the Xlib layer.
+
+- Ignored the option 'block' targeting the X11 agent.
+
+nxcomp-3.0.0-7
+
+- Ignored the options 'shadow', 'shadowmode' targeting the X11 agent.
+
+- Added the session type 'shadow'.
+
+nxcomp-3.0.0-6
+
+- Fixed TR08D01484. Fixed a bug in the cleanup of the RenderAddGlyphs
+ messages. We clean up only the glyphs with depth 8, width greater
+ than 1 and pixmap byte pad 4.
+
+- Added file COPYING.
+
+nxcomp-3.0.0-5
+
+- Updated the copyright notices to the current year.
+
+nxcomp-3.0.0-4
+
+- Imported changes up to nxcomp-2.1.0-6.
+
+- Fixed TR12D01563. Changed the configure script to always build the
+ library with the -fPIC option. This is related to the way SELinux
+ works.
+
+- Fixed the dependency from local endianess for 16-bit color RDP un-
+ packing functions. This caused wrong colors to be displayed when the
+ proxy and the X server were running on two separate machines having
+ different endianess.
+
+- Fixed TR10D01523. The Channel::handleDrain() method now accounts
+ for the fact that agent connections can't be drained.
+
+- Changed the Tight and Hextile decoding functions to use the X ser-
+ ver's byte order.
+
+nxcomp-3.0.0-3
+
+- Changed the main loop to handle the 3.0.0 version.
+
+nxcomp-3.0.0-2
+
+- Updated the file VERSION.
+
+nxcomp-3.0.0-1
+
+- Opened the 3.0.0 branch based on nxcomp-2.0.0-81.
+
+nxcomp-2.0.0-81
+
+- Fixed the dependency from local endianess for JPEG and PNG decomp-
+ ression functions. This caused wrong colors to be displayed when
+ the proxy and the X server were running on two separate machines
+ having different endianess.
+
+- Fixed the number of entries in the handleColormap() function.
+
+nxcomp-2.0.0-80
+
+- Fixed TR06D01404. Removed the warning issued when calling the
+ AgentTransport::drain() method.
+
+nxcomp-2.0.0-79
+
+- Updated copyright to year 2006.
+
+nxcomp-2.0.0-78
+
+- Fixed a bug in the cleanup of the RenderAddGlyphs messages.
+
+- Minor improvements to the encoding of the RenderCompositeGlyphs
+ and RenderComposite requests.
+
+- Added 'client' to the list of the ignored options.
+
+nxcomp-2.0.0-77
+
+- Added cleanup of the padding bytes in the RenderCompositeGlyphs
+ and RenderAddGlyphs requests.
+
+nxcomp-2.0.0-76
+
+- Before adding the frame's bytes to the tokens, the frame length
+ is normalized based on the stream compression ratio of the last
+ frame sent. This avoids entering the drain loop too early when
+ the data is highly compressible.
+
+- Moved the render messages' private data in a union to reduce the
+ footprint of the render store.
+
+nxcomp-2.0.0-75
+
+- The action performed on the remote message store and the affected
+ position are encoded as a single value. This saves approximately
+ 1 bit per each message.
+
+- Created more Compat classes to handle the backward compatibility
+ with the 1.4.0 and 1.5.0 versions.
+
+nxcomp-2.0.0-74
+
+- Added support for the RLE pack method and made it the default if
+ the selected link type is LAN.
+
+- Removed the legacy support for the 'render' option provided at X
+ server side.
+
+- When defining LAME in ClientChannel.h, the channel has the chance
+ of suppressing more opcodes by the handleTaintLameRequest() call.
+ This is for test purposes.
+
+nxcomp-2.0.0-73
+
+- The X_NXSetUnpackColormap and X_NXSetUnpackAlpha now carry their
+ data in compressed form. The alpha data is compressed using the
+ ZLIB RLE encoding, while the colormap data is compressed using
+ the default ZLIB deflate.
+
+- Thanks to the above changes, ZLIB data compression of all messa-
+ ges which do not have a specific encoding is turned off, so that
+ we can make better use of the final stream compression.
+
+- Created new message structures to handle the compatibility with
+ the old proxy versions. When connected to an old proxy version
+ the agent should use the NXSetUnpackColormapCompat() and NXSet-
+ UnpackAlpha() interfaces.
+
+nxcomp-2.0.0-72
+
+- Solved a compatibility problem with the 1.X.X versions due to the
+ new render encodings.
+
+nxcomp-2.0.0-71
+
+- Improvements to X_RenderSetPictureClipRectangles.
+
+- Fixed handleUnpack() to pass the correct byte order parameter to
+ to the unpack alpha function.
+
+- Added the --parent parameter to the client even in pulldown mode.
+
+- Fixed a deallocation bug in StaticCompressor.
+
+nxcomp-2.0.0-70
+
+- Added compression of X_RenderSetPictureFilter, X_RenderSetPicture-
+ Transform, X_RenderTrapezoids and X_RenderTriangles.
+
+nxcomp-2.0.0-69
+
+- Changed the format of the persistent cache to accommodate the new
+ encoding of the render opcodes. Caches from the 1.4.0 and 1.5.0
+ should be still loaded and saved correctly when connected to and
+ old version of the library.
+
+- Improved the encoding of the X_CreatePixmap, X_ChangeGC, X_Render-
+ CompositeGlyphs, X_RenderComposite, X_RenderCreateGlyphSet, X_Rend-
+ erFreePicture and X_RenderCreatePicture messages. Added new classes
+ to handle the backward compatibility.
+
+- Made the static compression and decompression code reside in the
+ same class.
+
+nxcomp-2.0.0-68
+
+- Improved the encoding of the X_RenderCreateGlyphSet and X_Render-
+ FreeGlyphSet requests.
+
+nxcomp-2.0.0-67
+
+- Modified the following session messages:
+
+ From: "Session: Session starting at..."
+ To: "Session: Starting session at..."
+
+ From: "Session: Session terminating at..."
+ To: "Session: Terminating session at..."
+
+- Improved the encoding of the requests creating or freeing an XID.
+ This affects X_CreateGC, X_CreateWindow, X_CreatePixmap, X_Render-
+ CreatePicture, X_FreeGC, X_DestroyWindow, X_FreePixmap, X_Render-
+ FreePicture.
+
+- Added 'streaming' and 'backingstore' to the list of options used
+ by agents.
+
+- Modified the info messages to print the ZLIB compression paramet-
+ ers to be more compact and only use two lines.
+
+nxcomp-2.0.0-66
+
+- When part of an agent, the proxy will wait for the NXTransDestroy()
+ function to initiate the shutdown.
+
+nxcomp-2.0.0-65
+
+- Starting from this version the NX client can control the behaviour
+ of the client proxy by monitoring the messages marked as "Session".
+
+ At the early initialization the proxy will print:
+
+ "Session: Session starting at '...'.
+
+ The ellipsis here represent the current timestamp, as reported by
+ the POSIX function ctime():
+
+ Once the session is running, the proxy will print:
+
+ "Session: Session started at '...'.
+
+ At the time the session is being shut down, the proxy will print:
+
+ "Session: Session terminating at '...'.
+
+ Followed by:
+
+ Session: Session terminated at '...'.
+
+ The message "Info: Starting X protocol compression." is removed,
+ replaced by the message 'Session started at...' with the same
+ meaning.
+
+ Once the message 'Session: Session terminated at..." is read from
+ the output, the client can optionally wait for the proxy process
+ to complete and terminate with an exit code 0.
+
+- The "Session" messages are not printed when the proxy is running
+ on the NX server side, as part of an agent.
+
+nxcomp-2.0.0-64
+
+- Reduced the default token limit from 32 to 24. The synchronizat-
+ ion callback is triggered by the tokens going below half the li-
+ mit.
+
+nxcomp-2.0.0-63
+
+- Added -I/usr/include/c++ to makedepend.
+
+nxcomp-2.0.0-62
+
+- The house-keeping process is now started upon the initialization,
+ if the memory cache is enabled, and, on the X server side, when
+ the remote actually requested access to the image cache.
+
+nxcomp-2.0.0-61
+
+- Added a NX_HANDLER_SYNCHRONIZATION callback to NXTransHandler().
+ The handler is called when the agent can use the available band-
+ width to synchronize X objects that are corrupted or incomplete.
+
+ The reason can be:
+
+ NX_SYNCHRONIZATION_BEGIN: The synchronizationis is allowed.
+
+ NX_SYNCHRONIZATION_END: The synchronizationis must stop.
+
+ The reason can be determined by agents by using the NXBeginSynch-
+ ronization and NXEndSynchronization values defined in NXvars.h.
+
+- Bytes from 14 to 24 in the X_NXGetControlParameters reply report,
+ respectively, the frame timeout, the ping timeout, the preferred
+ image split mode and the split size threshold.
+
+nxcomp-2.0.0-60
+
+- The following messages used by the NX client and server have been
+ changed. The NX client and server should be modified accordingly.
+
+ From: "Info: Shutting down the link and exiting."
+ To: "Info: Shutting down the NX transport."
+
+ From: "Info: End of session requested by remote proxy."
+ To: "Info: End of NX transport requested by remote"
+
+ From: "Info: End of session requested by agent termination."
+ To: "Info: End of NX transport requested by agent."
+
+ From: "Info: End of session requested by signal '...'."
+ To: "Info: End of NX transport requested by signal '...'."
+
+ From: "Info: Shutting down the link and exiting."
+ To: "Info: Shutting down the NX transport."
+
+ From: "Info: Waiting for cleanup timeout to complete."
+ To: "Info: Waiting the cleanup timeout to complete."
+
+ From: "Info: Waiting for watchdog process to complete."
+ To: "Info: Waiting the watchdog process to complete."
+
+nxcomp-2.0.0-59
+
+- Added more debug information regarding the timing of packets sent
+ and received.
+
+- Added the possibility to redirect the log output to a file that can
+ be later shared with nxssh running in "binder" mode. This is useful
+ when testing the forwarding of the SSHD connection by nxssh to the
+ agent. Activated by defining BINDER in Loop.cpp.
+
+nxcomp-2.0.0-58
+
+- Fixed the unpack alpha procedure to only rely on the image's byte
+ order.
+
+- Solved the X_PutImage encoding problem introduced in the 2.0.0-56
+ version and restored the compatibility with the 1.5.0 version.
+
+nxcomp-2.0.0-57
+
+- Added a NXTransFile() function. It returns the name of the files
+ used by the proxy for the current session.
+
+ The type parameter can be:
+
+ NX_FILE_SESSION: Usually the file 'session' in the user's session
+ directory.
+
+ NX_FILE_ERRORS: The file used for the diagnostic output. Usually
+ the file 'errors' in the session directory.
+
+ NX_FILE_OPTIONS: The file containing the NX options, if any.
+
+ NX_FILE_STATS: The file used for the statistics output.
+
+ The returned string is allocated in static memory. The caller must
+ copy the string upon returning from the function, without freeing
+ the pointer.
+
+- Fixed the PANIC in the handling of the abort split messages.
+
+- The encode and decode routines may write one byte past the nominal
+ end of the encode buffer. This additional byte is now included in
+ the payload. This is actually a bug, but harmless.
+
+nxcomp-2.0.0-56
+
+- Added the X_NXAbortSplit request. It can be used to interrupt the
+ streaming of all the messages currently in the split store for
+ the specified resource. Depending if the split store did or did
+ not contain split messages, the client will receive an immediate
+ end-split or no-split notification.
+
+- Removed the split modes NXSplitModeEager and NXSplitModeLazy. The
+ available modes are now NXSplitModeSync and NXSplitModeAsync. The
+ mode NXSplitModeAsync replaces the two old modes and is now the
+ default. Similarly to NXSplitModeEager, it makes the proxy split
+ only messages that exceed a size threshold, but the threshold is
+ generally smaller than in the previous versions.
+
+ #define NXSplitModeDefault 0
+ #define NXSplitModeAsync 1
+ #define NXSplitModeSync 2
+
+- Renamed X_NXSplit to X_NXSplitData, X_NXAbortSplit to X_NXSplitEv-
+ ent.
+
+- The proxy now enters a drain loop, when in congestion state, and
+ waits until the decongestion. Also the X channels are drained if
+ blocked.
+
+- The select is restarted immediately if only the proxy is selected
+ and the data read doesn't make a complete message.
+
+- The size of the shared memory segment used by the X server proxy
+ is now negotiated at startup and the selected value is printed in
+ the session log.
+
+- Added the option 'encrypted'. It tells the local proxy if it is
+ running as part of a program providing encryption of the point to
+ point communication. This is useful to determine if the proxy can
+ block waiting for data or needs to yield to the client to let it
+ handle the remote connection.
+
+nxcomp-2.0.0-55
+
+- Fixed handleRestart() to correctly send the end-split event only
+ after the split sequence has been closed by the client.
+
+- Fixed a possible memory error in the Keeper class occurring if the
+ image caches were erased while in the middle of a loop.
+
+nxcomp-2.0.0-54
+
+- Added a '--parent' option when running the client in dialog mode.
+ This is the process id that needs to be signaled in the case the
+ user chooses to do so.
+
+nxcomp-2.0.0-53
+
+- Solved a bug in the abort split procedure. The procedure assumed
+ that the split had to be at the head of the list. This may not be
+ the case if the split was loaded from disk asynchronously, after
+ a different split with the same checksum was recomposed.
+
+- By defining STRICT in Loop.cpp, the number of available tokens is
+ set to 1. This can be used to trigger the congestion more often
+ than it would possible when testing the software with the default
+ settings.
+
+- Added more debug output to the procedures handling the streaming
+ of the images.
+
+- Reset the channel's split pending and congestion flags in the fin-
+ ish procedure. Not doing so caused some additional loops at chan-
+ nel shutdown.
+
+- Fixed a bug on Cygwin that prevented the log files to be succes-
+ sfully reopened when the size limit was exceeded.
+
+- Failures to write to the agent transport are reported sooner when
+ the channel is finished. This saves a few more loops at session
+ shutdown.
+
+nxcomp-2.0.0-52
+
+- Started implementing a new handler to let the agent include arbit-
+ rary data in the transport statistics. The parameter, in this case,
+ is a pointer to a pointer to a null terminated string. The pointer
+ is set at the time the handler is registered. The pointed string
+ will have to be filled by the agent with its statistics data. For
+ now, only the interfaces and the stubs exist.
+
+- Disabled the timestamp cache as it still causes rounding problems
+ when calculating the current bitrate.
+
+nxcomp-2.0.0-51
+
+- Removed SelectPackMethod(), not used anymore, from Pack.c.
+
+nxcomp-2.0.0-50
+
+- Added the X_NXFinishSplit request. It forces the proxy to comple-
+ tely transfer all the split messages for the given resource, and
+ then notify the agent.
+
+- Fixed the statistics to not account the split bits to the control
+ token.
+
+nxcomp-2.0.0-49
+
+- Fixed a bug that caused the split timeout to be reset even if a
+ different channel had splits to send.
+
+- Removed an error condition that arose when a split operation was
+ requested by a different channel than the first to connect. The
+ reason is that an auxiliary channel (like the one created by the
+ server to store the keyboard configuration) can be the first to
+ open a connection to the X server, then can come the agent, that
+ is actually using the NX opcodes. The proxy will now simply print
+ a debug message.
+
+- Removed a further error condition that was assumed by the proxy
+ if a pending flush was detected while no channel was selected for
+ output. This can actually happen if the channel was dropped and,
+ in the meanwhile, the user requested the proxy statistics.
+
+nxcomp-2.0.0-48
+
+- Added a 'type' parameter to NXTransFlush(). The new NX_FLUSH_IDLE
+ type should be used by agents when they have finished handling all
+ their clients and are going to wait for more input. This is the
+ case, for example, of the X agent returning from WaitForSomething()
+ after having set a small timeout to find out if there are clients
+ ready, or the case of a RDP agent finding that there are no opcodes
+ to read from the RDP server. The 'idle' flush should be requested
+ also when the X11 agent is waiting for a split to complete. When
+ the flag is used, the proxy uses the available bandwidth to encode
+ more low-priority data, like the payload of images being streamed.
+
+nxcomp-2.0.0-47
+
+- Added a new RGB image encoder. For now the encoder uses a static
+ Z stream to compress the image data in the destination buffer and
+ allows the agent to use the simplest encoding by still separating
+ the alpha channel from the image data. The new encoder can be the
+ the base for implementing color reduction by dithering or a color-
+ mapped translation of the image similar to PNG, but without the
+ PNG overhead and with the colormap being sent to the client using
+ the NXSetUnpackColormap() opcode.
+
+- Put the routines implementing static deflating and inflating of
+ a ZLIB buffer from the Compressor and Decompressor classes to Z.h
+ and Z.cpp, so that they can be reused by the new RGB encoder.
+
+nxcomp-2.0.0-46
+
+- Fixed a segfault arising when trying to start a child without the
+ NX transport.
+
+nxcomp-2.0.0-45
+
+- Undefined the MATCH directive.
+
+nxcomp-2.0.0-44
+
+- Changed the encoding of the X_CreatePixmap, X_CreateGC, X_Render-
+ CreatePicture, X_CreateWindow, RenderCreateGlyphSet.cpp. The Xid
+ of the drawable is included in the checksum of the X_CreateGC and
+ X_CreatePixmap message. This leverages the way GC and Pixmaps are
+ allocated in the X agent to obtain better compression.
+
+- Removed the code handling the reset of the proxy connection. This
+ functionality was unused since when the persistence is handled by
+ the agent.
+
+- Added a specific section in the statistics output for the render
+ extension.
+
+nxcomp-2.0.0-43
+
+- Fixed a bug that could have caused the sending of multiple 'end
+ split' messages for the same split sequence.
+
+- Added handling of the option 'strict'.
+
+nxcomp-2.0.0-42
+
+- Added a missing channel switch directive when encoding abort split
+ messages at the server side. This could cause a decoding error on
+ the client.
+
+nxcomp-2.0.0-41
+
+- Ensured that the link is flushed immediately on the X server side
+ when important keyboard or mouse activity is detected in input.
+
+- Implemented a timestamp cache to avoid calling gettimeofday() when
+ it is enough to use the last timestamp gotten from the system. The
+ cache can be disabled by undefining CACHE_TIMESTAMP in Timestamp.h.
+
+nxcomp-2.0.0-40
+
+- Added the karma delay field to the X_NXGetControlParameters reply.
+
+- Solved a bug with the decoding of split messages likely to happen
+ only when using link type LAN.
+
+nxcomp-2.0.0-39
+
+- Implemented separate flow control for the generic channels and the
+ image streaming data.
+
+- Improved the split procedure to load a message from the disk cache
+ if found after it was originally discarded because locked.
+
+nxcomp-2.0.0-38
+
+- Renamed the 'shmem' option as 'shseg'. The 'shmem' option becomes
+ specific to the agent and will be used together with 'shpix' option
+ to indicate if, respectively, the shared memory extension and the
+ use of the shared pixmaps must be enabled in the agent server. The
+ new option will be instead used by the proxy to determine the size
+ of the memory segment shared between the proxy and the X server.
+
+- Added the 'shmem', 'shpix', 'keyboard' and 'clipboard' to the list
+ of ignored options. The 'keyboard' option should become a synonym
+ of 'kbtype'. The 'clipboard' option will tell the NX agent if the
+ clipboard support should be disabled for security reasons.
+
+nxcomp-2.0.0-37
+
+- Ensured that, when running a raw session, the persistent cache is
+ loaded and saved only once in the session lifetime.
+
+- Added the 'product' keyword to the list of recognized options. The
+ option is ignored by the proxy, but can be used by the client or
+ server to facilitate the support.
+
+nxcomp-2.0.0-36
+
+- Added the remote version number in the X_NXGetControlParameters
+ reply.
+
+- Solved a bug related to the removal of the split stores.
+
+- Removed the unused code dealing with the flush timeouts.
+
+nxcomp-2.0.0-35
+
+- Added an alert to notify the user about the failure of the XDMCP
+ session.
+
+nxcomp-2.0.0-34
+
+- The active channels and the agent resources are now stored in a
+ list container.
+
+- Added the X_NXFreeSplit request. The request is currently unused
+ because the split store is freed automatically when it becomes
+ empty, but can be useful in future if we want to implement other
+ otpimizations.
+
+nxcomp-2.0.0-33
+
+- There is now a split store for each agent resource. This allows
+ the proxy to divide the bandwidth among the agent resources.
+
+- A simple round-robin load-balancing is implemented, dividing the
+ bandwidth equally among all the split stores.
+
+- If there is a previous request being streamed for the same res-
+ ource, cached messages are appended to the split store and then
+ committed in the original order. This makes possible to stream
+ the colormap and the alpha channel data even if the split invol-
+ ves multiple PutImage or PutPackedImage operations in a single
+ start-split/end-split sequence.
+
+- Implemented the commit store class. Made the commit store expand
+ the message in the final buffer, instead of leveraging the mes-
+ sage store.
+
+- Channels having a drop command pending are checked before trying
+ to load or save the cache. This prevents a potential problem with
+ the protocol violation error that could be reported by the client
+ side proxy.
+
+- The current bitrate is now calculated at the time the transport
+ actually writes the data to the network, not at the time the data
+ is appended to the transport by the upper layers. The reason is
+ that the data can be compressed by the stream compressor and so
+ we can calculate the real bitrate only after having flushed the
+ ZLIB stream. This fixes the wrong numbers that could be reported
+ by the statistics in the previous versions.
+
+nxcomp-2.0.0-32
+
+- More progress in the implementation of the new image streaming.
+ This version has been tested to work when connecting to an 1.5.0
+ server. Due to the significant changes in the way the streaming
+ works in the newer versions, split is never activated by a 2.0.0
+ server connecting to a 1.5.0 client.
+
+- Fixed the NXTransClose() function to check if the fd matches the
+ NX agent connection.
+
+- Fixed the includes in Socket.h to compile on Solaris and MacOSX.
+
+nxcomp-2.0.0-31
+
+- Changed the NX transport functions that didn't require a NX fd
+ parameter to include one. The value can be NX_FD_ANY to signify
+ any running NX transport.
+
+nxcomp-2.0.0-30
+
+- More progress in the new implementation of image streaming.
+
+- This version is apparently compatible with the 1.5.0 client but
+ needs further testing.
+
+nxcomp-2.0.0-29
+
+- Implemented the NXTransHandler() interface and made the proxy
+ use the callback, when it is installed, instead of the notifi-
+ cation events.
+
+- Modified the agent transport to report an EOF condition as soon
+ as the channel is dropped, instead of reporting the error only
+ after the proxy shutdown. This allows the agent to handle its
+ clients while the proxy is handling the grace timeout.
+
+- Added a test facility to verify if the client and server caches
+ match at shutdown.
+
+- More advances in the new implementation of streaming.
+
+nxcomp-2.0.0-28
+
+- Made the session shutdown faster, normally below 1 second. The
+ grace time is now 500 ms once all channels have been dropped.
+
+nxcomp-2.0.0-27
+
+- The house-keeping process will now run a number of iterations
+ (currently 100) and then will exit. The proxy will check the
+ exit code and, if it was requested by the child, will restart
+ it. This is intended to keep the memory consumption low, as I
+ noted that after a big number of iterations the performance of
+ the allocator start to degrade quickly.
+
+nxcomp-2.0.0-26
+
+- Started implementing the NXTransHandler() interface to let the X
+ application hook a callback and be notified by the proxy when an
+ event occurs. At the moment only congestion events are supported.
+ The interface makes possible for the caller to provide a generic
+ parameter. This parameter is passed back to the handler function.
+ The parameter is expected to be the Xlib display pointer, given
+ that the proxy doesn't have access to the Xlib structures.
+
+- Moved all the internal variables shared between Xlib, nxcompext
+ and the X server in nxcomp. Declarations and function prototypes
+ moved to NXvars.h.
+
+- Removed the NXGetCleanupParameters() and NXGetImageParameters()
+ interfaces and the remaining references to the unused display
+ buffer and image cleanup functions.
+
+- In this version the images streaming functionality is disabled.
+ Because of that, expect compatibility problems when connecting
+ to a different nxcomp version.
+
+nxcomp-2.0.0-25
+
+- Forced the end of the session earlier if a shutdown has been re-
+ quested by the local side but the remote proxy is not responding.
+
+nxcomp-2.0.0-24
+
+- Changed the loop deleting the file items in Keeper to pick the
+ first element instead of looping through the iterator.
+
+- More problems with the libstdc++ allocators. During the tests, I
+ found that the Keeper class can leak industrial amounts of memory.
+ Valgrind says that the objects that are not freed are the File
+ items we allocate in collect(). As this looked suspicious, I log-
+ ged the constructors and destructors and can say that everything
+ is OK on our side. Unfortunately, by removing the spleeps used
+ to let the program work silently in background, one can find that
+ the memory occupation still grows by a MB every few seconds. This
+ is less a problem on Windows, where the memory occupation remains
+ almost constant. See the comment on __USE_MALLOC below.
+
+- Increased the maximum size of a message that the proxy is allo-
+ wed to cache to 4MB. This makes possible to cache many replies
+ (like the X_QueryFont replies) that often exceeded the previous
+ limit.
+
+nxcomp-2.0.0-23
+
+- Fixed a compatibility problem with the 1.5.0 that arose when
+ encoding an image with caching and streaming temporarily disa-
+ bled.
+
+- Removed the __USE_MALLOC define in Types.h because this is what
+ the g++ developers want. I'll try to avoid flames and will not
+ comment on this.
+
+- Added a --with-use-malloc configure option. This option should
+ be used when building the release packages on GCC versions that
+ support it.
+
+- Started fixing the commit procedure to be able to deal with the
+ alpha channel.
+
+nxcomp-2.0.0-22
+
+- Prevented channels from being dropped while in the middle of a
+ read loop.
+
+- Added a small utility ensuring that the SIGCHLD we receive in
+ the main loop can be always identified as pertaining to an our
+ child.
+
+- Increased the space available for the control messages at the
+ beginning of the encode buffer and ensured that there is always
+ enough space for adding a token message, in the case this is
+ required by the flush procedure.
+
+- Made all cache files readable only by the user.
+
+nxcomp-2.0.0-21
+
+- Solved a bug in the streaming of images that caused the agent's
+ clients to never resume when connected to an old proxy version.
+
+nxcomp-2.0.0-20
+
+- Disabled again streaming of the alpha channel data. By enabling
+ it, the agent randomly fails to repaint the exposed regions. The
+ reason is to be investigated.
+
+nxcomp-2.0.0-19
+
+- Implemented the split mode NXSplitModeSync. When this mode is
+ selected, the proxy will not send data for the split at the head
+ of the list until the remote peer has confirmed that the message
+ is not available in the image cache. This is going to be useful
+ in combination with the lazy encoding.
+
+- Improved the error detection in the case of failure when saving
+ a recomposed split on disk.
+
+- Added X_NXSetUnpackAlpha to the set of requests that is possible
+ to stream.
+
+nxcomp-2.0.0-18
+
+- Enabled the 2.0.0 features that were disabled for test purposes.
+
+- Changed the LICENSE file to state that the software is only made
+ available under the version 2 of the GPL.
+
+nxcomp-2.0.0-17
+
+- Introduced a new channel of type 'slave'. Opening a slave channel
+ should let the proxy fork a new NX client instance (or whatever
+ is in the NX_SLAVE environment) and pass to it the channel's desc-
+ riptors. This client instance should authenticate the peer, for
+ example using the proxy cookie (see how this is implemented in
+ nxsensor) and then negotiate the service to be used on the channel.
+ This can be used to implement forwarding of arbitrary ports or ad-
+ ditional services, like a simple file transfer protocol. For now
+ the implementation is incomplete. Opening a slave channel will
+ result in the remote proxy just dropping the channel connection.
+
+- The proxy is forcibly flushed at the end of each loop. This is a
+ temporary fix until the agents are updated to flush the proxy link
+ on demand.
+
+- Added a new alert to be used in the case the RDP session is closed
+ and replaced with a new session using the same Windows account.
+
+- Added a forward declaration of class RenderMinorExtensionStore in
+ file RenderExtension.h to compile using gcc 4.0.X.
+
+- Added removal of all .orig file when running a 'make clean'.
+
+- The code uses again the 2.0.0 style shutdown (the one waiting for
+ the watchdog process to terminate).
+
+nxcomp-2.0.0-16
+
+- Added the NXTransChannel() interface to allow agents to create
+ new channels connected to the port that will be forwarded by the
+ remote proxy. The function returns 1 on success, 0 if the NX
+ transport is not running, or -1 in the case of error. On success,
+ the descriptor provided by the caller can be used for all the
+ subsequent I/O, including selecting the descriptor to check if
+ I/O is possible. The type parameter not only tells to the proxy
+ the remote port where the channel has to be connected, but gives
+ a hint about the type of data that will be carried by the channel,
+ so that the proxy can optimize the compression and schedule the
+ traffic on the slow link.
+
+ The type can be:
+
+ NX_CHANNEL_X: The channel will carry X traffic and it
+ will be connected to the remote X display.
+
+ NX_CHANNEL_CUPS: The channel will carry CUPS/IPP protocol.
+
+ NX_CHANNEL_SMB: The channel will carry SMB/CIFS protocol.
+
+ NX_CHANNEL_MEDIA: The channel will transport audio or other
+ multimedia data.
+
+ NX_CHANNEL_HTTP: The channel will carry HTTP protocol.
+
+ NX_CHANNEL_FONT: The channel will forward a X font server
+ connection.
+
+ Only the proxy running at the NX server/X client side will be
+ able to create a X, CUPS, SMB, MEDIA and HTTP channel. A proxy
+ running at the NX client/X server side can create font server
+ connections. The channel creation will also fail if the remote
+ end was not set up to forward the connection.
+
+ To create a new channel the agent will have to set up a socket-
+ pair and pass to the proxy one of the socket descriptors.
+
+ Example:
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+
+ int fds[2];
+
+ if (socketpair(PF_LOCAL, SOCK_STREAM, 0, fds) < 0)
+ {
+ ...
+ }
+ else
+ {
+ //
+ // Use fds[0] locally and let the
+ // proxy use fds[1].
+ //
+
+ if (NXTransChannel(fds[1], NX_CHANNEL_X) <= 0)
+ {
+ ...
+ }
+
+ //
+ // The agent can now use fds[0] in
+ // read(), write() and select()
+ // system calls.
+ //
+
+ ...
+ }
+
+ Note that all the I/O on the descriptor should be non-blocking,
+ to give a chance to the NX transport to run in the background
+ and handle the data that will be fed to the agent's side of the
+ socketpair. This will happen automatically, as long as the agent
+ uses the XSelect() version of the select() function (as it is
+ normal whenever performing Xlib I/O). In all the other cases,
+ like presumably in the agent's main loop, the agent will have
+ to loop through NXTransPrepare(), NXTransSelect() and NXTrans-
+ Execute() functions explicitly, adding to the sets the descript-
+ ors that are awaited by the agent. Please check the implementa-
+ tion of _XSelect() in nx-X11/lib/X11/XlibInt.c for an example.
+
+nxcomp-2.0.0-15
+
+- Some changes aimed at finding a workaround to the unreliability
+ of the font server connections. The X server seems to be really
+ picky about the network latency, so we try to read immediately
+ from the channel just being created, instead of waiting for a
+ new loop. Additionally the proxy will keep reading from the font
+ server connections even after the maximum length of the frame
+ is exceeded, in the hope that it will be able to send a complete
+ message in a single frame.
+
+- updated the various internal consistency tests run when the TEST
+ or INFO flags are enabled.
+
+nxcomp-2.0.0-14
+
+- It seems that the closure of the socket sometimes takes several
+ seconds, on Windows, after the connection is broken, with the
+ result that the alert can be shown long after the user has gone
+ after the failed session. We now skip the closure of the proxy
+ link on Windows if we are about to exit.
+
+- The code uses the 1.5.0 style shutdown (the one waiting for the
+ term signal in the main process) to be able to test the library
+ with the old server. To activate the new shutdown procedure be
+ sure the define SHUTDOWN_COMPATIBLE_1_5_0 is unset.
+
+nxcomp-2.0.0-13
+
+- Ensured that static members in channels are reset at the time a
+ new proxy is created.
+
+- Adjusted the token parameters for link modes other than modem.
+
+nxcomp-2.0.0-12
+
+- Handled compatibility with 1.X.X versions not sending the count
+ field in the token.
+
+- The proxy link is now flushed automatically if the agent has not
+ set the deferred flush mode.
+
+nxcomp-2.0.0-11
+
+- Significant modifications to allow the proxy to keep data in the
+ encode buffer across multiple loops, until the data is flushed
+ because an explicit request by the agent or. Besides maximizing
+ the amount of data sent in a single frame, this makes it possi-
+ ble to move any packet coalescence strategy in the agent, while
+ still using an 'immediate' flush policy.
+
+- Modified the procedure handling the proxy congestion. Each token
+ now carries a counter which represents the multiple of TokenBytes
+ data bytes that need to be confirmed by the remote end. The ser-
+ ver side proxy will need to reply by including the value of the
+ counter. When sending a new token, the tokens are decremented by
+ the counter and the client side proxy enters in congestion when
+ the available tokens becomes zero or negative.
+
+nxcomp-2.0.0-10
+
+- Implemented specific encoding of the X_NXSetCacheParameters
+ request.
+
+- Handled the compatibility with older versions not supporting the
+ new request. In this case the request is handled at the local si-
+ de, preventing the X requests to be cached or split, even without
+ the cooperation of the remote side.
+
+nxcomp-2.0.0-9
+
+- Modified the shutdown procedure to not rely on the TERM signal
+ when the proxy needs to wait for the server to complete. We will
+ now print the following message in the session log:
+
+ Info: Watchdog running with pid 'n'.
+ Info: Waiting for watchdog process to complete.
+
+ The NX server will have to kill the process with the given pid
+ to mandate the proxy shutdown. This solves the TR11C01192.
+
+- Added the X_NXSetCacheParameters request. It tells to the proxy
+ how to handle caching of X requests, namely if requests should
+ be stored in the memory cache, split in smaller data chunks and,
+ in the case of images, saved on disk in the persistent image
+ cache. The request affects all the X messages until the proxy
+ is further configured.
+
+- Enabling and disabling loading and saving of persistent images
+ due to a X_NXSetCacheParameters is still to be implemented.
+
+- Implemented font channel compatibility with older versions. If
+ the font port is queried and the remote proxy doesn't support
+ the tunneling of font server connections, an empty string is
+ returned.
+
+- The option 'resize', used by agents, is now silently ignored.
+ This solves the TR10C01061.
+
+- Added the missing reference to TR08C000981.
+
+nxcomp-2.0.0-8
+
+- Discarded the first idea of setting the font path implicitly in
+ the X server side proxy, by means of a multi-pass operation and
+ added the NXGetFontParameters() request and reply. If the proxy
+ has been configured accordingly, the request returns the X font
+ path that can be set by the agent to tunnel the font server con-
+ nections through the NX link.
+
+- Changed the parsing of the font server port to be able to handle
+ the defaults.
+
+nxcomp-2.0.0-7
+
+- More work on tunneling of font server connections.
+
+- The synchronization requests are now replied at the same time
+ as a new request is received, by checking if the channel has
+ already gone past the awaited sequence number. This avoids the
+ delay caused by the previous versions in the case the expected
+ reply had been handled asynchronously, inside the write loop.
+
+nxcomp-2.0.0-6
+
+- The display is again passed to the client using the -display
+ parameter.
+
+- The option 'type' is now ignored at X server side. Support at
+ the X server side had been left for compatibility with older
+ versions of the proxy.
+
+- Added direct support for more session types, namely 'unix-cde',
+ 'unix-xdm', 'unix-console', 'unix-default'. The 'unix-console'
+ and 'unix-default', similarly to 'unix-application', will now
+ trigger the 'raw' mode.
+
+nxcomp-2.0.0-5
+
+- Renamed Png.h and Png.cpp to Pgn.h and Pgn.cpp to avoid name
+ clashes on Windows.
+
+- The distclean target now removes the autom4te.cache directory.
+
+nxcomp-2.0.0-4
+
+- Added the 'kill=n' option to let the proxy add the process to
+ the list of daemons that must be terminated at session shutdown.
+ Multiple 'kill=n' options can be specified. The proxy will send
+ to each process a SIGTERM signal before exiting.
+
+- Removed the code that forcibly disabled the RENDER extension on
+ Solaris. Eventual compatibility problems will be now handled in
+ the NX agent.
+
+- The path to the client executable is now assumed to be in the
+ NX_CLIENT environment. If the variable is not set, the proxy
+ will guess the location based on the target platform. This is
+ part of the FR11C01215.
+
+nxcomp-2.0.0-3
+
+- More code cleanup. Protocol step 5 and cache step 2 are assumed
+ by default. This allows us to remove the various channel caches
+ that are not used anymore.
+
+- Removed the outdated encodeBegin() and encodeEnd() methods.
+
+nxcomp-2.0.0-2
+
+- Added compatibility with the 1.5.0 and 1.4.0 versions. Protocol
+ version older than the 1.4.0 will cause the proxy to drop the
+ connection.
+
+- Rewritten the version negotiatiation logic to better handle the
+ compatibility between the local and the remote version.
+
+- Removed the conditional code handling the compatibility with
+ the protocol encodings from 1 to 4.
+
+- Small adjustments to the session negotiation procedure to give
+ more hints in the case of errors. A dialog is now issued if the
+ remote proxy drops the connection due to a probable authentica-
+ tion failure or when the remote proxy version is not compatible
+ with our version.
+
+nxcomp-2.0.0-1
+
+- Opened the 2.0.0 branch based on nxcomp-1.5.0-80.
+
+nxcomp-1.5.0-80
+
+- Fixed a bug that prevented the Unix socket to be created in the
+ right directory. This affected the ability of the server to run
+ NX sessions without the agent encoding.
+
+nxcomp-1.5.0-79
+
+- Solved a bug in the 15 to 16 bpp conversion for RDP sessions.
+
+- Corrected a typo in the PANIC message of Unpack16To24 function.
+
+- Optimized the 16 bpp RDP decompression routine.
+
+nxcomp-1.5.0-78
+
+- Implemented the FR11C01215. The following environment variables
+ are checked to determine the location of the relevant NX direct-
+ ories:
+
+ $NX_ROOT The root NX directory is the place where the session
+ directory and the cache files are created. This is
+ usually overridden by passing the 'root=' option. By
+ default, the root NX directory is assumed to be the
+ directory '.nx' in the user's home.
+
+ $NX_SYSTEM The directory where NX programs and libraries reside.
+ If not set, the value is assumed to be '/usr/NX'.
+ Programs, libraries and data files are respectedly
+ searched in the 'bin', 'lib' and 'share' subdirecto-
+ ries.
+
+ $NX_HOME The NX user's home directory. If $NX_ROOT is not set
+ or invalid, the user's NX directory is created here.
+
+ $NX_TEMP The directory where the X11 Unix Domain Sockets and
+ all temporary files are to be created.
+
+ $NX_CLIENT The full path to the nxclient executable. If the va-
+ riable is not set, the nxclient executable will be
+ run assuming that the program is in the system path.
+ This can be useful on platforms like Windows and the
+ Mac where nxclient is located in a different direct-
+ ory compared to the other programs, to make easier
+ for the user to execute the program from the shell.
+
+ Other environment variables:
+
+ $HOME The variable is checked in the case $NX_HOME is not
+ set, null or invalid.
+
+ $TEMP The variable is checked whenever the $NX_TEMP direct-
+ ory is not set, null or invalid.
+
+ $PATH The path where all executables are searched, except
+ nxclient. If $NX_CLIENT is not set, also the client
+ executable is searched in the system path.
+
+ $XAUTHORITY
+ This is the file containing the X11 authorization
+ cookies. If not set, the file is assumed to be in
+ the user's home (either $NX_HOME or $HOME).
+
+ $LD_LIBRARY_PATH
+ System-wide library search order. This should be set
+ by the program invoking the proxy.
+
+- Extended the usage message to document the relevant environment.
+
+- Made the WaitChild() function interruptible. This allows the user
+ to terminate the connection procedure immediately, by sending a
+ signal to the proxy process while an abort dialog is shown in the
+ foreground. This is part of the solution to the TR11C01216.
+
+- Implementation of the FR11C01215 is not yet complete. The client
+ program and the nxauth/xauth are still searched using the previ-
+ ous logic. In particular, the NX_CLIENT variable is ignored.
+
+nxcomp-1.5.0-77
+
+- Corrected the typo in the alert dealing with VNC authentication
+ failures. This solves the TR11C01199.
+
+nxcomp-1.5.0-76
+
+- Added the missing initialization in the client and server proxy
+ constructors.
+
+nxcomp-1.5.0-75
+
+- Starting from this version the build procedure will automatically
+ create a DLL on Windows.
+
+- Disabled exceptions in the compiled code.
+
+- Disabled run-time type information to further reduce the size of
+ the executable.
+
+- Compiling with GCC 4.0.0 and -fno-exceptions produces a warning
+ in some files, due to control apparently reaching the end of a
+ non void function. This is bogus and has been confirmed to be a
+ GCC 4.0.0 bug solved in more recent versions.
+
+nxcomp-1.5.0-74
+
+- Imported changes from nxcomp-1.6.0-4.
+
+- Solved a compilation error on Solaris and MacOSX platforms.
+
+- The 'font' option now accepts either a numeric value (for a TCP
+ port) or a 'unix/:port' or 'tcp/:port' specification. In the case
+ of Unix ports, we assume that a port specification "unix/:7100"
+ corresponds to the "/tmp/.font-unix/fs7100" socket and a port like
+ "unix/:-1" corresponds to "/tmp/.font-unix/fs-1".
+
+- An absolute file path is also accepted as a valid socket. This is
+ useful to test the forwarding of the font server connection, for
+ example by running a normal X client and pointing the socket to
+ the X server.
+
+- Protocol step 7 is now only assumed when connecting to a remote
+ proxy version 1.6.0 or later.
+
+nxcomp-1.5.0-73
+
+- Use the include files from nx-X11 if the nx-X11/include directory
+ is found. The previous configure checked the presence of nx-X11/
+ exports/include, that might not be built at the time this library
+ is compiled.
+
+nxcomp-1.5.0-72
+
+- Fixed a problem on AMD64 due to the size of the area pointed by
+ the argument of NXTransReadable(). The ioctl() requires a pointer
+ to an int, at least on Linux. The original _X11TransBytesReadable()
+ function simply calls the ioctl() by passing the pointer that is
+ provided. Returning the value assuming a pointer to a long crashes
+ some applications, among them xterm. Now NXTransReadable() follows
+ the same schema of the ioctl() call and stores the result assuming
+ a pointer to an int.
+
+nxcomp-1.5.0-71
+
+- Ensured that the NX trasport is destroyed on NXTransExit() even if
+ the parent has overridden our signal handlers.
+
+- Added attribute 'noreturn' to NXTransExit().
+
+- Small change to the shutdown procedure to send the "Waiting for a
+ further signal" just after the watchdog is started.
+
+nxcomp-1.5.0-70
+
+- Added the definition of protocol step 7. The new protocol step is
+ implicitly assumed when activating the font server channel, so that
+ NX clients and servers may decide what to do by verifying the patch
+ version of the peer software. This makes possible to activate the
+ feature without stepping up the 1.5.0 version of the software.
+
+nxcomp-1.5.0-69
+
+- Added the -fPIC GCC flag when compiling on AMD64 architectures.
+
+- Small changes to configure.in to have specific CFLAGS.
+
+- Created a new configure using autoconf 2.59.
+
+- Added the 'mask=n' option to determine how channel ids are distri-
+ buted between client ans server. By default, channels whose ids are
+ multiple of 8 (starting from 0) are reserved for the client side.
+ All other channels can be allocated at the NX server side.
+
+- A check is missing on the protocol supported by the remote side,
+ so it is likely that mixing this version with older 1.5.0 will not
+ work.
+
+- The release has the debug logs enabled.
+
+nxcomp-1.5.0-68
+
+- Added provision for opening new channels on both client and server
+ side. This required small changes to the way channel ids are mapped
+ and retrieved, so that both sides now support bidirectional mapping
+ of file descriptors to channels.
+
+- Made the code handling allocation of new generic channels to reside
+ in the base Proxy class.
+
+nxcomp-1.5.0-67
+
+- Renamed the 'embedded keyboard' channels as 'aux' channel.
+
+- Renamed 'samba' channels as 'smb'.
+
+- The 'samba' and 'smb' options can now be used interchangeably. The
+ same applies to the 'keybd' and 'aux' options, used to set up the
+ auxiliary X channel.
+
+- Added a new font channel. The channel is used to forward X font
+ server connections from the X server on the NX client to the remote
+ NX server. The channel is not yet functional and requires change to
+ the channel allocation mechanism.
+
+- Added a common interface to create new listening sockets. This is
+ currently used for additional services, but not for the X display
+ sockets.
+
+- Simplified the interface used to accept new connections to channels
+ being forwarded.
+
+- Removed the -V option as nxproxy is not using dlopen() anymore.
+
+- Removed the inclusion of ClientChannel.h in Proxy.cpp that caused
+ test symbols to be reverted to undefined.
+
+nxcomp-1.5.0-66
+
+- Made failures setting the IPTOS_LOWDELAY on the proxy socket to
+ cause a warning, instead of an error.
+
+- Made the clean target delete the Cygwin specific libraries.
+
+- Updated the configure and Message.h to deal with GCC 4. Solves the
+ TR08C000981.
+
+nxcomp-1.5.0-65
+
+- Removed the warning issued on parsing the agent option 'rootless'.
+ Solves the TR08C00959.
+
+- MacOSX 10.4 defines socklen_t. Made the definition conditional so
+ that we can still support older versions. Solves the TR07C00926.
+
+- Updated the ChangeLog to include references to the solved TRs.
+
+nxcomp-1.5.0-64
+
+- Imported the 1.6.0 changes in the maintenance 1.5.0.
+
+- Removed a wrong assertion that might cause the session to fail
+ when the software was compiled with TEST enabled in Proxy.cpp.
+
+- The nxclient dialog process is signaled with SIGKILL on Windows,
+ as the SIGTERM is ignored. This solves the TR07C00929.
+
+- Ensured the JPEG error flag is always set before jumping out of
+ the Jpeg decompression.
+
+- Skipped errors encontered setting the TCP_NODELAY flag on Mac.
+ Solves TR08C00940.
+
+- Few cosmetic changes.
+
+nxcomp-1.5.0-63
+
+- Ensured that the parent is checked often in the keeper process,
+ so that, in the case of a premature death, the child is exited
+ earlier.
+
+nxcomp-1.5.0-62
+
+- Some performance tuning of the LAN and WAN link modes.
+
+nxcomp-1.5.0-61
+
+- Fixed the problems arisen with loading or saving the image files
+ on Windows by forcing the streams to be opened in binary mode.
+ These problems have been triggered by the recent Cygwin upgrade.
+
+- Removed the logs that had be left enabled for test purposes.
+
+nxcomp-1.5.0-60
+
+- Made all errors encountered while unpacking an image just print
+ a warning in the session log. Such errors are not fatal but the
+ client monitors the state of the session at startup, so that by
+ marking image decompression errors as such may cause the session
+ to be aborted.
+
+- Marked as warnings also errors encountered by trying to load an
+ image from disk.
+
+nxcomp-1.5.0-59
+
+- When detected, the CTRL+ALT+SHIFT+ESC sequence is removed from
+ the event stream.
+
+- Also modified the message in the session log to issue a warning,
+ instead of an error.
+
+nxcomp-1.5.0-58
+
+- Added a setjmp() before yielding the control to the JPEG library.
+ This makes possible to recover from the JPEG decompression errors
+ that were previously fatal.
+
+- In the commit split request, the client id is now encoded by the
+ client channel beside the propagate flag. The client id is igno-
+ red by the decoding party. As in the old protocol versions, the
+ committing client is taken from the client id that was originally
+ sent together with the packed image.
+
+- Fixed the compilation problem when defining OPCODES in Misc.cpp.
+
+- Skipped the synchronous flush of the proxy link when connecting
+ to a previous NX version.
+
+- Ensured that the new alerts are only requested when connected to
+ a compatible proxy.
+
+- Ignored the option 'fullscreen', targeting the agents.
+
+nxcomp-1.5.0-57
+
+- Added more alerts and changed the name of those dealing with the
+ resume of a session.
+
+- Added the MIXED define. When set, the proxy will let all logs go
+ to the standard error. This is useful to interleave the Xlib log
+ output with the proxy output in a single file.
+
+- Added a new alert to report an I/O error at agent reconnection.
+ This is one of those alert that can't be actually shown, but are
+ included to offer a consistent view to the agent implementation.
+
+nxcomp-1.5.0-56
+
+- Added the split mode NXSplitModeSync. By selecting this mode,
+ the proxy will try to empty the split store immediately, until
+ all messages marked in such mode will be synchronized. The im-
+ plementation is left to future versions.
+
+ #define NXSplitModeSync 3
+
+- Added the messages specific to RDP and VNC sessions in NXalert.h.
+ Included are also a few alerts related to changes to the color
+ depth and desktop geometry that may be eventually mandated by the
+ remote server.
+
+- Corrected a typo in NXalert.h
+
+nxcomp-1.5.0-55
+
+- Added the 'mode' field in the X_NXStartSplit request. It determi-
+ nes the strategy that the proxy will adopt to handle the image.
+ If set to 'eager', the proxy will only split the messages whose
+ size exceeds the split threshold (the threshold can be found in
+ the X_NXGetControlParameters reply). If mode is set to lazy, the
+ proxy will split any image that it is not able to find in its
+ cache.
+
+ The opcode and the two available modes are defined in NXproto.h,
+ currently:
+
+ #define NXSplitModeDefault 0
+ #define NXSplitModeEager 1
+ #define NXSplitModeLazy 2
+
+- All requests related to image streaming now carry a 'resource' id.
+ The id is currently ignored by the proxy in the case of X_NXCom-
+ mitSplit requests.
+
+- Added a new NXSetSplitMode() request. It determines the strategy
+ that the proxy will adopt to stream the images. If set to 'eager'
+ the proxy will only split the messages whose size exceeds the
+ split threshold, otherwise it will split all the images, regard-
+ less their size. This is in preparation of the lazy encoding in
+ agent.
+
+- Slightly decreased the startup timeout compared to the value it
+ had in the 1.4.0. This timeout is used to retain the images used
+ during session startup in the persistent cache.
+
+nxcomp-1.5.0-54
+
+- Modified the text of the begin-reconnection alert to mention the
+ speed of the connection detected by the agent.
+
+nxcomp-1.5.0-53
+
+- Reworked the handling of the abort-split events issued by the re-
+ remote proxy so that we now finalize the procedure and restart the
+ client asynchronously, in the middle of the write loop.
+
+nxcomp-1.5.0-52
+
+- Rewritten the internal interface to the notification events. There
+ are now five different split notification events:
+
+ NXNoSplitNotify The operation didn't cause any actual split.
+ The client can be immediately restarted.
+
+ NXStartSplitNotify A split is ongoing. The client should be
+ suspended until the end of the split.
+
+ NXCommitSplitNotify A complete request has been recomposed. The
+ client can commit the given request to the
+ X server.
+
+ NXEndSplitNotify The split operation was duly completed. The
+ client can be restarted.
+
+ NXEmptySplitNotify No more split operation are pending. The
+ agent can use this information to implement
+ specific strategies, requiring for example
+ that all messages have been recomposed at
+ the remote end. This can include updating
+ the drawables that were not synchronized
+ because of the lazy encoding.
+
+- Removed the X_NXSync and X_NXKarma operations, not used anymore by
+ the NX agents.
+
+- Increasing or decreasing a timeout makes it respectively equal to
+ the base timeout or to the base timeout / 4.
+
+nxcomp-1.5.0-51
+
+- Improved the mechanism by which synchronization replies are sent
+ to the X client proxy.
+
+- Using the leftPad field as passed by the nxagent 1.5.0-58 doesn't
+ seem to work with the MIT-SHM. The workaround is to disable the
+ MIT-SHM operation in the case of 1 bpp images.
+
+- Removed the limitation on the size of the shared memory segment
+ that had been introduced for test purposes.
+
+nxcomp-1.5.0-50
+
+- Solved compilation problem when --with-info was not given.
+
+nxcomp-1.5.0-49
+
+- Improved support for color matching from 15 and 16 bpp to 24 and
+ 32 bpp in RDP sessions.
+
+- Solved TR05C00910. This was about "shadows" that might appear in
+ RDP sessions when small elements like tooltips were drawn.
+
+nxcomp-1.5.0-48
+
+- Added a 'commit' field in X_NXCommitSplit request. When zero, the
+ X server side proxy will unlock the message in the message store,
+ without actually committing the image to the X server. The new
+ field required changes to the encoding. This means that this ver-
+ sion is not compatible with older 1.5.0 nxcomp releases.
+
+- Added a new control message. This is used by NXTransFlush() to for-
+ ce a roundtrip between the proxies and speed-up the handling of
+ the synchronous replies.
+
+nxcomp-1.5.0-47
+
+- Made the timeouts dynamic, based on the user input and the current
+ bitrate.
+
+- Set the available tokens to 8. This allows for 16 KB to be sent on
+ a modem before having to wait for a reply.
+
+- Added provision for removing a dialog on the remote end. This can
+ be used, for example, to get rid of a message that was displayed
+ by the agent at the beginning of a lengthy operation.
+
+- Fixed a fault that arose when trying to run the proxy on a display
+ whose name began with the 'nx' string.
+
+- Running a client or server session on a display host beginning with
+ 'nx' should be now possible.
+
+- Flush is now always immediate when there is already data queued in
+ the TCP socket.
+
+nxcomp-1.5.0-46
+
+- Created the NXalert.h header from Alert.h to share the alert codes
+ with the agents. The new NXTransAlert() interface can be used to
+ start an alert on the remote side.
+
+- Created the NXTransParse*() and NXTransCleanup() wrappers.
+
+- Temporarily using the single-dash style when passing parameters to
+ nxclient until the double-dash style is fixed.
+
+nxcomp-1.5.0-45
+
+- Motion events are now flushed at the time the X server channel is
+ sending the token reply.
+
+- Renamed NXDialog() to NXTransDialog() and added a window ID parame-
+ ter, to be used by the agent when starting the "pulldown" dialogs.
+
+- Also renamed the other NX utility functions.
+
+nxcomp-1.5.0-44
+
+- Solved a bug that prevented auxiliary X connections from working
+ with the agent.
+
+- Added the missing check on the proxy pointer in HandleTimer() as
+ it may be actually called before the proxy is created.
+
+nxcomp-1.5.0-43
+
+- Started tuning the performance. For now, the available tokens are
+ set to an improbable value of 10000.
+
+nxcomp-1.5.0-42
+
+- Disabled the X server side remote expose events for test purposes.
+ This is intended uncover the display problems introduced by the
+ new handling of exposures in the X11 agent.
+
+- Fixed some timestamp related functions to avoid rounding problems.
+
+- Moved the timestamps of split, frame and flush from the Control
+ to the Proxy class.
+
+- Made the X server side proxy to skip updating the counters related
+ to token management.
+
+- Made also the X server side use deferred flushes.
+
+- Modified handleFrame() to manage both pings and data frames and
+ send the token before the actual write operation.
+
+- Cleaned the pseudo-files used to load the control parameters.
+
+- Cleaned up the FIXME's in the lower layers. More FIXME's remain in
+ the frontend classes.
+
+- Added a further counter to the statistics tracking the number of
+ network writes performed on the proxy link.
+
+nxcomp-1.5.0-41
+
+- Now the watchdog process doesn't kill the parent. The termination
+ event is determined by monitoring the child. This is advisable to
+ avoid interfering with the signal handling in agent.
+
+- The house-keeping process is not started if differential compres-
+ sion (and thus caching of images) is disabled.
+
+- Wait for the watchdog to terminate before starting the house-keep-
+ ing process.
+
+- Fixed the problem of gray stripes in white areas when using 15bpp
+ RDP compression. This solves the TR06C00916.
+
+- Added a log in Message.cpp to tell when an image is removed from
+ the memory cache.
+
+- Removed most of the logs. Only left the logs directly related to
+ the deferred flushes.
+
+- Removed a warning due to a missing definition in NX.h.
+
+nxcomp-1.5.0-40
+
+- Added the signal '12' to the set of blocked signal on Cygwin. This
+ is what is delivered to the application when it tries to create a
+ shared memory segment when the cygserver is not running. The call
+ later returns "Operation not implemented", only useful if you have
+ survived to the signal.
+
+- Modified the configure script to not link against cygipc.
+
+- Improved error handling in the negotiation phase.
+
+- Reset the last signal received when aborting a connection attempt.
+ Not doing that might cause a warning.
+
+nxcomp-1.5.0-39
+
+- Both channels and proxy can now deal with incomplete messages by
+ waiting for the full data to become available. This is not going
+ to work when the transport is connected to an agent that is run-
+ ning in-process, so the timeout must be really small.
+
+- Made the main loop more compact by letting a single function read
+ from proxy and channels. The same change applies to writing to
+ descriptors that are reported to be ready.
+
+- Optimized the loop to report as ready the agent descriptors that
+ have become available after the proxy execution phase.
+
+- Now the proxy will try to asynchronously read from its descriptor
+ after having read from the channel.
+
+- Unified the routine setting the routines setting the read and write
+ descriptors and the timeouts.
+
+- Unified the routine handling the channel events.
+
+- Reintroduced the last ping timestamp to avoid sending more than a
+ single ping every PingTimeout milliseconds.
+
+- The cleanup procedure now waits for the watchdog and house-keeping
+ processes to terminate.
+
+- Reverted the change occurred in 1.5.0-35 about the byte-ordering
+ problem in decompression of PNG and JPEG images.
+
+- More coding about deferred flushes.
+
+- Relevant debug logs are enabled in the main loop, in the proxy and
+ in the channel classes, so use only for testing.
+
+nxcomp-1.5.0-38
+
+- Started the implementation of deferred writes based on the new NX
+ transport.
+
+- Solved a problem with the statistics file affecting the Windows
+ platform. Basically it seems that Cygwin or the stdc++ library
+ don't deal correctly with files that are reopened just after
+ having unlinked them.
+
+- Implemented support for 15 bpp RDP bitmaps.
+
+- Added "rdpcolors" and "rdpcache" to the list of parameters that
+ are ignored in ParseEnviromentOptions().
+
+- This version has lot of logs enabled and some forced cleanups in
+ the case of unexpected conditions. Avoid to use it for long-last-
+ ing test sessions.
+
+nxcomp-1.5.0-37
+
+- Now splitting of images is fully disabled when running with link
+ LAN. Previously the split was not executed by the proxy, but the
+ agent was configured to send the start/end sequence.
+
+- Added the check protecting the proxy from token underflow. In the
+ previous code the check was left out to verify the conditions un-
+ der which this event might be encountered.
+
+- NXTransWrite() and NXTransWriteVector() allocate a context before
+ calling handleRead(), so they can correctly return in the case of
+ a cleanup.
+
+nxcomp-1.5.0-36
+
+- Modified the channel write loop to interleave abort split events
+ between the writes to the X server socket.
+
+nxcomp-1.5.0-35
+
+- Solved a byte-ordering problem in decompression of PNG and JPEG
+ images.
+
+- Changed the handleToken() interface to make explicit if a token
+ must be issued because of a ping.
+
+- Small fix to prevent a warning in Jpeg.cpp when TEST is enabled.
+
+nxcomp-1.5.0-34
+
+- Solved a few problems introduced by the rewrite of the read loops
+ in channels.
+
+- Added definition of NXCollectInputFocusNotify.
+
+nxcomp-1.5.0-33
+
+- Implemented a new control flow system based on tokens exchanged bet-
+ ween the proxies. When the clint side runs out of tokens it stops
+ sending data until a new token is returned. Tokens are sent whenever
+ the data written to the socket exceeds the amount of data set for a
+ scheduled write, so the proxy is free to send a number of smaller
+ frames before running out of tokens.
+
+- The reason the new system is introduced is because the old method
+ had two outstanding problems:
+
+ - It worked very well when the proxies were directly connected,
+ but couldn't reliably detect a link congestion when tunneled
+ over SSH.
+
+ - In the attempt of reducing the data queued to the TCP layer, it
+ didn't leverage all the available bandwidth.
+
+- Moved the final check on the state of the session at the end of
+ execution stage, instead of the beginning. The signals sent by the
+ user to request the statistics could be reset before the proxy had
+ entered the right procedure.
+
+- Added the session type 'unix-rootless', to be used for single apps
+ run with the agent in rootless mode.
+
+nxcomp-1.5.0-32
+
+- Modified the main loop to skip the select when I/O is possible on
+ any of the agent descriptors or the proxy link.
+
+- Now the house-keeping process is allocated in the heap instead of
+ the stack.
+
+nxcomp-1.5.0-31
+
+- The server channel now performs asynchronous reads from the display
+ by interleaving them with data decoded from the remote proxy.
+
+- Improved the handling of the memory-to-memory transport.
+
+nxcomp-1.5.0-30
+
+- Redesigned the handling of the congestion events to work more re-
+ liably and to report the events to the remote peer earlier.
+
+- Increased the size of the shared memory segment when the MIT-SHM
+ extension is activated.
+
+- Solved a bug that prevented the ping timeout to work as expected.
+
+- Ensured that, when entering the main select(), neither the chan-
+ nels or the proxy have pending messages in the read buffers.
+
+- There is now only a single case where we can have pending messa-
+ ges, namely in the handling of the MIT-SHM events.
+
+- Solved a bug introduced by the 1.5.0-29 that made the proxy en-
+ ter the select with a null timeout.
+
+- Renamed LINK_TYPE_AUTO to LINK_TYPE_NONE in NXproto.h.
+
+nxcomp-1.5.0-29
+
+- Now encoding data from the agent descriptors happens in the same
+ context as data is written to the buffer.
+
+- Optimized the handling of the congestion events to avoid running
+ further unneeded loops.
+
+- Added timer handling utilities.
+
+nxcomp-1.5.0-28
+
+- Added code providing information about the reason of the failure
+ encountered connecting to the local X server. This greatly helps
+ when troubleshooting X authorization problems.
+
+- On connection failure a warning message is printed in the session
+ log.
+
+- Removed the warning that was previously printed when the MIT-SHM
+ extension failed to be initialized on Windows. Shared memory has
+ problems on Cygwin and it currently doesn't work in NXWin.
+
+- Reworked the message printed in the case of link failure.
+
+nxcomp-1.5.0-27
+
+- Solved a bug in the connection procedure introduced by 1.5.0-25.
+
+nxcomp-1.5.0-26
+
+- Transformed the errors printed on failure of the fork() creating
+ the children into warnings. This can happen quite often on Win-
+ dows, due to well known Cygwin problems. See also the ChangeLog
+ entry for nxcomp 1.4.0-28. This patch closes the TRSL052278 but
+ it's obviously not a long-term solution.
+
+- Set the sticky bit when creating the '/tmp/.X11-unix' directory.
+
+- Modified the Makefile.in to remove the *.out.* files generated by
+ Valgrind.
+
+- Updated the README files.
+
+nxcomp-1.5.0-25
+
+- Changed the directory where the client for the Mac is searched if
+ it is not found in the system path.
+
+- Modified Auth.cpp to use nxauth also on the Mac.
+
+- Reworked the procedure showing the alert dialog when a timeout is
+ encountered in the initial connection.
+
+- Removed the experimental code from the official 1.5.0 branch.
+
+nxcomp-1.5.0-24
+
+- Implemented more experimental classes.
+
+nxcomp-1.5.0-23
+
+- Added the NX_SIGNAL_FORWARD action to NXTransSignal(). This can
+ be used to let the proxy call the original signal handler of the
+ agent after having blocked the signal.
+
+nxcomp-1.5.0-22
+
+- Ensured that we always have a context, even before creating the
+ transport.
+
+- Suppressed the error message printed when passing the -h option.
+
+- Added the experimental code that is currently under development.
+
+nxcomp-1.5.0-21
+
+- Enabled the fake X cookie authentication. This requires checking
+ the remote proxy version to verify that the server supports the
+ new authorization mechanism.
+
+- It's worth noting that the X client side proxy doesn't care which
+ cookie is sent over the connection. The problem is that clients
+ connecting to 1.4.0 servers don't have a method to force the ser-
+ ver to use the fake cookie. This means that we have to solve the
+ problem by letting the proxy check the remote version so that it
+ can omit to replace the cookie when connecting to older servers.
+
+nxcomp-1.5.0-20
+
+- Added the NXTransCongestion() function. It returns true if proxy
+ is in congestion state.
+
+- Removed an incorrect warning that was printed when calling force()
+ for the memory-to-memory transport. The agent could actually re-
+ quire multiple loops to read all data queued for it.
+
+nxcomp-1.5.0-19
+
+- Small optimization in NXTransReadable() to run a new NXTransConti-
+ nue() loop only after at least RetryTimeout milliseconds are pas-
+ sed since the last call and still no data is available. This cuts
+ the number of unneeded loops to 1/4th of the total, probably more,
+ on faster machines.
+
+- Added NXCollectGrabPointerNotify to NXproto.h.
+
+nxcomp-1.5.0-18
+
+- Minor changes to NXTransContinue().
+
+nxcomp-1.5.0-17
+
+- Moved respawning of a new nxclient instance in the cleanup procedu-
+ re. This ensures that the respawn is executed whatever is the rea-
+ son of the session shutdown.
+
+- Added a method to force closure of a given channel in proxy.
+
+- Removed code handling the special case triggered on Windows by the
+ presence of a NX_SESSION variable in the environment.
+
+nxcomp-1.5.0-16
+
+- Added the NXTransSignal() function to let agents tell to the proxy
+ how to handle the standard POSIX signals. Given the SIGINT signal,
+ for example, the caller can specify any of the following actions.
+
+ NX_SIGNAL_ENABLE: A signal handler will have to be installed by
+ the library, so that it can be intercepted by
+ the proxy.
+
+ NX_SIGNAL_DISABLE: The signal will be handled by the caller and,
+ eventually, forwarded to the proxy by calling
+ NXTransSignal() explicitly.
+
+ NX_SIGNAL_RAISE: The signal must be handled now, as if it had
+ been delivered by the operating system. This
+ function can be called by the agent with the
+ purpose of propagating a signal to the proxy.
+
+ As a rule of thumb, agents should let the proxy handle SIGUSR1 and
+ SIGUSR2, used for producing the NX protocol statistics, and SIGHUP,
+ used for disconnecting the NX transport.
+
+- The following signals are blocked by default upon creation of the
+ NX transport:
+
+ SIGCHLD These signals should be always put under the control
+ SIGUSR1 of the proxy. If agents are intercepting them, agents
+ SIGUSR2 should later call NXTransSignal(..., NX_SIGNAL_RAISE)
+ SIGHUP to forward the signal to the proxy.
+
+ SIGINT These signals should be intercepted by agents. Agents
+ SIGTERM should ensure that NXTransDestroy() is called before
+ exiting, to give the proxy a chance to shut down the
+ NX transport.
+
+ SIGPIPE This signal is blocked by the proxy, but not used to
+ implement any functionality. It can be handled by the
+ NX agent without affecting the proxy.
+
+ SIGALRM This is not blocked by the proxy, but could be used
+ in future.
+
+ SIGVTALRM These signals are not used and should not be used in
+ SIGWINCH future versions of the library.
+ SIGIO
+ SIGTSTP
+ SIGTTIN
+ SIGTTOU
+
+- By calling NXTransSignal(..., NX_SIGNAL_DISABLE) nxcomp will res-
+ tore the signal handler that was saved at the time the proxy hand-
+ ler was installed. This means that you should call the function
+ just after the XOpenDisplay() or any other function used to init-
+ ialize the NX transport.
+
+nxcomp-1.5.0-15
+
+- In NXTransContinue(), if the transport is gone, return immediately,
+ that is without having to wait until the NXTransSelect() timeout.
+
+- Ensure that NXTransCreate() has a jump context, just in the case
+ a subsequent operation would cause a cleanup.
+
+nxcomp-1.5.0-14
+
+- Solved a problem with requests left in the agent's buffer when run-
+ ning the NX transport. The agent could have enqueued data to our
+ side and checked the available events but requests could not be
+ written to the proxy because proxy might not have had a chance to
+ enter a new select. We found that this behaviour was triggered by
+ _XEventsQueued, so now a new loop is forced when agent is calling
+ _X11TransDataReadable. The procedure can be optimized, by avoiding
+ an expensive loop when no critical I/O is pending.
+
+- Added a few additional logs to ClientChannel and ServerChannel.
+
+nxcomp-1.5.0-13
+
+- Added the code handling the special cases of an user not specifying
+ a proxy cookie or the case of the X authorization file not contain-
+ ing a value matching the display. In the first case we'll forward
+ the same cookie that was feeded to the proxy, in the second case we
+ will forward to the X server a random generated cookie, similarly to
+ what SSH does in this same condition.
+
+- Rewritten the command line parser. Removed all the command line
+ options parsed on behalf of nxproxy except:
+
+ -C Specify that nxproxy has to run on the "X client"
+ side, listening for connections and impersonating
+ an X server.\n\
+
+ -S Specify that nxproxy has to run in "X server" mode,
+ thus forwarding the connections to daemons running
+ on the client.\n\
+
+ -V n.n.n Request nxproxy to load the given nxcomp version.
+ This option is only present on Solaris and Linux.
+
+ -v Print version information.
+
+ host:port Put at the end, specifies the host and port of the
+ listening proxy.
+
+ value=name Set the NX option to the provided value.
+
+ Multiple NX options can be specified in the DISPLAY environment or
+ on the command line, by using the nx/nx,name=value notation.
+
+- The above information is printed on the console when incurring in
+ a parse error, together with a list of the available option=value
+ parameters.
+
+- Renamed the 'log' option to 'errors'. This makes sense as the de-
+ fault name for the log file is actually 'errors'.
+
+- Now the "Established X server connection" message is printed to
+ the session log only after the X connection has passed the X auth-
+ entication phase. This means that the NX client should become able
+ to show the details of the session log whenever the session fails
+ due to a cookie problem.
+
+- When selecting the additional services without specifying a port,
+ the client proxy will now automatically forward the connections to
+ the corresponding well-known ports of the CUPS, SMB and HTTP servi-
+ ces. Embedded X keyboard connections will be automatically forward-
+ ed to the same display port used to connect to the X server. The
+ user will still have to specify the port to be used for the media
+ connections as we don't have a suitable well-known port.
+
+- Starting from this version, connections to the keybd port will cre-
+ ate real X connection channels. This is required to let connections
+ leverage the fake authorization cookie.
+
+- By testing the forwarding of keybd connections I found that, when
+ letting X clients connect to the port, it is required to provide
+ the X cookie for the unix display. Adding only the TCP cookie will
+ not work. For example, by creating a cookie as in:
+
+ xauth add localhost:2009 MIT-MAGIC-COOKIE-1 6f...f4
+
+ And running:
+
+ xterm xterm -display localhost:2009
+
+ You will get the following error:
+
+ Xlib: connection to "localhost:2009.0" refused by server
+ Xlib: No protocol specified
+
+ Adding also the unix cookie will fix it:
+
+ xauth add localhost/unix:2009 MIT-MAGIC-COOKIE-1 6f...f4
+
+ This seems to be a Xlib problem, with Xlib trying to get the cookie
+ for the UDS port even if the TCP port was requested by the user.
+
+- Fixed a bug that prevented the nxclient dialog to be displayed when
+ the session was abruptedly shut down.
+
+- Fixed the compilation error on Apple MacOSX due to the sa_restorer
+ field in sigaction. As long as this field is present on Linux we
+ will keep following the safer route and will set it explicitly to
+ NULL.
+
+- Included what needs to be included in Process.cpp to compile with
+ older gcc.
+
+nxcomp-1.5.0-12
+
+- Implemented a replacement for the popen() and pclose() that do not
+ rely on a shell to run the command. They were required on Windows,
+ where we don't ship a suitable shell in the install.
+
+- Removed code forcing the PATH to include the bin directory on
+ Windows.
+
+nxcomp-1.5.0-11
+
+- Forced Auth.cpp on Windows to have the directory containing the
+ nxauth executable in the PATH. This is just for testing, until
+ nxclient is fixed.
+
+- Fixed compilation errors on Cygwin and Sun.
+
+- Removed the NX_FORCE_* stubs.
+
+nxcomp-1.5.0-10
+
+- Modified the memory management policies in ReadBuffer to fit all
+ the available bytes in a single buffer allocation.
+
+- The locateMessage() methods now give hints on the amount of data
+ that has to be read.
+
+- The read loop in channel now doesn't yield in the case of prio-
+ ritized messages. This is experimental.
+
+- Removed the check on isTimeToYield() between encodings of multi-
+ ple messages. This is aimed at reducing the risk of leaving pen-
+ ding messages in channels.
+
+- Modified the channels' read loop to always read all the available
+ data.
+
+- Disabled the log output that was selected when compiling with the
+ configure option --with-info. This leaves space for other log out-
+ put to be selected for more up-to-date scopes.
+
+- Implemented the NXTransReadVector() and the NXTransWriteVector()
+ functions to replace READV() and WRITEV().
+
+- Implemented memory-to-memory communication between the agent and
+ the NX proxy by making use of the NXTransAgent() interface in the
+ nx-X11/lib/X11/Xtranssock.c file.
+
+- Added a check in NXTransSelect() for the EBADF and, on Solaris,
+ the EINVAL errors. It can happen in the X11 code that a descript-
+ or has become invalid before it is removed from the managed set
+
+- Rewritten the signal handling functions to restore the old actions
+ and masks when the NX transport is destroyed.
+
+- Added a NXTransAgent() function to let agents tell the proxy which
+ descriptor must be used for the controlling connection. Setting a
+ controlling connection has the effect of disabling further X client
+ connections and makes the proxy terminate when the channel is shut
+ down.
+
+- Solved a problem with setting the initial timeout in the select().
+
+- Modified the Makefile.in to not include -Wno-deprecated when compi-
+ ling C programs.
+
+nxcomp-1.5.0-9
+
+- Fixed a problem that prevented the 1.5.0-8 to work on the NX server
+ side.
+
+- This version has NX_FORCE_NULL_LISTEN_OPTION and NX_FORCE_NEW_SES-
+ SION_OPTION undefined, so it should work in a way that is compati-
+ ble with the old nxcomp.
+
+nxcomp-1.5.0-8
+
+- The new code comes with a preliminary integration of nxcomp with
+ SSH. It is now possible to create the NX transport by just calling
+ the "switch" command as in the following example:
+
+ NX> 299 Switching connection to: NX options: ...
+
+- Other possible forms for the NX switch command are:
+
+ NX> 299 Switching connection to: NX mode: ...
+
+ NX> 299 Switching connection to: NX mode: ... options: ...
+
+ Or just:
+
+ NX> 299 Switching connection to: NX
+
+ The "mode" parameter is there to provide a way to run both enc-
+ rypted and unencrypted connections. Possible values are "encrypt-
+ ed", "unencrypted" or "default", the latter being an alias for
+ "encrypted". Unfortunately I was not able to test unencrypted
+ connections, so this may or may not work.
+
+- The top-level process can create the NX transport layer by calling
+ NXTransCreate(). The user has to set up a socket pair and pass the
+ higher descriptor to nxcomp. nxcomp will later monitor its end, by
+ reading and writing NX-encoded traffic. The user has to call the
+ NXTransExecute() function as often as it is possible, by letting
+ first NXTransPrepare() combine the sets of NX descriptors with the
+ descriptors that are used inside its process. A custom NXTransSel-
+ ect() is provided to optionally replace the original select(). This
+ function saves the original error code and the number of selected
+ descriptors upon exit, so the user can call it, restore the original
+ values as they were returned by the select() and run the rest of
+ the loop unmodified.
+
+- Future versions of the library should provide appropriate methods
+ for passing data to and from the proxy by means of a memcpy(), so
+ that it will be possible to remove the even minimal TCP overhead.
+
+- Note that integration is far from complete. More work is required
+ especially to manage the shutdown cleanly, in a way that gives to
+ SSH a chance to free its resources, and on adding facilities for
+ handling SSH and NX signals in a single function.
+
+- Rewritten the initialization procedure to make possible to run the
+ proxy in-process in an arbitrary connection manager, like SSH or a
+ HTTP utility. The same functionality can be used to embed nxcomp in
+ the NX agents, so that nxcomp has not to run in a separate process.
+
+- A new state-machine handles the advances through the connection
+ stages until the remote proxy (or the forwarder process ) is auth-
+ enticated, options have been negotiated and the session is started.
+
+- The option "session" is now used to pass the name of the session
+ file to the proxy. The parameter was previously used to pass the
+ literal name of the session, as set by the user, and was ignored
+ by the proxy. By default the session log is the standard error of
+ the process. It is anyway required to set the option when running
+ inside SSH, otherwise output will go to the same file as the SSH
+ output. In the NX client this would be the 'sshlog' file.
+
+- This version can be easily crafted to test the new integration by
+ setting the following define:
+
+ NX_FORCE_NULL_LISTEN_OPTION
+
+ This makes possible to test the nxcomp/nxssh integration by using
+ any production 1.4.0 client. To run this version you are required
+ to use nxproxy 1.5.0-4 and nxssh-1.5.0-6.
+
+- New functions handling enabling and disabling signals, based on
+ sigprocmask().
+
+- Improved error reporting when failures are encountered while ne-
+ gotiating the session.
+
+nxcomp-1.5.0-7
+
+- Caches are saved with a version identifier 1.4.0 so that they are
+ not discarded after upgrading the software to the 1.5.0.
+
+- Made values of T_* enumerations to be all lower case.
+
+- Updated copyright to year 2005.
+
+- Started working on an interface for running nxcomp in-process, as
+ a additional transport layer of nxssh or nxagent.
+
+nxcomp-1.5.0-6
+
+- Modified the configure script and the makefiles to not include the
+ -Wstrict-prototypes and -Wmissing-prototypes compilation flags. The
+ -Wnested-externs and -Wmissing-declarations flags are not included
+ when using GCC 3.
+
+- Removed the initial newline from string "NXPROXY - Version" printed
+ at program startup.
+
+- Made X authentication compatible with 1.4.0 clients. This is a tem-
+ porary solution while code is updated to handle the new X authori-
+ zation scheme.
+
+nxcomp-1.5.0-5
+
+- Added an Auth class to handle the X authentication. The NX server
+ should now use the same proxie cookie that is passed by the client
+ at session startup. The X server side proxy will forward the autho-
+ rization credentials by replacing the fake cookie with the real co-
+ okie, as it is read from the auth file using the xauth utility. The
+ implementation is based on the corresponding code found in the SSH
+ client and comes with the same limitations: only MIT-MAGIC-COOKIE-1
+ cookies are checked and the authorization file is read only once,
+ at the time the instance is initialized. If the auth file changes
+ along the life of the session, the old cookie will still be used.
+ This works with X servers because of an undocumented "feature".
+ See also nx-X11.
+
+nxcomp-1.5.0-4
+
+- Adjusted for alarm(0) returning an inconsistent value in ConnectTo-
+ Remote().
+
+- Small changes to Types.h, Jpeg.cpp and Png.cpp to compile with gcc
+ 3.4.2.
+
+- Cosmetic changes to the ChangeLog file.
+
+nxcomp-1.5.0-3
+
+- Removed test code from ServerChannel.cpp.
+
+- Small cosmetic change in Loop.cpp.
+
+- Tested for compatibility against 1.4.1-8.
+
+nxcomp-1.5.0-2
+
+- Changed VERSION file according to TRCL052336.
+
+nxcomp-1.5.0-1
+
+- Opened the 1.5.0 branch based on 1.4.1-9.
+
+nxcomp-1.4.1-9
+
+- Implemented methods PACK_RDP_PLAIN_64K_COLORS and PACK_RDP_PLAIN_-
+ 16M_COLORS. It seems that 16 bpp plain bitmaps can be seldom recei-
+ ved. This doesn't seem to be the case of 24 bpp bitmaps.
+
+nxcomp-1.4.1-8
+
+- The new code enables use of 16 bpp and 32 bpp RDP bitmaps. This re-
+ quired modifications to the following files:
+
+ Misc.h
+ Misc.cpp
+ Loop.cpp
+ Control.cpp
+ ServerChannel.cpp
+ Unpack.h
+ Unpack.cpp
+
+- Lots of cosmetic changes compared to the original code in 1.4.1-7.
+
+- Merged the 1.4.0 and the 1.4.1 branches by importing changes up to
+ the 1.4.1-7.
+
+nxcomp-1.4.0-30
+
+- Modified the function checking the Unix socket where X connections
+ will be forwarded. The function will not fail if the socket itself
+ doesn't exist yet. This solves the TRCL042203.
+
+- Moved the code checking for the CTRL+ALT+SHIFT+ESC sequence to a
+ separate function. The implementation will now look for a different
+ sequence on the MacOS/X platform. This should solve the TRCL042182.
+
+nxcomp-1.4.0-29
+
+- Solved a bug that could cause proxy to stop reading data from the
+ X channels due to an incorrect calculation of the bytes queued on
+ the proxy link. The bug only affected Linux kernels of the 2.0/2.2
+ series.
+
+- Fixed a problem in the proxy class that could let the select time-
+ out to become zero.
+
+nxcomp-1.4.0-28
+
+- Prevented the main proxy process from quitting when the fork() of
+ any of the children fails. This can actually happen on Windows due
+ to conflicts in reallocating any of the Cygwin DLLs.
+
+- Reworked handling of the priority flag in channels when dealing
+ with the X_InternAtoms and X_AllocColor requests to reduce the time
+ of session startup. Priority is never set in case of X_InternAtom
+ requests and replies as we assume that most clients use the appro-
+ priate Xlib function to pipeline multiple requests in a single net-
+ work operation.
+
+- The timeout after which proxy will abort the peer connection is
+ still 120 seconds. An alert dialog will be shown earlier, after 30
+ seconds instead of 60.
+
+nxcomp-1.4.0-27
+
+- Removed the code setting priority on channels on ButtonPress and
+ Button release events. It seems preferrable to delay the flush and
+ pack more events in a single frame. This makes possible to get the
+ ButtonRelease together with the ButtonPress.
+
+- Fixed error detection in SetNoDelay() where a positive result
+ could produce a 'not supported' message in debug mode.
+
+nxcomp-1.4.0-26
+
+- Reworked the check aimed at detecting the clock drifts. The previ-
+ ous code, introduced in 1.3.2-2, had the undesired side-effect of
+ resetting the proxy timeout. This could cause the proxy to never
+ detect that the other end had been killed.
+
+- The default behaviour of proxy is now to terminate the session at
+ the time an error is encountered. This includes network failures.
+
+- Added a new dialog to be shown to the user whenever the session
+ is terminated abnormally.
+
+nxcomp-1.4.0-25
+
+- Fixed a bug in handling of suppression of errors generated by
+ committing the image splits. Other errors, unrelated to the commit
+ of split, could be suppressed. This might cause the hangup of the
+ session when the suppressed error was matching a reply.
+
+nxcomp-1.4.0-24
+
+- When killing the proxy process -9 the watchdog could remain alive.
+ This caused the SSH link to keep the stderr open, with the effect
+ that former proxy message were not flushed to the session log.
+ Now the watchdog checks every second if the parent is dead, so
+ that file descriptors can be closed as soon as possible.
+
+- SetupDisplaySocket() tried to force the connections to the X
+ server on the UNIX port whenever the display was set to localhost.
+ This patch was intended to fix a bug in nxclient, using the TCP
+ port even when the display was set to a UNIX socket. This beha-
+ viour caused problems when running nxclient on a remote host by
+ means of a ssh -X. Proxy will now adhere to the display setting.
+
+nxcomp-1.4.0-23
+
+- Added the possibility to respawn nxclient at the end of session.
+ This is an useful feature when powering thin-clients where NX
+ is the only application made available.
+
+- This configuration applies system-wide to the local client ins-
+ tallation. By default it is disabled. It can be enabled by the
+ by creating a 'noexit' file in the directory '/usr/NX/share',
+ or at compile time, by setting ENABLE_RESTART_ON_SHUTDOWN to 1.
+
+- Note that the solution is not perfect yet, as there are cases
+ where session could die without going through HandleShutdown(),
+ for example if a decoding error is raised in the communication
+ with the remote peer and the subsequent restore of the proxy
+ link fails to succeed.
+
+nxcomp-1.4.0-22
+
+- Corrected typos in Timestamp.h and Loop.cpp.
+
+nxcomp-1.4.0-21
+
+- Tuned the handling of RenderCompositeGlyphs. Now compression of
+ RENDER shows an average ratio of 8:1. This is a steady increase
+ compared to the 5:1 of the 1.3.2 version. The overall advantage
+ when running clients displaying a large amount of text is 30%.
+
+nxcomp-1.4.0-20
+
+- Added a new message store for the CreatePixmap request.
+
+- Fixed handleCopy() to only send the data part past the offset.
+ This fix can save a significant amount of traffic, especially
+ when sending many small images whose size doesn't reach the
+ threshold set for compressing them.
+
+nxcomp-1.4.0-19
+
+- Added tuning of all the RENDER requests. RenderCompositeGlyphs
+ will require further work.
+
+- Completed porting of the RENDER requests to the new templates.
+
+nxcomp-1.4.0-18
+
+- Tuned the handling of RenderCreatePicture and RenderFreePicture.
+
+- Created a new template system for writing new message encoders.
+
+- Renamed getBits() in EncodeBuffer with diffBits(). The getBits()
+ method now returns the bits actually allocated in the buffer and
+ can be called multiple times.
+
+nxcomp-1.4.0-17
+
+- Provided specific encoding of the remaining RENDER requests and
+ added compression of RenderCreateGlyphSet.
+
+nxcomp-1.4.0-16
+
+- Code underwent through 7 different patch versions but seems to
+ be stable now. It still needs to provide specific encoding for
+ RenderCreatePicture RenderChangePicture and RenderFreePicture.
+ Code will likely include incompatible changes at any new version
+ until the new encoding will stabilize, so be sure that you use
+ the same nxcomp version at both sides.
+
+- Created the infrastructure for compressing extension messages
+ based on the minor opcode. A new class, MinorMessageStore, has
+ to be inherited by stores requiring specific compression, so
+ that all the encoding methods of the parent can be redirected
+ to it. The RENDER extension is now compressed using this new
+ class.
+
+- Managed to maintain the compatibility with caches created by the
+ 1.3.X version. Caches will be saved using the old format if the
+ remote version is not a 1.4.x. When restoring a cache created
+ by the 1.3.x with both proxies being the newest version, RENDER
+ mesages will be discarded without having to discard the whole
+ cache.
+
+- Added a member to the message class to store the identity size.
+ This field is now used instead of the default data offset to
+ manage the message data, that is the part of message after the
+ identity.
+
+- Removed the warnings printed in the session log when passing the
+ 'kbtype' and the 'geometry' options to the proxy. These options
+ are actually used by agents.
+
+nxcomp-1.4.0-15
+
+- Started implementation of the new framework for handling enco-
+ ding of X extensions.
+
+- Renamed the overloaded methods handleEncode() and handleDecode()
+ to handleEncodeCached(), handleEncodeIdentity() and handleDecode-
+ Cached(), handleDecodeIdentity().
+
+- Updated the copyright notice to year 2004.
+
+nxcomp-1.4.0-14
+
+- Added the new channel for HTTP connections. This channel can be
+ used to let applications running on the NX server get access to
+ data and applications made available by a HTTP daemon running at
+ the client side.
+
+ This channel is not used at the moment by nxclient. It can be
+ activated by passing http=1 to the NX server side proxy and the
+ value http=80 to the NX client side.
+
+nxcomp-1.4.0-13
+
+- Quick patch to run on MacOS/X where inet_addr("127.0.0.1")
+ alone seems to fail to return a valid interface.
+
+nxcomp-1.4.0-12
+
+- Few cosmetic changes to logging.
+
+- Removed the debug output.
+
+nxcomp-1.4.0-11
+
+- Removed code used for simulating the new forwarding function-
+ ality without client and server support.
+
+nxcomp-1.4.0-10
+
+- Implemented authentication of the forwarder to the listening
+ proxy. If a session cookie is required, the forwarder must
+ provide the cookie upon connection.
+
+ An authentication phase at the time the forwarder connects
+ to the NX client side is strongly suggested because it is usu-
+ ally this side that sends the authorization cookie. Without
+ such a forwarder authentication, the local peer would reveal
+ the cookie to the first process connecting to the port.
+
+- If no cookie is specified in the switch command, the forward-
+ er is required to skip the authentication phase. This can be
+ useful when running the programs on the command line.
+
+- The implementation required appropriate changes to session
+ negotiation in nxssh. This version requires nxssh-1.4.0-8.
+
+nxcomp-1.4.0-9
+
+- Fixed the startup procedure to correctly negotiate the cookie
+ when the X server side proxy is listening for a forwarder.
+
+- When listening for a local forwarder (that is when the listen
+ option is enabled at X server side), proxy will listen for the
+ forwarder on the localhost interface.
+
+- This version has ports and and other parameters hardcoded for
+ testing purposes and is not intended for normal use.
+
+nxcomp-1.4.0-8
+
+- Slightly modified the text of FAILED_PROXY_CONNECTION alert.
+
+nxcomp-1.4.0-7
+
+- Added provision for leaving a running dialog showing an OK box
+ if proxy is exiting abnormally. This seems to fail to yield the
+ expected results as, at the present moment, client checks if
+ parent has exited.
+
+- Added a Binder class invoked when calling proxy with -B option.
+ It would serve as a replacement of the modifications I'm doing
+ in nxssh. The class is just a framework and the implementation
+ is unfinished.
+
+nxcomp-1.4.0-6
+
+- Added a line in the session log if the connection procedure is
+ aborted due to a signal.
+
+- Fixed ParseHostOption() to let it take in account the proxy
+ port offset when passing 'host:port' as the last parameter at
+ X server side.
+
+nxcomp-1.4.0-5
+
+- Lowered the default port offsets used for CUPS and SMB services
+ to 2000 and 3000. Arbitrary ports can be used by passing the ser-
+ vice's port at proxy startup. By default, anyway, the port is at
+ the same offset of the proxied display. Considering that the NX
+ server uses to start the first session at display 1000, we must
+ lower some of the defaults to avoid interference with the normal
+ X sessions run on the server.
+
+ Session at display ":1000" will have:
+
+ . Forwarding of CUPS connections at 3000.
+
+ . Forwarding of SMB connections at 4000.
+
+ . The listening proxy (at NX server side) at 5000. This
+ port is not used when enabling SSH tunneling
+
+ . The proxied X display (NX agent or proxy) at 7000.
+
+ . Forwarding of multimedia channels at 8000.
+
+ . Forwarding of embedded keyboard connections at 9000.
+
+- Turned off the log output.
+
+nxcomp-1.4.0-4
+
+- Managed to get the X client side proxy connect to the remote
+ peer. This means that some parameters that were implicitly
+ assumed based on the proxied port simulating the X display
+ must be now specified in the NX display string.
+
+- The 'port' parameter now specifies the remote TCP port where
+ the local proxy will connect to the remote peer. In previous
+ versions this parameter also affected the proxied port. This
+ was mainly a side effect, as the remote peer was always con-
+ tacted at port 4000 plus the proxied display offset.
+
+- Added the 'listen' parameter to tell to the proxy that is go-
+ ing to accept the peer connection on which port it will be
+ contacted. By default, similarly to the previous version, the
+ proxy will listen at the proxied display offset.
+
+- A check has been added in order to disallow passing both the
+ 'accept' and the 'connect' parameter at the same time. A simi-
+ lar check affects the 'listen' parameter.
+
+- Renamed the previously unused 'sync' channel as 'cups'.
+
+nxcomp-1.4.0-3
+
+- Preserved the ability of version 1.3.2 to load caches generated
+ by this version.
+
+nxcomp-1.4.0-2
+
+- Small fixes to compile under Solaris 8.
+
+nxcomp-1.4.0-1
+
+- Opened the 1.4.0 branch.
+
+nxcomp-1.3.2-4
+
+- Fixed a problem with shmget(). Code in ServerChannel checked
+ the return value for being greater then 0, while 0 can actual-
+ ly be a valid segment.
+
+- When memory cache is disabled, nxcomp will explicitly set the
+ appropriate control variables dealing with loading and saving
+ of the persistent cache. This can be considered a cosmetic
+ change as nxcomp will disable NX delta compression if memory
+ cache is not available and this has an implicit effect on the
+ ability to load and save such a cache.
+
+nxcomp-1.3.2-3
+
+- Removed inclusion of zlib.h in Png.cpp. Conflicting symbols
+ with zlib.h from nx-X11 could cause compilation to fail.
+
+nxcomp-1.3.2-2
+
+- Added a function to take into account the clock drifts at the
+ time we check the ping from the remote proxy. This can be
+ caused by the user changing the system time or by small adjust-
+ ments introduced by the operating system making the clock go
+ backward. Such events could cause the proxy link to be shut
+ down and reconnected.
+
+- Reduced the length of lines printed in statistics when showing
+ the details of X protocol's opcodes. This is intended to help
+ nxclient to keep the whole statistics in the 'details' window,
+ so that users don't have to use the scrollbars.
+
+nxcomp-1.3.2-1
+
+- Opened the 1.3.2 branch.
+
+nxcomp-1.3.1-5
+
+- It seems that Solaris can return an EINVAL error selecting a
+ shutdown descriptor even before we actually close the socket.
+ We now ignore the condition on Solaris. This is definitely a
+ Solaris bug.
+
+nxcomp-1.3.1-4
+
+- Increased the timeout after which proxy will abort the peer
+ connection to 120 seconds. An alert dialog will now be shown
+ after 60 seconds, instead of the 30 seconds being the default
+ in the previous version. Some users reported the timeout to
+ be too short in the case of temporary network failures.
+
+nxcomp-1.3.1-3
+
+- Some optimizations in the cache house-keeping process. Now it
+ runs at lower system priority in respect to the parent. Any 2
+ iterations through directories and images, it also sleeps for
+ a tiny amount of time. This further decreases the system load.
+
+- Removed the underline characters and added a colon in the
+ title of this ChangeLog to fully comply with format used in
+ the release notices.
+
+nxcomp-1.3.1-2
+
+- Fixed a crash when running both client and server on the SPARC
+ Solaris. An optimization used to avoid byte-swapping when both
+ hosts have the same endianess doesn't work on SPARC if buffer
+ is not aligned to word boundary. A better version of the code
+ should check the CPU, not the OS, as this probably applies to
+ other processors.
+
+nxcomp-1.3.1-1
+
+- Opened the 1.3.1 branch.
+
+nxcomp-1.3.0-50
+
+- Disabled the processor limit in X client side proxy. In previous
+ versions the processor load limit was set to an idle time ratio
+ of 2. This was likely to cause an unwanted slowdown on very old
+ hardware or when running the server as guest OS inside a VMWare
+ virtual machine.
+
+nxcomp-1.3.0-49
+
+- Last minute update on proxy shutdown bug on Cygwin. A stack
+ trace reveals that faillure happens in the static destructor of
+ the BlockCacheSet class. It seems that problem appeared just
+ after having upgraded to the latest version of Cygwin DLL. Now
+ the destructor is skipped at shutdown.
+
+nxcomp-1.3.0-48
+
+- Further fix to overcome the shutdown problem on Windows.
+
+nxcomp-1.3.0-47
+
+- Used T_files::value_type() in Keeper.cpp. The form without the
+ explicit constructor fails to compile with GCC 2.91 on RH 6.2.
+
+- Fixed '==' -> '=' in configure.in to build under RH 6.2 and
+ probably other platforms.
+
+nxcomp-1.3.0-46
+
+- The cleanup procedure now skips deletion of the IO streams
+ under Windows. This is intended to overcome a strange segfault
+ occurring at random time, at the time proxy is being shutdown.
+
+nxcomp-1.3.0-45
+
+- Newer versions of the stdlibc++ do not seem to be able to deal
+ with NULL strings or non printable characters. This caused the
+ standard error stream to get sometimes corrupted in the case
+ TEST and DEBUG logs were enabled in Loop.cpp.
+
+nxcomp-1.3.0-44
+
+- Disabled TEST and DEBUG logs in ServerChannel.
+
+nxcomp-1.3.0-43
+
+- Fixed a crash when unpacking an image in server proxy in the
+ case the unpack state for the given channel had not been
+ previously created.
+
+nxcomp-1.3.0-42
+
+- Small modification to setSchedule() to not account previous
+ data accumulated in the encode buffer. The new code seems to
+ allow better use of the available bandwidth.
+
+nxcomp-1.3.0-41
+
+- Further fix in Tight decompression. Content of the main write
+ buffer was not removed before flushing the unpacked data to
+ the X server link.
+
+nxcomp-1.3.0-40
+
+- Removed the code marked as FIXME in Loop and ServerChannel.
+ Code was used in previous version to override any pack method
+ other than NO_PACK and to disable initialization of the shared
+ memory.
+
+nxcomp-1.3.0-39
+
+- Solved the problem with unpacking of RDP text on big-endian
+ architectures. The width field in PutPackedImage was put as
+ 16 bits and extracted as 32 bits at decoding side.
+
+- Moved the code checking if any of the children has exited in a
+ specific function. This function is now called any time signals
+ are newly enabled. This works even on Solaris.
+
+- Enabled use of shared memory with Tight image decompression.
+
+- Added event NXCollectPropertyNotify to NXproto.h.
+
+nxcomp-1.3.0-38
+
+- Message locks are now checked before splitting a message.
+
+nxcomp-1.3.0-37
+
+- Added a further counter to yield encoding data if the amount
+ of output bytes to be written to channels exceeds a threshold.
+
+- Modified proxy to write data immediately if the encoding loop
+ was interrupted.
+
+nxcomp-1.3.0-36
+
+- Further fix required by Tight decompression. By handling mul-
+ tiple writes in the Tight class we may flush the main write
+ buffer in the wrong order. If Tight decompression is enabled,
+ the buffer is now flushed before decoding the packed image.
+
+- A SIGCHLD is raised any time signals are newly enabled. This
+ allows the main loop to wait() the pid of children that had
+ exited while signals were disabled.
+
+nxcomp-1.3.0-35
+
+- Fixed Tight decompression by handling multiple writes to the
+ channel's transport inside the decompression function.
+
+- Made Tight decompressor in ServerChannel a pointer instead of
+ an instance of the class. Class is allocated the first time it
+ is referenced.
+
+- Rewritten handleUnpack() in ServerChannel to use a switch()
+ on the pack method instead of multiple if().
+
+nxcomp-1.3.0-34
+
+- Disabled RENDER extension when running X agent sessions on
+ the Solaris client. Problems seem to be caused by incompati-
+ bilities in the implementation of RENDER on the Sun X server
+ shipped by default. We did not test NX with the XFree86 X
+ server, but it seems that, when using the Sun X server, even
+ plain X clients don't make full use of the extension.
+
+nxcomp-1.3.0-33
+
+- Added 4 new fields to the X_NXGetControlParameters reply.
+ A dialog should be shown by agent if proxy was not able to
+ negotiate a persistent cache or if a cache was selected but
+ not loaded because incompatible or corrupted.
+
+- Fixed a bug on Solaris where socket() must be recreated if
+ the first connect() fails. Not a problem. The strange thing
+ is that if you reuse the socket(), the subsequent connect()
+ is successful and the program fails as soon as you try to
+ write to it.
+
+nxcomp-1.3.0-32
+
+- Added request X_NXFreeUnpack to free the resources allocated
+ by the remote proxy to unpack images for the given agent's
+ client
+
+- Added an alert at X server side if proxies were not able to
+ negotiate a persistent cache or if a cache was selected but
+ not loaded at X server side (that means that probably cache
+ was not compatible or corrupted). The alert is not enabled
+ at the moment. Before enabling it, we need to find a way to
+ deal with full-screen mode.
+
+- Tuning of MIT-SHM parameters.
+
+nxcomp-1.3.0-31
+
+- Modified the following requests to carry the id of the
+ agent's client:
+
+ - X_NXSetUnpackGeometry
+ - X_NXSetUnpackColormap
+ - X_NXSetUnpackAlpha
+ - X_NXPutPackedImage
+
+ Now each agent's client has its own record pointing to the
+ geometry, colormap and alpha channel that will be used to
+ unpack the image. Code is not finished yet so it is advisable
+ that agents' writers keep using client id 0. Note also that
+ the final solution will require some changes to the way split
+ notifications are sent to agent that I plan to implement in
+ the next versions.
+
+- The X_NXSetUnpackGeometry request has now a message store.
+ This should reduce the overhead to the minimum even in the
+ case of dumb agents not checking if the current geometry
+ matches the image to be unpacked.
+
+nxcomp-1.3.0-30
+
+- Improved handling of short-circuited replies at X client
+ side. Request opcodes are now pushed in the sequence queue
+ to determine if a reply is expected. In this case tainting
+ of reply is skipped to preserve the sequence ordering of
+ any event or error that could have generated by the reply.
+ This seems to solve all the problems reported by people
+ running a NX session in virtual desktop mode nested in an
+ existing session being run in single application mode.
+
+- Modified the cleanup procedure to print the 'Waiting for'
+ message in the session log only at the time all X channels
+ have been actually shut down. This message can be used by
+ the NX server to find out the appropriate time to close
+ the session.
+
+- Added the selected session type to the 'Using pack method'
+ message printed at startup.
+
+- Added the option to close down the proxy link and perform
+ a clean shutdown of the session, re-read the whole session
+ configuration or restart the proxy link when a SIGHUP is
+ delivered to the proxy process. The default behaviour is
+ to close down the session. The new default (the old one was
+ to restart the link) is a required feature to let users run
+ full sessions using single application mode f.e. in a LTSP
+ environment. I noted that when the controlling terminal of
+ the X session is closed, a SIGHUP is delivered to the X
+ server side proxy (probably it is delivered to all the con-
+ nected clients, and, thus for NX, only to the proxy). This
+ signal can be used to terminate the whole session.
+
+nxcomp-1.3.0-29
+
+- Changed defaults to disable image masks when running proxy
+ in single application mode. The new configuration requires
+ changes in NX server and in NX X11 library. Users should
+ experience much better image quality when using NX on slow
+ links. This comes at the cost of slightly worse compression
+ ratios.
+
+nxcomp-1.3.0-28
+
+- Opcode of request was not rewritten by server channel when
+ using link LAN. This caused problems with taint of replies.
+
+nxcomp-1.3.0-27
+
+- Modified the split store and the split procedures in client
+ channel to always return the client id in the notification
+ events. The new field is added to event at byte offset 28
+ to preserve compatibility with previous agent releases. The
+ modification permits to agent to match the commit of alpha
+ channel with the original image, if requests are split by
+ proxy.
+
+- Temporarily set the timeout used to poll MIT-SHM completion
+ events coming from X server to 0. More testing is required.
+
+- Fixed an inconsistent message generated in statistics due to
+ a division by 0.
+
+nxcomp-1.3.0-26
+
+- Modified pending timeout from 1 to 0 milliseconds. This means
+ that both channels and proxy are now immediately restarted to
+ let them consume all data left in their read buffer.
+
+- When querying the X server for MIT-SHM support, size of name
+ in X_QueryExtension request was sent as 32 bits instead of 16.
+ This caused request to fail on big endian architectures.
+
+- Modified the MIT-SHM initialization procedure to always send
+ all the 3 protocol requests also in the case of early failures.
+
+nxcomp-1.3.0-25
+
+- Implemented handling of the new X_NXSetUnpackAlpha message.
+ Performances are very satisfactory. Using most of the current
+ GNOME and KDE applications, caching reaches 90% of the total
+ messages.
+
+- Modified the persistent cache management routines to handle
+ backward compatibility with proxy versions prior of 1.3.0.
+
+- It has been made possible to send both X_NXSetUnpackColormap
+ and X_NXSetUnpackAlpha messages with 0 entries to temporarily
+ disable use of the colormap or the alpha channel and free the
+ resources allocated by the server channel class.
+
+- Added function UnpackAlpha() to Unpack.cpp.
+
+nxcomp-1.3.0-24
+
+- Using WriteBuffer::registerPointer() to track growing of the
+ write buffer in handleFastWrite() functions. This problem
+ existed even in 1.2.2 but never shown up because we didn't
+ have to use the pointer after data had been written to the
+ write buffer. Now, instead, we have to post-process the write
+ buffer to copy data to the shared segment.
+
+- Optimized memory allocations running with link LAN to save a
+ memcpy() any time new data is allocated in the scratch buffer.
+
+- When running with link LAN the scratch buffer is now used only
+ when:
+
+ - A further allocation would case growing of the write buffer
+ (and, thus, a memcpy() of the previous content).
+
+ - When data to added is bigger than the write threshold.
+
+ In previous versions the scratch buffer was used any time the
+ total amount of data to be written (write buffer + scratch
+ buffer) exceeded the scheduled write threshold. This caused
+ small writes to be appended even when a single write could
+ be obtained without reallocating the buffer.
+
+- Preliminary support for transporting the alpha channel in a
+ separate message in case of 32 bits displays using the RENDER
+ extension.
+
+nxcomp-1.3.0-23
+
+- Modified the mask used to open the shared memory segment on
+ OS/X to 0777. We have to better investigate why the previous
+ 0600 mask doesn't work even if the user running the proxy is
+ the same user running the X server.
+
+nxcomp-1.3.0-22
+
+- Implemented MIT-SHM support on LAN connections.
+
+- More MIT-SHM bug fixes.
+
+nxcomp-1.3.0-21
+
+- Better use of the shared segment through an improved
+ algorithm leveraging the offset field of the X_ShmPutImage
+ request. The new algorithm greatly reduces the amount of
+ polls the proxy needs to perform to find if the completion
+ event has arrived.
+
+- Implemented MIT-SHM support for X_PutImage requests.
+
+- Implemented option shmem=value. Use of this option is anyway
+ discouraged. Proxy will allocate the shared memory segment
+ based on the size of the in-memory cache set by the user.
+ Use of MIT-SHM is disabled when user did set a memory cache
+ smaller than 2MB (for example on the embedded client).
+
+- Rewritten post-processing of images in server channel loop.
+
+- Improved error handling to ensure we intercept all MIT-SHM
+ X errors before they reach the NX agent.
+
+- Solved a problem that was causing channels to not reflect
+ shared memory support flags set in control.
+
+nxcomp-1.3.0-20
+
+- Solved a compatibility problem when mixing proxy versions
+ 1.2.2 and 1.3.0.
+
+nxcomp-1.3.0-18
+
+- Rewritten interfaces to shared memory initialization in
+ client and server channel.
+
+- Server channel checks for the completion event until a
+ timeout before reusing the shared memory segment.
+
+- Flush flag was not cleared after the write buffer had been
+ flushed in handleWrite() of both client and server channels.
+ This could lead to multiple fragmented writes, affecting
+ the performances.
+
+- Added -lcygipc to linking on Windows platform.
+
+- Added a check on GCC version to see if -Wnested-externs
+ -Wmissing-declarations are valid options.
+
+nxcomp-1.3.0-17
+
+- Implemented initial support for MIT-SHM extension in the
+ network path between the X server proxy and the real X
+ server. Presently it works only for X_NXPutPackedImages.
+
+- Modified configure.in to compile under FreeBSD.
+
+- Small changes to sources due to FreeBSD support.
+
+nxcomp-1.3.0-16
+
+- Fixed caching of RENDER extension on MacOS/X and Solaris.
+
+- Under Solaris an explicit call to EnableSignal() is needed
+ at the end of the signal handler as raising a signal seems
+ to reset the previous settings.
+
+- Can't find a way to get bytes queued for write on Solaris as
+ both FIONWRITE and TIOCOUTQ don't seem to be available. This
+ means that NX server on Solaris is only able to detect con-
+ gestions on proxy link at the time a write fails with error
+ EAGAIN.
+
+- Starting from this version, render extension messages are not
+ automatically discarded from cache when running agent based X
+ sessions. This is in preparation of render support introduced
+ in this release.
+
+nxcomp-1.3.0-15
+
+- Changed default to force writes if X channels exceed buffer
+ limits. This change was suggested by benchmarks performed on
+ Win32.
+
+- Wrapped IO on cache files in functions performing better error
+ checking.
+
+- General cleanup in handling of socket options for MacOS/X and
+ Solaris.
+
+nxcomp-1.3.0-14
+
+- Corrupted persistent caches were not deleted in case loading
+ of any of the message stores failed. To run further sessions
+ on the same host, user had to delete the cache file manually.
+
+- Improved error handling in JPEG decompression. Now connection
+ is reset in case of failure.
+
+- Before performing JPEG or PNG decompression, image is better
+ checked to verify if loading from disk failed.
+
+- Improved error handling in case of failure loading persistent
+ cache from disk. On MacOS/X istream -> fail() doesn't seem to
+ work properly. This needs further investigation.
+
+- The default installation path of nxclient is searched under
+ MacOS/X at the time nxclient is invoked in dialog mode.
+
+nxcomp-1.3.0-13
+
+- Fixed a (further) compilation problem under Solaris. Now static
+ libraries are first searched under /usr/sfw/lib (in case Sun
+ would decide to include them in future releases).
+
+nxcomp-1.3.0-12
+
+- Fixed parsing of command line when passing option -V.
+
+- Correctly detected ENOPROTOOPT when setting TCP_NODELAY socket
+ option on MacOS/X and Solaris.
+
+nxcomp-1.3.0-11
+
+- Given option in configure to specify what needs to be built
+ statically:
+
+ --with-static-png enable static linking of PNG library
+ --with-static-jpeg enable static linking of JPEG library
+ --with-static-z enable static linking of Z library
+
+nxcomp-1.3.0-10
+
+- Fixed a problem in saving of persistent cache on big-endian
+ machines.
+
+nxcomp-1.3.0-9
+
+- Testing with different settings to check if it's possible to
+ increase the performances under Windows.
+
+- Solved a problem in parsing of options that prevented proxy
+ to connect to a remote session running at port offset 0.
+
+- Fixed two warnings compiling on Solaris.
+
+- Changed configure.in to first check for nx-X11 includes
+ and libraries. Added "/usr/openwin/bin/makedepend" to path
+ searched for the executable.
+
+nxcomp-1.3.0-8
+
+- Small cleanup in configure.in and files modified by Gregorz
+ Kryza to add support for Solaris.
+
+- A new configure script has been generated using autoconf-2.57-3.
+
+nxcomp-1.3.0-7
+
+- Added support for detection of Solaris in configure script.
+ Now Makefile.in uses ranlib instead of ar.
+
+- Small changes in source and header files to support Solaris.
+
+nxcomp-1.3.0-4
+
+- Corrected a bug that could cause priority on proxy and channels
+ to be not taken in account at the time proxy tries to determine
+ if it's time to flush the proxy link.
+
+- Better implementation of abort split notification by X server
+ proxy to its remote peer. The new implementation doesn't
+ need to set a timeout and permits notifications to be received
+ earlier.
+
+- Improved support for 'tainting' XSync() messages coming from
+ X clients in single application mode. Now a X_GetInputFocus
+ is sent to the real X server any n such messages received by
+ proxy.
+
+- Included support for 15 bpp displays. It seems that handling
+ them as 16 bpp it's OK.
diff --git a/doc/_attic_/NoMachine_documentation_files/nxcomp_README b/doc/_attic_/NoMachine_documentation_files/nxcomp_README
new file mode 100644
index 000000000..f35cce6b5
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nxcomp_README
@@ -0,0 +1,21 @@
+README
+------
+
+Building
+--------
+
+1. To compile:
+
+ > tar zxvf nxcomp-X.Y.Z-N.tar.gz
+ > cd nxcomp
+ > ./configure
+ > make
+
+ You'll have to run gmake under Solaris.
+
+2. The 'make install' target is not currently supported
+ in the Makefile, but it should be simple to fix.
+
+You need at least nxproxy and nxagent packages to enjoy this code. Check the
+NoMachine website at http://www.nomachine.com to get the latest release.
+
diff --git a/doc/_attic_/NoMachine_documentation_files/nxcomp_README-IPAQ b/doc/_attic_/NoMachine_documentation_files/nxcomp_README-IPAQ
new file mode 100644
index 000000000..f9418635c
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nxcomp_README-IPAQ
@@ -0,0 +1,21 @@
+README-IPAQ
+-----------
+
+1. Install a cross-compiler for ARM. You can find detailed
+ informations at:
+
+ http://www.ailis.de/~k/knowledge/crosscompiling/toolchain.php
+
+ There are also binaries needed to install the cross-compiler.
+
+2. Configure and compile libXcomp using:
+
+ $ ./configure --with-ipaq
+ $ make
+
+ After compilation type:
+
+ $ arm-linux-strip libXcomp.*
+
+3. Remember that you also need nxproxy to actually run your NX X
+ session.
diff --git a/doc/_attic_/NoMachine_documentation_files/nxcompext_CHANGELOG b/doc/_attic_/NoMachine_documentation_files/nxcompext_CHANGELOG
new file mode 100644
index 000000000..941e9b411
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nxcompext_CHANGELOG
@@ -0,0 +1,806 @@
+ChangeLog:
+
+nxcompext-3.5.0-1
+
+- Opened the 3.5.0 branch based on nxcompext-3.4.0-1.
+
+- Updated copyright to year 2011.
+
+nxcompext-3.4.0-1
+
+- Opened the 3.4.0 branch based on nxcompext-3.3.0-4.
+
+- Updated version number.
+
+- Updated copyright to year 2009.
+
+nxcompext-3.3.0-4
+
+- Fixed TR03G02199. The color palette allocated for encoding an image
+ having 256 colors or less was not freed.
+
+nxcompext-3.3.0-3
+
+- Now setting the correct event serial number when sending collect
+ notifies back.
+
+nxcompext-3.3.0-2
+
+- Updated VERSION.
+
+nxcompext-3.3.0-1
+
+- Opened the 3.3.0 branch based on nxcompext-3.2.0-1.
+
+nxcompext-3.2.0-1
+
+- Opened the 3.2.0 branch based on nxcompext-3.1.0-2.
+
+nxcompext-3.1.0-2
+
+- Updated file VERSION to match the current release version.
+
+nxcompext-3.1.0-1
+
+- Opened the 3.1.0 branch based on nxcompext-3.0.0-18.
+
+nxcompext-3.0.0-18
+
+- Removed the remaining debug output.
+
+nxcompext-3.0.0-17
+
+- Changed the copyright notices at the beginning of the files that
+ were referring to NXPROXY to refer to NXCOMPEXT.
+
+nxcompext-3.0.0-16
+
+- Handle the reply failure in NXGetShmemParameters().
+
+nxcompext-3.0.0-15
+
+- Separated the functionalities made available by NXQueryDisplay()
+ in three distinct functions:
+
+ NXDisplayReadable() Query the number of bytes readable from
+ the display connection.
+
+ NXDisplayFlushable() Query the number of the outstanding bytes
+ to flush to the display connection.
+
+ NXDisplayCongestion() Return a value between 0 and 9 indicating
+ the congestion level of the NX transport.
+
+- Renamed NXQueryDisplayError() to NXDisplayError().
+
+nxcompext-3.0.0-14
+
+- Removed support for Rdp, Tight and Hextile packed images encod-
+ ing since they have been made obsolete by the new NX server.
+
+- Changed the copyright attribution from Medialogic to NoMachine.
+
+nxcompext-3.0.0-13
+
+- Allocate 1024 additional bytes for the Jpeg compression, instead
+ of 512, to avoid failures on very tiny images.
+
+- Removed support for the special *PNG_JPEG* pack method.
+
+nxcompext-3.0.0-12
+
+- Implemented the NXEncodeBitmap() method. This is a very simple
+ encoder removing the 4th byte in 32 bits-per-plane images. For
+ the other pixmap depths it simply returns a pointer to the orig-
+ inal image data, saving the copy. This encoding is intended to
+ better leverage the stream compression on low bandwidth links.
+
+- Removed the quality parameter from the RGB/RLE encoding function.
+
+nxcompext-3.0.0-11
+
+- Removed the additional parameter in the call to NXTransFlush().
+
+nxcompext-3.0.0-10
+
+- Moved the _NXRDPGlyph and _NXRDPText declarations from NXlib.h
+ to NXproto.h to force fields to be CARD32.
+
+- Fixed a typo in NXSetDisplayBuffer() that could cause a double
+ free.
+
+- Fixed a compilation error with old GCC versions.
+
+- Removed the warning issued on AMD64 when compiling with the logs
+ enabled.
+
+nxcompext-3.0.0-9
+
+- Added the NXDisplayCongestion query type to NXQueryDisplay(). It
+ returns a value between 0 and 9, with 9 meaning that the link is
+ congested and no further data can be sent.
+
+- Added the NXSetDisplayBuffer() function. It allows the caller to
+ set the display output buffer size at runtime.
+
+- Removed the congestion and synchronization callbacks.
+
+nxcompext-3.0.0-8
+
+- Removed the warnings issued when purging the collected data at
+ display reset.
+
+nxcompext-3.0.0-7
+
+- Added the NXSetDisplayWriteHandler() interface. The function
+ registers a callback that will be invoked every time more data
+ is written to the display socket.
+
+nxcompext-3.0.0-6
+
+- Made NXQueryDisplay() take into account the bytes in the display
+ buffer when queried for the bytes flushable.
+
+nxcompext-3.0.0-5
+
+- Added file COPYING.
+
+nxcompext-3.0.0-4
+
+- Updated copyright notices to the current year.
+
+nxcompext-3.0.0-3
+
+- Imported changes up to nxcompext-2.1.0-4.
+
+- Fixed TR12D01564. Changed configure script to build library with
+ -fPIC option.
+
+- Added 256 byte to the size of Jpeg destination buffer.
+
+nxcompext-3.0.0-2
+
+- Updated the file VERSION.
+
+nxcompext-3.0.0-1
+
+- Opened the 3.0.0 branch based on nxcompext-2.0.0-33.
+
+nxcompext-2.0.0-33
+
+- Placed the inclusion of jpeglib.h after the X includes to fix a
+ possible compilation error.
+
+nxcompext-2.0.0-32
+
+- Avoid to copy the data to the scratch buffer and yield the task
+ of padding the output to _XSend() in the NXPutPackedImage(), NX-
+ SetUnpackAlpha() and NXSetUnpackColormap() requests.
+
+- Added support for the RLE pack method.
+
+nxcompext-2.0.0-31
+
+- The X_NXSetUnpackColormap and X_NXSetUnpackAlpha now carry their
+ data in compressed form. The alpha data is compressed using the
+ ZLIB RLE encoding, while the colormap data is compressed using
+ the default ZLIB deflate.
+
+- Created new message structures to handle the compatibility with
+ the old proxy versions. When connected to an old proxy version
+ the agent should use the NXSetUnpackColormapCompat() and NXSet-
+ UnpackAlpha() interfaces.
+
+nxcompext-2.0.0-30
+
+- Removed the unfriendly warning printed if a client tried to reset
+ the library multiple times.
+
+nxcompext-2.0.0-29
+
+- Made possible to compile even if makedepend is not found.
+
+nxcompext-2.0.0-28
+
+- Added the NXSetDisplaySynchronizationHandler() interface. The NX
+ transport will use the callback to report when the agent can use
+ the available bandwidth to synchronize the X objects that are
+ corrupted or incomplete.
+
+- Bytes from 14 to 24 in the NXGetControlParameters() reply report,
+ respectively, the frame timeout, the ping timeout, the preferred
+ image split mode and the split size threshold.
+
+nxcompext-2.0.0-27
+
+- Changed the image cleanup functions and the Png and Jpeg encoders
+ to be independent from the host endianess.
+
+- Enabled again the image cleanup on big endian machines.
+
+nxcompext-2.0.0-26
+
+- Added the NXAbortSplit() request.
+
+- Added information about the size of the shared memory segment used
+ by the remote proxy in the NXGetShmemParameters() reply.
+
+nxcompext-2.0.0-25
+
+- Renamed the NXGetSplitResource() and NXGetUnpackResource() utili-
+ ties to NXAllocSplit() and NXAllocUnpack(). They can be called
+ with a NXAnyResource parameter to get the first available id or
+ requre a specific resource. From this version the resource must
+ be explicitly reserved. NXFreeUnpack() and NXFreeSplit() check
+ if the resource was allocated and don't do anything if it is not
+ the case. NXAllocSplit() and NXAllocUnpack() return NXNoResource
+ if the resource can't be reserved.
+
+nxcompext-2.0.0-24
+
+- NXFlushDisplay() now verifies whether the XlibDisplayWriting flag
+ is set before flushing the display buffer. in this case, it only
+ flushes the NX link.
+
+nxcompext-2.0.0-23
+
+- Implemented a move-to-front strategy for the image cache, to mi-
+ nimize the number of lookups.
+
+- Fixed the problems imtroduced by the new cache implementation by
+ modifying the memory allocation routines in Jpeg.c and Pgn.c.
+
+- Temporarily fixed the cleanup problems on big-endian machines by
+ skipping the operation.
+
+- Added a NXSetDisplayStatisticsHandler() to let the agent include
+ arbitrary data in the transport statistics. The parameter is a
+ pointer to a pointer to a null terminated string. The pointer is
+ set at the time the handler is registered. The pointed string can
+ be filled by the agent with its statistics data.
+
+nxcompext-2.0.0-22
+
+- The NXCacheFindImage() returns a pointer to the checksum, if the
+ image is found.
+
+- The image cache uses the data passed to NXCacheAddImage() instead
+ of making a copy.
+
+- The Z stream used by the RGB encoder is allocated at initializat-
+ ion and freed at reset.
+
+nxcompext-2.0.0-21
+
+- Removed the reliance on the local byte order in the image cleanup
+ functions.
+
+nxcompext-2.0.0-20
+
+- Added the NXFinishSplit() request. It forces the proxy to comple-
+ tely transfer all the split messages for the given resource, and
+ then notify the agent.
+
+nxcompext-2.0.0-19
+
+- Enabled again the cleanup of images.
+
+- Updated to comply with the new NXTransFlush() interface.
+
+nxcompext-2.0.0-18
+
+- Moved all the declarations in Rgb.c at the beginning of the block
+ to avoid the possible compilation errors with old compilers.
+
+nxcompext-2.0.0-17
+
+- Added a new RGB image encoder. For now the encoder uses a static
+ Z stream to compress the image data in the destination buffer and
+ allows the agent to use the simplest encoding by still separating
+ the alpha channel from the image data. The new encoder can be the
+ the base for implementing color reduction by dithering or a color-
+ mapped translation of the image similar to PNG, but without the
+ PNG overhead and with the colormap being sent to the client using
+ the NXSetUnpackColormap() opcode.
+
+- Created a new NXCleanImage() function that takes a XImage pointer
+ and uses either the CleanXYImage() or the CleanZImage() routines
+ to cleanup the padding bits.
+
+nxcompext-2.0.0-16
+
+- Added a parameter to NXFlushDisplay() to specify what needs to be
+ flushed. The parameter can be one the following values, defined
+ in NXvars.h:
+
+ NXFlushBuffer Only the Xlib buffer is to be flushed.
+
+ NXFlushLink Flush both the Xlib buffer and any pending
+ data encoded by the NX transport.
+
+ NXFlushIdle Inform the NX transport that the agent is
+ idle. This will let the NX transport encode
+ more low-priority data, and then flush the
+ link.
+
+- Ensured that the padding bytes are cleaned when creating a new
+ PNG image. It seems that some images are still missed. This is
+ to be investigated.
+
+nxcompext-2.0.0-15
+
+- Ensured that the packed image cache is recreated only on a size
+ change.
+
+nxcompext-2.0.0-14
+
+- Updated to get the karma delay field from the X_NXGetControlPara-
+ meters reply.
+
+nxcompext-2.0.0-13
+
+- Added the NXSetDisplayPolicy() and NXSetDisplayFlushHandler() in-
+ terfaces. The second function registers a callback that will be
+ invoked by the NX transport when the number of bytes encoded by
+ the proxy exceeds the threshold set for the scheduled write.
+
+- Added the NXFlushDisplay() and NXQueryDisplay() interfaces. They
+ are used to hide the corresponding NX transport functions to the
+ application. NXQueryDisplay() can be called with the NXDisplay-
+ Flushable or NXDisplayReadable parameters, to get, repectively,
+ the number of bytes that are queued to the NX transport and the
+ number of bytes that is possible to read.
+
+- Included the remote proxy version in the NXGetControlParameter()
+ reply.
+
+nxcompext-2.0.0-12
+
+- Added the NXGetSplitResource() and NXGetUnpackResource utilities.
+ These can be used by the client to find out the first unused id
+ available for a split or unpack operation.
+
+- Added the NXFreeSplit() request function. It makes the resource
+ available for the next operation and tells the proxy to destroy
+ all the storage associated to the split.
+
+- Renamed the NXNumberOfConnections constant to NXNumberOfResources.
+
+nxcompext-2.0.0-11
+
+- Changed NXForceDisplayError() to also shut down the NX transport
+ by calling NXTransClose().
+
+- Updated to comply with the new NX function prototypes introduced
+ in nxcomp-2.0.0-31.
+
+nxcompext-2.0.0-10
+
+- NXQueryDisplayError() now checks the predicate function only if
+ the I/O error was not encountered already.
+
+nxcompext-2.0.0-9
+
+- Added the NXSetDisplayErrorPredicate(), NXSetDisplayBlockHand-
+ ler(), NXSetDisplayCongestionHandler(), NXSetLostSequenceHand-
+ ler() interfaces to let the user set the values used internal-
+ ly. All functions return the previous handler. See ChangeLog
+ in nx-X11-2.0.0-16 and nx-X11-2.0.0-17.
+
+- Moved all the internal variables shared between Xlib, nxcompext
+ and the X server in nxcomp. Declarations and function prototypes
+ moved to NXvars.h.
+
+- Some name changes. In particular the NXContinueOnDisplayError()
+ function iss renamed NXHandleDisplayError() and NXDisplayError()
+ is now renamed NXQueryDisplayError(). To verify if the display
+ is valid, NXQueryDisplayError() will now call the _NXDisplayEr-
+ rorPredicate function, or, if the predicate function is not set,
+ will simply check the value of the XlibDisplayIOError flag.
+
+- Removed the NXGetCleanupParameters() and NXGetImageParameters()
+ interfaces and the remaining references to the unused display
+ buffer and image cleanup functions.
+
+- Updated the NoMachine copyright notice to year 2006.
+
+nxcompext-2.0.0-8
+
+- Removed the unused screen parameter from XSetUnpackGeometry().
+
+- NXSetUnpackGeometry() now fails if no visual is provided.
+
+nxcompext-2.0.0-7
+
+- Changed the LICENSE file to state that the software is only made
+ available under the version 2 of the GPL.
+
+- Removed the misplaced DXPC copyright notices from the license.
+ They were copied from NXCOMP but they don't apply in any way to
+ NXCOMPEXT.
+
+nxcompext-2.0.0-6
+
+- Added the NXSetCacheParameters() request. It tells to the local
+ proxy how to handle the X requests, namely if the next requests
+ have to be stored in the memory cache, split in smal data chunks,
+ and in the case of images, saved on disk in the persistent image
+ cache. The request will affect all X messages, including plain
+ and packed images. It can be used to tell the proxy to discard
+ images coming from some selected operations, like GLX or XVideo.
+
+nxcompext-2.0.0-5
+
+- Added the NXGetFontParameters() request and reply. If the proxy
+ has been configured accordingly, the request returns the X font
+ path that can be set by the agent to tunnel the font server con-
+ nections through the NX link.
+
+nxcompext-2.0.0-4
+
+- Initial work on font server tunneling.
+
+nxcompext-2.0.0-3
+
+- Renamed the NXSetExposeEvents request to NXSetExposeParameters.
+
+nxcompext-2.0.0-2
+
+- Modified the configure and the makefiles to support the Cygwin
+ environment.
+
+- Renamed Png.h to Pgn.h to avoid name clashes on Windows.
+
+- The distclean target now removes the autom4te.cache directory.
+
+nxcompext-2.0.0-1
+
+- Opened the 2.0.0 branch based on nxcompext-1.5.0-20.
+
+nxcompext-1.5.0-20
+
+- Removed the code installing a SIGSEGV handler before trying to
+ clean an image in NXCleanImageInPlace().
+
+nxcompext-1.5.0-19
+
+- Added the NXUnsetLibraryPath() function to specify the behaviour
+ of the Popen() in the X server. If the _NXUnsetLibraryPath flag
+ is set, the Popen() will remove the LD_LIBRARY_PATH variable from
+ the environment before running the child process. This will cause
+ the X server to run the process (for example the keyboard initia-
+ lization utilities) by using the native system libraries, instead
+ of the libraries shipped with the NX environment.
+
+nxcompext-1.5.0-18
+
+- Moved the declarations of _NXEnable* and related structures from
+ Xlibint.h to NXlibint.h.
+
+- Use the include files from nx-X11 if the nx-X11/include directory
+ is found. The previous configure checked the presence of nx-X11/
+ exports/include, that might not be built at the time this library
+ is compiled.
+
+nxcompext-1.5.0-17
+
+- Added the -fPIC GCC flag when compiling on AMD64 architectures.
+
+- Removed all warnings when compiling with GCC4.
+
+- Small changes to configure.in to have specific CFLAGS.
+
+- Created a new configure using autoconf 2.59.
+
+nxcompext-1.5.0-16
+
+- Added the 'mode' field in the NXStartSplit() request. It determi-
+ nes the strategy that the proxy will adopt to handle the image.
+ If set to 'eager', the proxy will only split the messages whose
+ size exceeds the split threshold (the threshold can be found in
+ the NXGetControlParameters() reply). If mode is set to lazy, the
+ proxy will split any image that it is not able to find in its
+ cache.
+
+ The opcode and the two available modes are defined in NXproto.h,
+ currently:
+
+ #define NXSplitModeDefault 0
+ #define NXSplitModeEager 1
+ #define NXSplitModeLazy 2
+
+- All requests related to image streaming now carry a 'resource' id.
+ The id is currently ignored by the proxy in the case of NXCommit-
+ Split() requests.
+
+nxcompext-1.5.0-15
+
+- Removed the NXSync() and NXKarma() operations, not used anymore
+ by the NX agents.
+
+- Updated to comply with changes occurred in the numbering of the
+ notification events and in the interface to the image streaming
+ functions.
+
+nxcompext-1.5.0-14
+
+- Accounted for the missing xoffset field in clean-up of XYPixmaps.
+
+nxcompext-1.5.0-13
+
+- Added a 'commit' field in NXCommitSplit(). When zero, the remote
+ proxy will remove the message from the split store, without send-
+ ing the recomposed image to the X server.
+
+nxcompext-1.5.0-12
+
+- Added the NXContinueOnDisplayError() function to specify the be-
+ haviour of the Xlib I/O error handler. If the flag is set to true,
+ Xlib will simply return, instead of quitting the program. This
+ leaves to the application the responsibility of checking the sta-
+ te of the XlibDisplayIOError flag.
+
+- Changed NXDisplayIsValid() to NXDisplayError() and inverted the
+ logic. Now the function returns true if the display pointer is
+ NULL or the XlibDisplayIOError flag is set.
+
+- Added the NXForceDisplayError() function, to shutdown the display
+ descriptor and force Xlib to set the I/O error flag.
+
+nxcompext-1.5.0-11
+
+- Added -I../nx-X11/exports/include to CCINCLUDES in Makefile.in.
+
+nxcompext-1.5.0-10
+
+- Added FindLSB() to replace ffs() that may be not present on some
+ systems.
+
+- Some cosmetic changes.
+
+nxcompext-1.5.0-9
+
+- Fixed a printf() that prevented the code to compile if TEST was
+ enabled.
+
+nxcompext-1.5.0-8
+
+- Implemented the NXLib interface for asynchronous handling of the
+ XGetInputFocus requests and replies.
+
+nxcompext-1.5.0-7
+
+- Removed the _NXFlushSize parameter. New agents run the NX trans-
+ port in-process, so we don't get any benefit from increasing the
+ display buffer size.
+
+nxcompext-1.5.0-6
+
+- Added a NXDisplayIsValid() to check that the display is not NULL
+ and that the descriptor was not shut down after an IOError. The
+ reason a function is needed for this is that the flags field is
+ only in Xlibint and it is not visible to Xlib applications.
+
+nxcompext-1.5.0-5
+
+- Added the NXGetCollect*Resource utility functions, returning the
+ first available small integer resource id that can be used in a
+ subsequent collect request.
+
+nxcompext-1.5.0-4
+
+- Added the NXNumberOfConnections constant.
+
+nxcompext-1.5.0-3
+
+- Implemented the NXLib interface for the asynchronous handling of
+ the XGrabPointer requests and replies.
+
+- Solved an error in image cleaning that prevented the 8 bits-per-
+ pixel images to be completely cleaned. Due to the bug, only half
+ of the total lines were cleaned.
+
+- Removed a bug that prevented the cleaning of XYPixmaps images of
+ bitmap unit 32 and byte order LSB.
+
+- Renamed the NXImageCache variables to show they are global. They
+ are currently used in the nxagent code.
+
+nxcompext-1.5.0-2
+
+- Changed VERSION file.
+
+nxcompext-1.5.0-1
+
+- Opened the 1.5.0 branch.
+
+nxcompext-1.4.1-1
+
+- Removed the configure option --with-static. There are two options
+ now, --with-static-png and --with-static-jpeg, to offer a greater
+ degree of control on the resulting library.
+
+- This version differs from the 1.4.0-3-KRY1 in the way that the con-
+ figure script is generated by GNU Autoconf 2.57, the same version
+ used for nxcomp.
+
+- Opened the 1.4.1 branch.
+
+nxcompext-1.4.0-3
+
+- Updated the VERSION file to reflect the 1.4.0 status.
+
+nxcompext-1.4.0-2
+
+- Imported changes from the latest 1.3.2 development branch.
+
+- The 1.4.0 branch already had a 1.4.0-1 version. The changes from
+ the 1.4.0-1 were up to date with the 1.3.2-2 version.
+
+nxcompext-1.3.2-6
+
+- Fixed problem with icons in KDE and Mozilla on SPARC Solaris. The
+ problem was related to cleaning of one-bit XYPixmaps on big-endian
+ hosts, where shift of the cleaning mask executed in the wrong di-
+ rection.
+
+nxcompext-1.3.2-5
+
+- Changes in Clean.c to compile on Solaris.
+
+nxcompext-1.3.2-4
+
+- Fixed a bug in clean image procedures for 1bit XYPixmaps. The bug
+ caused Mozilla to trash some transparent icons in web pages and
+ the toolbar.
+
+- Added cleaning of the padding bytes at the end of the data chunk
+ inside XImage structure
+
+- Implemented handling of SIGSEGV during cleanup in case of static
+ data.
+
+- Moved image cleanup and masking code in new Clean.c and Mask.c
+ sources.
+
+- Corrected few typos in NXCollectImage code.
+
+nxcompext-1.3.2-2
+
+- Imported 1.4.0-1 changes from the 1.4.0 development branch.
+
+- Modified NXAllocColors to handle errors generated allocating
+ each requested color. A per-color result code is now returned
+ to the caller.
+
+- Code cleanup in Png.h and Png.c.
+
+nxcompext-1.3.2-1
+
+- Opened the 1.3.2 branch.
+
+nxcompext-1.3.1-2
+
+- Removed the underline characters and added a colon in the
+ title of this ChangeLog to fully comply with format used in
+ the release notices.
+
+nxcompext-1.3.1-1
+
+- Opened the 1.3.1 branch.
+
+nxcompext-1.3.0-18
+
+- Added the _NXLostSequenceHandler function to let NX agents
+ suppress the error message and modify the default Xlib
+ behaviour when out-of-order sequence numbers are received.
+ Pointer to function is assigned to _NXLostSequenceFunction
+ in XlibInt.c.
+
+- Original output buffer size in stock XFree86 is 2048. We try
+ to reduce context switches and help stream compression by
+ increasing the maximum size of the buffer 8192. _NXFlushSize
+ determines when the display buffer is actually flushed. It is
+ set by default to 4096 in XlibInt.c and set to 0 to use the
+ maximum available size at the time NXGetControlParameters()
+ is called.
+
+nxcompext-1.3.0-17
+
+- In handling of asynchronous GetProperty replies a warning
+ message was printed in session log when a null property was
+ stored in the state structure. This message is now printed
+ only if TEST is defined.
+
+nxcompext-1.3.0-16
+
+- Added asynchronous handling of GetProperty request and reply
+ by means of the NXCollectProperty and NXGetCollectedProperty
+ requests and the NXCollectPropertyNotify event.
+
+nxcompext-1.3.0-15
+
+- Added 4 new fields to the X_NXGetControlParameters reply.
+
+nxcompext-1.3.0-14
+
+- Added request X_NXFreeUnpack to free the resources allocated
+ by the remote proxy to unpack images for the given agent's
+ client
+
+nxcompext-1.3.0-13
+
+- Modified the following requests to carry the id of the
+ agent's client in the field resource:
+
+ - X_NXSetUnpackGeometry
+ - X_NXSetUnpackColormap
+ - X_NXSetUnpackAlpha
+ - X_NXPutPackedImage
+
+nxcompext-1.3.0-11
+
+- Modified the MIT-SHM initialization procedure to always send
+ all the 3 protocol requests also in the case of early failures.
+
+nxcompext-1.3.0-10
+
+- Added handling of X_NXSetUnpackAlpha request.
+
+- It has been made possible to send both X_NXSetUnpackColormap
+ and X_NXSetUnpackAlpha messages with 0 entries to temporarily
+ disable use of the colormap or the alpha channel and free the
+ resources allocated by the remote proxy.
+
+nxcompext-1.3.0-9
+
+- Solved a compatibility problem when mixing proxy versions
+ 1.2.2 and 1.3.0 due to the missing X_NXGetShmemParameters
+ request.
+
+nxcompext-1.3.0-7
+
+- Reduced the number of requests needed to setup the shared
+ segment at X server proxy from 4 to 3.
+
+- Small changes to the shared memory interface to support
+ path X agent to X client proxy.
+
+nxcompext-1.3.0-6
+
+- Implemented initial support for MIT-SHM extension in the
+ network path between the X server proxy and the real X
+ server.
+
+- Configure script now checks for the FreeBSD environment.
+
+- New configure script generated using autoconf-2.57-3.
+
+- Removed the XFree86 CCDEFINES from Makefile.in.
+
+nxcompext-1.3.0-5
+
+- Cosmetic changes.
+
+- Started to convert configure.in to the new layout adopted
+ for nxcomp.
+
+- Created file CHANGELOG.
+
+nxcompext-1.3.0-4
+
+- More fixes in image clean-up.
+
+nxcompext-1.3.0-3
+
+- Many fixes in image clean-up functions to handle differences
+ in endianess between client and X server.
+
+nxcompext-1.3.0-2
+
+- Modified configure.in to compile under Solaris.
+
+nxcompext-1.3.0-1
+
+- First 1.3.0 version based on nxcompext-1.2.2-12.
+
diff --git a/doc/_attic_/NoMachine_documentation_files/nxcompext_README b/doc/_attic_/NoMachine_documentation_files/nxcompext_README
new file mode 100644
index 000000000..39648e76b
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nxcompext_README
@@ -0,0 +1,15 @@
+README
+------
+
+1. To compile:
+
+ > tar zxvf nxcompext-X.Y.Z-N.tar.gz
+ > cd nxcompext
+ > ./configure
+ > make
+
+ You'll have to run gmake under Solaris.
+
+2. The 'make install' target is not currently supported
+ in the Makefile, but it should be simple to fix.
+
diff --git a/doc/_attic_/NoMachine_documentation_files/nxcompshad_CHANGELOG b/doc/_attic_/NoMachine_documentation_files/nxcompshad_CHANGELOG
new file mode 100644
index 000000000..3472a4afe
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nxcompshad_CHANGELOG
@@ -0,0 +1,404 @@
+ChangeLog:
+
+nxcompshad-3.5.0-2
+
+- Fixed TR03G02189. Now key combinations involving the Shift keys
+ are recognized correctly.
+
+nxcompshad-3.5.0-1
+
+- Opened the 3.5.0 branch based on nxcompshad-3.4.0-3.
+
+- Updated copyright to year 2011.
+
+nxcompshad-3.4.0-3
+
+- Updated copyright to year 2010.
+
+nxcompshad-3.4.0-2
+
+- Fixed TR08G02256. Now the Shadow session is shown correctly with
+ MIT-SHM extension disabled.
+
+- Improved updateShadowFrameBuffer() and ~Poller() functions.
+
+- Avoided memory leak.
+
+nxcompshad-3.4.0-1
+
+- Opened the 3.4.0 branch based on nxcompshad-3.3.0-3.
+
+- Updated version number.
+
+- Updated copyright to year 2009.
+
+- Improved error messages logging in case of initialization failures.
+
+nxcompshad-3.3.0-3
+
+- Fixed TR01G02158. Keymap initialization could be incorrect because
+ of a type mismatch on 64 bit platforms.
+
+nxcompshad-3.3.0-2
+
+- Updated VERSION.
+
+nxcompshad-3.3.0-1
+
+- Opened the 3.3.0 branch based on nxcompshad-3.2.0-3.
+
+nxcompshad-3.2.0-3
+
+- Improved keycode translation.
+
+nxcompshad-3.2.0-2
+
+- Solved a problem when sending fake modifier events.
+
+- Added support for keyboard events handling for the web player.
+
+- Changed keycodes translation for Solaris keyboard.
+
+- Corrected a problem for keycodes translation from Solaris keyboard.
+
+- Fixed TR02F02001. In shadow session the shadower's keyboard layout
+ could be wrong. Now keycodes are correctly translated if master and
+ shadow keyboards have different layouts.
+
+- Added NXShadowGetScreenSize() and NXShadowSetScreenSize() functions,
+ so that the shadow session can handle correctly the resize of the
+ master session window.
+
+- Solved a compilation problem on GCC 4.3.
+
+nxcompshad-3.2.0-1
+
+- Opened the 3.2.0 branch based on nxcompshad-3.1.0-2.
+
+nxcompshad-3.1.0-2
+
+- Updated file VERSION to match the current release version.
+
+nxcompshad-3.1.0-1
+
+- Opened the 3.1.0 branch based on nxcompshad-3.0.0-19.
+
+nxcompshad-3.0.0-19
+
+- Skip initialization of damage extension if it was already disabled.
+
+nxcompshad-3.0.0-18
+
+- The poller destructor checks if the damage extension is in use.
+
+- Small changes to the function getting the screen content in the case
+ damage is not in use.
+
+nxcompshad-3.0.0-17
+
+- Cleanup of some log messages.
+
+nxcompshad-3.0.0-16
+
+- Disabled some log message in the functions initializing the poller.
+
+nxcompshad-3.0.0-15
+
+- Before calling XTest functions, it is checked if the connection to
+ master X server has been initialized.
+
+nxcompshad-3.0.0-14
+
+- After the shm segment is created, its mode is changed and it is
+ marked for destroying. A check on the number of attaches is done.
+
+nxcompshad-3.0.0-13
+
+- Creating the shm segment even if the uid of master X server can't be
+ retrieved.
+
+- Fixed reallocation of update region.
+
+- Checking if the master X server provides XTest extension.
+
+nxcompshad-3.0.0-12
+
+- Fixed a compiler warning on AMD64 platform.
+
+- Changed configure script to add -fPIC option.
+
+- Fixed a mismatch in UpdateManager destructor.
+
+nxcompshad-3.0.0-11
+
+- Fixed the function setting the uid of shm segment.
+
+- Sync with the master X server before marking the shm segment to be
+ destroyed.
+
+nxcompshad-3.0.0-10
+
+- Setting the shm segments as readable only by the master X server
+ process.
+
+- Mark shm segments to be destroyed when the last process detach.
+
+- Enabled keycode translation in order to allow keyboards of different
+ models to work.
+
+nxcompshad-3.0.0-9
+
+- Changed the LICENSE file to state that the software is only made
+ available under the version 2 of the GPL.
+
+- Added file COPYING.
+
+- Changes to translate keycodes between different keyboard types. The
+ keycodes are translated through the keysym.
+
+- Changes to convert a Mode_switch key to ISO_Level3_Shift if it is
+ needed.
+
+nxcompshad-3.0.0-8
+
+- Added interface function NXShadowDisableShm disabling the use of
+ MIT-SHM extension.
+
+- Added interface function NXShadowDisableDamage disabling the use of
+ DAMAGE extension.
+
+- Added interface function NXShadowSetDisplayUid setting the uid of
+ shadowed X server
+
+- Changed the owner of shared memory segments to the uid of the sha-
+ dowed X server.
+
+- Fixed logWarning method.
+
+- Moved the code initializing the use of shared memory to shmInit
+ method of X11 Poller.
+
+nxcompshad-3.0.0-7
+
+- Removed the class qualifier in the declaration of destroyUpdate-
+ ManagerRegion().
+
+nxcompshad-3.0.0-6
+
+- Fixed build errors on 64 bit platforms.
+
+- Called XTestGrabControl to override possible grabs of the X server.
+
+nxcompshad-3.0.0-5
+
+- Added some stub members to the Poller class. These are intended to
+ handle keyboard state.
+
+- Changes in the default polling algorithm to disable the line pri-
+ ority persistence.
+
+nxcompshad-3.0.0-4
+
+- If a low layer handling of screen changes is available (DAMAGE in
+ case of X11), polling routine uses it and returns immediately.
+
+- Creating a Damage notify object if the extension is supported.
+
+- DamageNotify events are saved in the update region. After all avail-
+ able events have been handled, the content of screen is retrieved
+ by ShnGetImage requests.
+
+- XDamageSubtract and XSync are done before any event handling.
+
+- Damages are requested as raw rectangles.
+
+- Added Xdamage and Xrandr to required libraries.
+
+- Fixed a problem with some lines not refreshed in shadowing mode.
+
+nxcompshad-3.0.0-3
+
+- Added destroyUpdateManagerRegion() method to UpdateManager class.
+
+- Turned off some log messages.
+
+- Changed configure.in to remove warnings related to deprecated header
+ files and options.
+
+- Changed Makefile.in to remove autom4te.cache dir if the target is
+ 'distclean'.
+
+- Removed multi-word file names.
+
+nxcompshad-3.0.0-2
+
+- Changes to get the screen of original display by a ShmGetImage.
+
+- Exit the polling loop if more than 50 ms have elapsed.
+
+nxcompshad-3.0.0-1
+
+- Created nxcompshad based on nxshadow-3.0.0-7.
+
+nxshadow-3.0.0-7
+
+- Deleted files KeyCursorTmp.cpp, scancodes.h, constant.h.
+
+- Renamed NXshadow.h to Shadow.h.
+
+- Merged NXshadowEvent.h with Shadow.h.
+
+- Fixed configure.in, changed Makefile.in to build Xcompshad library,
+ rebuilt configure script.
+
+nxshadow-3.0.0-6
+
+- Implemented a callback mechanism to ask the caller program if screen
+ polling have to be suspended.
+
+nxshadow-3.0.0-5
+
+- Changes to comply with the library name.
+
+- Fixed a bug in CorePoller that could prevent the update of the last
+ line of a rectangle.
+
+nxshadow-3.0.0-4
+
+- Removed some parameters of the NXShadowAddUpdaterDisplay() function.
+
+nxshadow-3.0.0-3
+
+- Updated copyright notices to the current year.
+
+- Code cleanup in KeysCursorTmp.c file.
+
+nxshadow-3.0.0-2
+
+- If master agent uses shared memory extension, the GetImage is rea-
+ lized by XShmGetImage() function.
+
+- Added new parameters to NXShadowAddUpdaterDisplay() function, the
+ depth and bit mask color of the master display.
+
+nxshadow-3.0.0-1
+
+- Opened the nxshadow-3.0.0 branch based on the nxaccess-3.0.0-13.
+
+- Renamed NXaccess.h NXaccessEvent.h and RegionM.h files as NXshadow.h
+ NXshadowEvent.h and Regions.h.
+
+- Modified the Makefile.in file and configure scripts in order to
+ compile the component.
+
+nxaccess-3.0.0-13
+
+- Fixed X11Poller.cpp pre-processing.
+
+nxaccess-3.0.0-12
+
+- Fixed build problems on Solaris.
+
+nxaccess-3.0.0-11
+
+- Added NXShadowUpdateBuffer() function. This function creates the
+ buffer for the polling.
+
+- If the scaline fails, the polling will suspend for 50 ms.
+
+- Added some functions in order to access data member class.
+
+nxaccess-3.0.0-10
+
+- Used XTEST extension to make the shared display create input events.
+
+nxaccess-3.0.0-9
+
+- Added the mouse events.
+
+- Now, it's possible to connect to X server display or agent display,
+ the display's content is captured by GetImage and sent to another
+ display by PutImage.
+
+nxaccess-3.0.0-8
+
+- Added KeysCursorTmp.cpp file.
+
+- Solved a problem with the keys, when the window lost focus the Key-
+ Release events weren't propagated.
+
+nxaccess-3.0.0-7
+
+- Added functions in order to remove issues with some keys combina-
+ tion.
+
+nxaccess-3.0.0-6
+
+- Added functions to simulate keys Ctrl + Alt + Del in order to run
+ the Task Manager application.
+
+- Now nxaccess is able to manage all switches between desktops.
+
+nxaccess-3.0.0-5
+
+- Solved a problem with the cursor shape. After a while, the cursor
+ shape are no more updated.
+
+- Now the cursor is updated only when it changes its shape.
+
+- Removed a dirty lines after screen updates.
+
+- Removed the unused file Keyboard.cpp.
+
+- Added the colorCorrect() macro in NXaccess.h.
+
+- Removed the colorCorrect() function in Updater.cpp.
+
+nxaccess-3.0.0-4
+
+- Renamed some source files and functions conforming them to the name
+ of component.
+
+nxaccess-3.0.0-3
+
+- Removed the parameter of type Display in all methods of the class
+ Poller.
+
+- Print, Break and Pause keys are enabled.
+
+nxaccess-3.0.0-2
+
+- Modified the Makefile.in in order to avoid compiling the executive
+ file.
+
+- Removed the unused file Main.cpp.
+
+- The Windows keys are enabled.
+
+- Synchronized local and remote states of Num_Lock, Caps_Lock and
+ Scroll_Lock.
+
+- Updated the NoMachine copyright notices.
+
+nxaccess-3.0.0-1
+
+- Opened the 3.0.0 branch based on the nxmirror-2.0.0-3.
+
+nxmirror-2.0.0-3
+
+- Added the keyboard events for all layouts.
+
+- The mouse wheel button is enabled.
+
+nxmirror-2.0.0-2
+
+- Completed implementation of the keyboard events only for italian
+ layout.
+
+- Added the mouse events and shape cursor.
+
+nxmirror-2.0.0-1
+
+- Opened the 2.0.0 branch based on the 1.5.0-60.
+
+- Added CHANGELOG.
diff --git a/doc/_attic_/NoMachine_documentation_files/nxproxy_CHANGELOG b/doc/_attic_/NoMachine_documentation_files/nxproxy_CHANGELOG
new file mode 100644
index 000000000..e5dff2e4f
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nxproxy_CHANGELOG
@@ -0,0 +1,216 @@
+ChangeLog:
+
+nxproxy-3.5.0-1
+
+- Opened the 3.5.0 branch based on nxproxy-3.4.0-2.
+
+- Updated copyright to year 2011.
+
+nxproxy-3.4.0-2
+
+- Updated copyright to year 2009.
+
+nxproxy-3.4.0-1
+
+- Opened the 3.4.0 branch based on nxproxy-3.3.0-2.
+
+- Changed version number.
+
+nxproxy-3.3.0-2
+
+- Updated VERSION.
+
+nxproxy-3.3.0-1
+
+- Opened the 3.3.0 branch based on nxproxy-3.2.0-1.
+
+nxproxy-3.2.0-1
+
+- Opened the 3.2.0 branch based on nxproxy-3.1.0-2.
+
+nxproxy-3.1.0-2
+
+- Updated version number.
+
+nxproxy-3.1.0-1
+
+- Opened the 3.1.0 branch based on nxproxy-3.0.0-4.
+
+nxproxy-3.0.0-4
+
+- Added file COPYING.
+
+- Changed the LICENSE file to state that the software is only made
+ available under the version 2 of the GPL.
+
+nxproxy-3.0.0-3
+
+- Updated the copyright notices to year 2007.
+
+nxproxy-3.0.0-2
+
+- Updated the file VERSION.
+
+nxproxy-3.0.0-1
+
+- Opened the 3.0.0 branch based on nxproxy-2.0.0-2.
+
+nxproxy-2.0.0-2
+
+- Updated copyright to year 2006.
+
+nxproxy-2.0.0-1
+
+- Opened the 2.0.0 branch based on nxproxy-1.5.0-10.
+
+nxproxy-1.5.0-10
+
+- Added the JPEG, PNG and Z libraries to the linker when compiling
+ on Cygwin. GCC 3.3.x requires that these libraries are explicitly
+ given while this is not required since GCC 3.4.x.
+
+- Created a new configure using autoconf 2.59.
+
+nxproxy-1.5.0-9
+
+- Removed provision for dynamically loading a different version of
+ the nxcomp library.
+
+nxproxy-1.5.0-8
+
+- Updated to reflect the new naming of the NX transport interfaces.
+
+nxproxy-1.5.0-7
+
+- Modified the Makefile.in to remove the *.out.* files generated by
+ Valgrind when running a 'make clean'.
+
+- Modified the README files and removed files that were outdated.
+
+nxproxy-1.5.0-6
+
+- Removed the NX_FORCE_IDLE_PROXY stubs.
+
+nxproxy-1.5.0-5
+
+- This version has NX_FORCE_IDLE_PROXY undefined, so it should work
+ in a way that is compatible with the old nxproxy.
+
+nxproxy-1.5.0-4
+
+- This software is crafted by default to test the new integration
+ between nxcomp and nxssh. The process will stay idle and will
+ let nxssh create the proxy. Note that the session log will go to
+ 'sshlog', not to 'session'. This will have to be fixed in nxcomp
+ in future versions.
+
+- Removed the references to the "bind" functionality that is not
+ used in the current software.
+
+nxproxy-1.5.0-3
+
+- Added a NX_FORCE_IDLE_PROXY. If set, nxproxy will stay idle and
+ will not try to create a nxcomp proxy. This is used for testing
+ the new in-process nxcomp functionalities with the development
+ versions of nxclient and nxssh software.
+
+nxproxy-1.5.0-2
+
+- Small changes to this file.
+
+nxproxy-1.5.0-1
+
+- Opened the 1.5.0 branch.
+
+nxproxy-1.4.1-1
+
+- Opened the 1.4.1 branch.
+
+nxproxy-1.4.0-3
+
+- We were lucky. We found a machine where nxproxy failed exactly
+ in the same way described by multiple users in their reports.
+ The error was the same ('dlopen: win32 line 126') and neither
+ rebasing the Cygwin DLLs or removing all the other Cygwin li-
+ braries worked. So the problem had necessarily to be in a bug-
+ gy Cygwin dlopen() implementation. To solve this I had to make
+ changes to the nxproxy code on Windows, so it links to nxcomp
+ at compile time in the way specified below. As far as I can
+ tell, any other way fails. This seems to be another Cygwin bug:
+ the linker says that everything is OK but then the executable
+ can't be run. Both the Cygwin's bash and the command.com say
+ 'Permission denied'.
+
+ LIBS = -L../nxcomp -lstdc++ -Wl,-e,_mainCRTStartup -lXcomp \
+ -lcygipc -static -lpng -static -ljpeg -lz
+
+nxproxy-1.4.0-2
+
+- Added a Binder class invoked when calling proxy with -B option.
+ It would serve as a replacement of the modifications I'm doing
+ in nxssh. The class is just a framework and the implementation
+ is unfinished.
+
+- Solved a potential problem in Main.c with NXExit() being called
+ after the dlclose(). This was unlikely to happen as proxy never
+ returns.
+
+nxproxy-1.4.0-1
+
+- Opened the 1.4.0 branch.
+
+nxproxy-1.3.2-1
+
+- Opened the 1.3.2 branch.
+
+nxproxy-1.3.1-2
+
+- Removed the underline characters and added a colon in the
+ title of this ChangeLog to fully comply with format used in
+ the release notices.
+
+nxproxy-1.3.1-1
+
+- Opened the 1.3.1 branch.
+
+nxproxy-1.3.0-7
+
+- Added a check on the OS version when running on MacOS/X.
+ Versions 10.2 and 10.3 differ in the way names are mangled.
+
+- Fixed error detection on dlsym(). The previous code was not
+ able to correctly identify missing symbols.
+
+nxproxy-1.3.0-6
+
+- Modified configure.in to compile under FreeBSD.
+
+nxproxy-1.3.0-5
+
+- Fixed a (further) compilation problem under Cygwin.
+
+nxproxy-1.3.0-4
+
+- New nxproxy is able to load libXcomp by dlopen() under
+ Cygwin. This simplifies both code in Main.c and the
+ configure.in script.
+
+- Changed configure.in to not link with -mwindows under
+ Cygwin. Linking with -mwindows prevented stderr to be
+ correctly output when running nxproxy on a console.
+
+nxproxy-1.3.0-3
+
+- Changed configure.in to first check for nx-X11 includes
+ and libraries. Added "/usr/openwin/bin/makedepend" to
+ path searched for the executable.
+
+nxproxy-1.3.0-2
+
+- Small cleanup in configure.in. A new configure script has
+ been generated using autoconf-2.57-3.
+
+nxproxy-1.3.0-1
+
+- Updated internal version, so this release tries to load
+ libXcomp version 1.3.0.
diff --git a/doc/_attic_/NoMachine_documentation_files/nxproxy_README b/doc/_attic_/NoMachine_documentation_files/nxproxy_README
new file mode 100644
index 000000000..8f95d9f3f
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nxproxy_README
@@ -0,0 +1,14 @@
+README
+------
+
+1. To compile:
+
+ > tar zxvf nxproxy-X.Y.Z-N.tar.gz
+ > cd nxproxy
+ > ./configure
+ > make
+
+ You'll have to run gmake under Solaris.
+
+2. The 'make install' target is not currently supported
+ in the Makefile, but it should be simple to fix.
diff --git a/doc/_attic_/NoMachine_documentation_files/nxproxy_README-IPAQ b/doc/_attic_/NoMachine_documentation_files/nxproxy_README-IPAQ
new file mode 100644
index 000000000..7a8a8a958
--- /dev/null
+++ b/doc/_attic_/NoMachine_documentation_files/nxproxy_README-IPAQ
@@ -0,0 +1,27 @@
+README-IPAQ
+-----------
+
+1. Install a cross-compiler for ARM. You can find detailed
+ informations at:
+
+ http://www.ailis.de/~k/knowledge/crosscompiling/toolchain.php
+
+ There are also binaries needed to install the cross-compiler.
+
+2. Configure and compile nxproxy using:
+
+ $ ./configure --with-ipaq
+ $ make
+
+ After compilation type:
+
+ $ arm-linux-strip nxproxy
+
+3. You need libXcomp.so to run nxproxy. Be sure you include the
+ library in your LD_LIBRARY_PATH. For example, you can run:
+
+ > export LD_LIBRARY_PATH $HOME/NX/nxcomp
+ > nxproxy -S localhost:8
+
+4. The package nxscripts contains many examples of NX usage that
+ you can modify to suit your needs.
diff --git a/doc/_attic_/XOrg69_documentation_files/BUILD b/doc/_attic_/XOrg69_documentation_files/BUILD
new file mode 100644
index 000000000..b4f0b3dcf
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/BUILD
@@ -0,0 +1,324 @@
+ Building the X Window System from the X.Org Monolithic Source Distribution
+
+ Jim Gettys and Keith Packard (for X11R6.9)
+ David Dawes and Matthieu Herrb (for XFree86 4.4 RC2)
+
+ 21 December 2005
+
+ Abstract
+
+ This document describes how to build the X Window System from the
+ X.Org monolithic source distribution and is designed to be used in
+ conjunction with the operating system (OS) specific README files.
+
+ NOTE: Refer to the appropriate OS-specific README file in xc/pro-
+ grams/Xserver/hw/xfree86/doc before attempting to build the X dis-
+ tribution. These files often contain additional information that
+ you need to successfully build for your OS.
+
+We highly recommend using gcc to build the X distribution, but X also gener-
+ally builds with the native compiler for each OS platform; The build tools
+known to be required include: gcc, make, C library development package, bi-
+son, flex, ncurses (development package), and Perl.
+
+The monolithic tree also includes copies of some packages maintained outside
+the X.Org project for convenience in building on machines that do not already
+have them installed. These include FreeType 2, fontconfig, expat, xterm,
+and zlib. For most uses however, it is recommended that you install the
+latest version directly from the main distribution site, or use the packages
+provided in your operating system, as they are more likely to be up to date
+with the latest bug fixes and security patches. Depending on your platform,
+use of the bundled versions may be enabled or disabled by default, check the
+Imake configuration files for your platform in xc/config/cf to find out. To
+override the defaults for your platform or to set the path to the installa-
+tion location, see the instructions below on configuring the source via
+xorgsite.def and host.def.
+
+X11R6.9 depends on the following external packages:
+
+ +-------------+----------------+-----------+
+ |Package Name | Version | Included? |
+ +-------------+----------------+-----------+
+ |expat | 1.95.8 | Yes |
+ |fontconfig | 2.2 or newer | Yes |
+ |FreeType | 2.1.8 or 2.1.9 | Yes |
+ |libdrm | 2.0 | Yes |
+ |libpng | 1.2.8 | No |
+ |Mesa | 6.4.1 | Yes |
+ |xterm | Patch 207 | Yes |
+ |zlib | 1.1.4 or 1.2.3 | Yes |
+ +-------------+----------------+-----------+
+
+You can find more information and/or the original sources for these packages
+at their project websites at these URL's:
+
+ +-------------+-------------------------------------------+
+ |Package Name | Website |
+ +-------------+-------------------------------------------+
+ |expat | http://expat.sourceforge.net/ |
+ |fontconfig | http://www.fontconfig.org/ |
+ |FreeType | http://www.freetype.org/ |
+ |libdrm | http://dri.freedesktop.org/libdrm/ |
+ |libpng | http://www.libpng.com/pub/png/libpng.html |
+ |Mesa | http://www.mesa3d.org/ |
+ |xterm | http://dickey.his.com/xterm/xterm.html |
+ |zlib | http://www.zlib.net/ |
+ +-------------+-------------------------------------------+
+
+1. How to get the X11R6.9 distribution source
+
+One way of getting the X11R6.9 source is to obtain it directly from the X.Org
+CVS repository. There are several ways of doing that, and they are described
+in the CVS section of our wiki <URL:http://wiki.x.org/> The CVS tag for this
+release is "XORG-6_9_0". The tag for the maintenance branch for this
+release is "XORG-6_9-branch".
+
+Another method of getting the X11R6.9 source is to either download the 6.9.0
+source tarballs sites from freedesktop.org using either ftp or http. The
+procedure for this is as follows:
+
+ o The X11R6.9 source is contained in the files:
+
+ X11R6.9.0-src1.tar.gz
+
+ X11R6.9.0-src2.tar.gz
+
+ X11R6.9.0-src3.tar.gz
+
+ X11R6.9.0-src4.tar.gz
+
+ X11R6.9.0-src5.tar.gz
+
+ X11R6.9.0-src6.tar.gz
+
+ X11R6.9.0-src7.tar.gz
+
+ These can be found at ftp://ftp.freedesk-
+ top.org/xorg/releases/X11R6.9/src/ or http://xorg.freedesk-
+ top.org/releases/X11R6.9/src/ and similar locations on X.Org mirror
+ sites. X11R6.9.0-src4.tgz and X11R6.9.0-src5.tar.gz contains the fonts.
+ X11R6.9.0-src6.tar.gz contains the documentation source.
+ X11R6.9.0-src7.tar.gz contains the hardcopy documentation.
+ X11R6.9.0-src1.tar.gz, X11R6.9.0-src2.tar.gz and X11R6.9.0-src3.tar.gz
+ contains everything else. If you don't need the docs or fonts you can
+ get by with only X11R6.9.0-src1.tar.gz, X11R6.9.0-src2.tar.gz and
+ X11R6.9.0-src3.tar.gz.
+
+ o Extract each of these files by running the following from a directory on
+ a filesystem containing enough space (the full source requires around
+ 305MB, and a similar amount is required in addition to this for the com-
+ piled binaries):
+
+ gzip -d < X11R6.9.0-src1.tar.gz | tar vxf -
+
+ gzip -d < X11R6.9.0-src2.tar.gz | tar vxf -
+
+ gzip -d < X11R6.9.0-src3.tar.gz | tar vxf -
+
+ gzip -d < X11R6.9.0-src4.tar.gz | tar vxf -
+
+ gzip -d < X11R6.9.0-src5.tar.gz | tar vxf -
+
+ gzip -d < X11R6.9.0-src6.tar.gz | tar vxf -
+
+ gzip -d < X11R6.9.0-src7.tar.gz | tar vxf -
+
+All methods will produce one main source directory called xc.
+
+2. Configuring the source before building
+
+In most cases it shouldn't be necessary to configure anything before build-
+ing.
+
+If you do want to make configuration changes, it is recommended that you
+start by going to the xc/config/cf directory, and copying the file
+xorgsite.def to host.def. Then read through the host.def file (which is
+heavily commented), and set your configuration parameters. Usually you can
+find the default settings by checking the .cf file(s) relevant to your OS.
+
+A good rule to follow is only to change things that you understand as it's
+easy to create build problems by changing the default configuration. Many of
+the configuration parameters are described in the xc/config/cf/README.
+
+If you are using just the X11R6.9.0-src1.tar.gz, X11R6.9.0-src2.tar.gz and
+X11R6.9.0-src3.tar.gz parts of the source dist, you will need to define
+BuildFonts to NO.
+
+3. Using a shadow directory of symbolic links for the build
+
+A recommended practice is to use a shadow directory of symbolic links to do
+the build of X11R6.9 as this allows you to keep the source directory unmodi-
+fied during the build. It has the following benefits:
+
+ o When you are using CVS to maintain your source tree, the update process
+ is not disturbed by foreign files not under CVS's control.
+
+ o It is possible to build X11R6.9 for several different Operating System
+ or architectures from the same sources, shared by read-only NFS mounts.
+
+ o It is possible to build X11R6.9 with different configuration options, by
+ putting a real copy of the host.def file in each build tree and by cus-
+ tomizing it separately in each build tree.
+
+To make a shadow directory of symbolic links, use the following steps:
+
+ o create the directory at the top of the build tree. It is often created
+ at the same level that the xc directory, but this is not mandatory.
+
+ cd the directory containing the xcdirectory
+
+ mkdir build
+
+ o use the "lndir" command to make the shadow tree:
+
+ lndir ../xc
+
+ Note that you can refer to the xc directory with an absolute path if
+ needed.
+
+ See the lndir(1) manual page for details.
+
+If lndir is not already installed on your system, you can build it manually
+from the X11R6.9 sources by running the following commands:
+
+ cd xc/config/util
+
+ make -f Makefile.ini lndir
+
+ cp lndir some directory in your PATH
+
+Occasionally there may be stale links in the build tree, like when files in
+the source tree are removed or renamed. These can be cleaned up by running
+the "cleanlinks" script from the build directory (see the cleanlinks(1) man-
+ual page). Rarely there will be changes that will require the build tree to
+be re-created from scratch. A symptom of this can be mysterious build prob-
+lems. The best solution for this is to remove the build tree, and then re-
+create it using the steps outlined above.
+
+4. Building and installing the distribution
+
+Before building the distribution, read through the OS-specific README file in
+xc/programs/Xserver/hw/xfree86/doc that is relevant to you. Once you have
+addressed the OS-specific details, go your build directory (either the xc
+directory or the shadow tree created before) and run "make World" with the
+BOOTSTRAPCFLAGS set as described in the OS-specific README (if necessary, but
+most systems supported by X11R6.9 don't need BOOTSTRAPCFLAGS). It is advis-
+able to redirect stdout and stderr to World.log so that you can track down
+problems that might occur during the build.
+
+With Bourne-like shells (Bash, the Korn shell, zsh, etc.) use a command like:
+
+ make World > World.log 2>&1
+
+Witch C-shell variants (csh, tcsh, etc), use:
+
+ make World >& World.log
+
+You can follow the progress of the build by running:
+
+ tail -f World.log
+
+ in a terminal.
+
+When the build is finished, you should check the World.Log file to see if
+there were any problems. If there weren't any then you can install the bina-
+ries. By default the "make World" process will exit at the first error. To
+restart the build process after correcting the problems, just run 'make'. If
+Imakefiles or part of the build configuration was changed as part of correct-
+ing the problem, either re-run "make World", or run "make Everything".
+
+If you would prefer "make World" to ignore errors and build as much as possi-
+ble, run it in the following way instead of the way described above:
+
+for Bourne-like shells:
+
+ make WORLDOPTS=-k World > World.log 2>&1
+
+for C-shell variants:
+
+ make WORLDOPTS=-k World >& World.log
+
+To do the install, run "make install" and "make install.man". Make sure you
+have enough space in /usr/X11R6 for the install to succeed. If you want to
+install on a filesystem other than /usr, make a symbolic link to /usr/X11R6
+before installing. To install the tree into a different directory than
+/usr/X11R6 you can specify DESTDIR:
+
+ make install DESTDIR=<install_target_dir>
+
+ make install.man DESTDIR=<install_target_dir>
+
+Cross compiling is supported if the appropriate config files for your target
+platforms exist. You must have the compiler toolchain installed for your tar-
+get platform and the C-compiler must know where those tools exist. To inform
+the build system where your cross compiler is located set the make variable
+CROSSCOMPILEDIR to the directory where the toolchain binaries are installed.
+
+ make World CROSSCOMPILEDIR="<cross compiler dir>";
+
+.
+
+5. Reconfiguring the server (source distribution)
+
+To build a different set of servers or servers with a different set of
+drivers installed:
+
+ 1. Make sure the source for any new drivers is in the correct place (e.g.,
+ driver source should be in a subdirectory of xc/pro-
+ grams/Xserver/hw/xfree86/drivers).
+
+ 2. Change the settings of the server defines in host.def to specify which
+ servers you wish to build. Also, change the driver lists to suit your
+ needs.
+
+ 3. From xc/programs/Xserver, run:
+
+ make Makefile
+ make Makefiles
+ make includes
+ make depend
+ make
+
+6. Other useful make targets
+
+There are some other useful targets defined in the top level Makefile of
+X11R6.9:
+
+ o Everything after a make World, make Everything does everything a make
+ World does, except the cleaning of the tree. It is a way to quickly
+ rebuild the tree after a source patch, but it is not 100% bullet proof.
+ There are cases were it is better to force a full build by using make
+ World.
+
+ o clean does a partial cleaning of the source tree. Removes object files
+ and generated manual pages, but leaves the Makefiles and the generated
+ dependencies files in place. After a make clean you need to re-run
+
+ make includes
+ make depend
+ make
+
+ to rebuild the X11R6.9.
+
+ o distclean does a full cleaning of the source tree, removing all gener-
+ ated files. After a make distclean, make World is the only option to
+ rebuild X11R6.9.
+
+ o includes generates all generated header files and in-tree symbolic links
+ needed by the build. These files are removed by a make clean.
+
+ o depend recomputes the dependencies for the various targets in all Make-
+ files. Depending on the operating system, the dependencies are stored in
+ the Makefile, or as a separate file, called .depend. This target needs
+ the generated include files produced by make includes.
+
+ o VerifyOS displays the detected operating system version. If the numbers
+ shown do not match your system, you probably need to set them manually
+ in host.def and report the problem to Xorg via our bug database at X.Org
+ Bug Database <URL:https://bugs.freedesktop.org/enter_bug.cgi?prod-
+ uct=xorg> or via email at <xorg@lists.freedesktop.org>.
+
+ Generated from Id: BUILD.sgml,v 1.10 alanc Exp $
+
+
+$XdotOrg: xc/BUILD,v 1.7 2005/12/21 05:39:04 kem Exp $
diff --git a/doc/_attic_/XOrg69_documentation_files/ChangeLog.X.org b/doc/_attic_/XOrg69_documentation_files/ChangeLog.X.org
new file mode 100644
index 000000000..5c49bba13
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/ChangeLog.X.org
@@ -0,0 +1,20262 @@
+2005-12-21 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/xorgversion.def:
+ Version 6.9!
+
+2005-12-21 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * BUILD:
+ * README:
+ * RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/BUILD:
+ * programs/Xserver/hw/xfree86/doc/DESIGN:
+ * programs/Xserver/hw/xfree86/doc/Install:
+ * programs/Xserver/hw/xfree86/doc/LICENSE:
+ * programs/Xserver/hw/xfree86/doc/OS2.Notes:
+ * programs/Xserver/hw/xfree86/doc/README:
+ * programs/Xserver/hw/xfree86/doc/README.DECtga:
+ * programs/Xserver/hw/xfree86/doc/README.Darwin:
+ * programs/Xserver/hw/xfree86/doc/README.I128:
+ * programs/Xserver/hw/xfree86/doc/README.LynxOS:
+ * programs/Xserver/hw/xfree86/doc/README.NetBSD:
+ * programs/Xserver/hw/xfree86/doc/README.OpenBSD:
+ * programs/Xserver/hw/xfree86/doc/README.SCO:
+ * programs/Xserver/hw/xfree86/doc/README.SiS:
+ * programs/Xserver/hw/xfree86/doc/README.Solaris:
+ * programs/Xserver/hw/xfree86/doc/README.XKB-Config:
+ * programs/Xserver/hw/xfree86/doc/README.XKB-Enhancing:
+ * programs/Xserver/hw/xfree86/doc/README.apm:
+ * programs/Xserver/hw/xfree86/doc/README.ati:
+ * programs/Xserver/hw/xfree86/doc/README.chips:
+ * programs/Xserver/hw/xfree86/doc/README.dps:
+ * programs/Xserver/hw/xfree86/doc/README.fonts:
+ * programs/Xserver/hw/xfree86/doc/README.i740:
+ * programs/Xserver/hw/xfree86/doc/README.i810:
+ * programs/Xserver/hw/xfree86/doc/README.mouse:
+ * programs/Xserver/hw/xfree86/doc/README.newport:
+ * programs/Xserver/hw/xfree86/doc/README.r128:
+ * programs/Xserver/hw/xfree86/doc/README.rendition:
+ * programs/Xserver/hw/xfree86/doc/README.s3virge:
+ * programs/Xserver/hw/xfree86/doc/RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/Versions:
+ * programs/xkbcomp/README.config:
+ * programs/xkbcomp/README.enhancing:
+ Update formatted docs.
+
+2005-12-21 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ Updated contributors list and copyright holders.
+
+2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/index.pre:
+ Fix doc and index titles for both X11R6.9 and X11R7.
+
+2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ Additional RELNOTES updates.
+
+2005-12-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * LABEL:
+ Add copyright holders listed in changes committed since 6.8.2.
+
+2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ Update RELNOTES.sgml for X11R6.9/X11R7.0 release (Daniel Stone,
+ Kevin Martin).
+
+2005-12-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ Bugzilla #2059 <https://bugs.freedesktop.org/show_bug.cgi?id=2059>
+ Bugzilla #2060 <https://bugs.freedesktop.org/show_bug.cgi?id=2060>
+ Update build instructions for 6.9 and try to answer questions noted
+ in bug reports. List included/required external software.
+
+2005-12-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * extras/Mesa/src/mesa/swrast/s_tritemp.h:
+ Fix to allow building with pre-C99 compilers (Kean Johnston)
+
+ * config/cf/sco5.cf:
+ * config/cf/usl.cf:
+ * lib/misc/snprintf.c:
+ * lib/misc/snprintf.h:
+ * programs/Xserver/hw/xfree86/loader/Imakefile:
+ SCO port fixups (Kean Johnston)
+
+ * lib/GL/mesa/array_cache/Imakefile:
+ * lib/GL/mesa/main/Imakefile:
+ * lib/GL/mesa/math/Imakefile:
+ * lib/GL/mesa/shader/Imakefile:
+ * lib/GL/mesa/shader/grammar/Imakefile:
+ * lib/GL/mesa/shader/slang/Imakefile:
+ * lib/GL/mesa/shader/slang/library/Imakefile:
+ * lib/GL/mesa/swrast/Imakefile:
+ * lib/GL/mesa/swrast_setup/Imakefile:
+ * lib/GL/mesa/tnl/Imakefile:
+ * lib/GL/mesa/tnl_dd/Imakefile:
+ * lib/GL/mesa/x86/Imakefile:
+ Bugzilla #1709 <https://bugs.freedesktop.org/show_bug.cgi?id=1709>
+ Patch #3848 <https://bugs.freedesktop.org/attachment.cgi?id=3848>
+ -DIN_DRI_DRIVER needed when building Mesa (Sérgio M. B.)
+
+ * programs/Xserver/fb/fbpict.c:
+ Regression in Render extension: compositing an 8bpp picture on another
+ 8bpp picture with PictOpSrc produces no output (Fredrik Höglund)
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ Bugzilla #5359 <https://bugs.freedesktop.org/show_bug.cgi?id=5359>
+ Patch #4113 <https://bugs.freedesktop.org/attachment.cgi?id=4113>
+ Segmentation fault when starting Xorg (Mark Kettenis)
+
+2005-12-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/general/Standards.man:
+ * programs/xman/version.h:
+ Version bumps from 6.8 to 6.9
+
+2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * doc/hardcopy/BDF/bdf.PS.gz:
+ * doc/hardcopy/CTEXT/ctext.PS.gz:
+ * doc/hardcopy/FSProtocol/fsproto.PS.gz:
+ * doc/hardcopy/ICCCM/icccm.PS.gz:
+ * doc/hardcopy/ICCCM/icccm.idx.PS.gz:
+ * doc/hardcopy/ICE/ICElib.PS.gz:
+ * doc/hardcopy/ICE/ice.PS.gz:
+ * doc/hardcopy/SM/SMlib.PS.gz:
+ * doc/hardcopy/SM/xsmp.PS.gz:
+ * doc/hardcopy/X11/xlib.PS.gz:
+ * doc/hardcopy/X11/xlib.idx.PS.gz:
+ * doc/hardcopy/XDMCP/xdmcp.PS.gz:
+ * doc/hardcopy/XIM/xim.PS.gz:
+ * doc/hardcopy/XLFD/xlfd.PS.gz:
+ * doc/hardcopy/XProtocol/proto.PS.gz:
+ * doc/hardcopy/XProtocol/proto.idx.PS.gz:
+ * doc/hardcopy/Xaw/widg.idx.PS.gz:
+ * doc/hardcopy/Xaw/widgets.PS.gz:
+ * doc/hardcopy/Xext/DPMS.PS.gz:
+ * doc/hardcopy/Xext/DPMSLib.PS.gz:
+ * doc/hardcopy/Xext/bigreq.PS.gz:
+ * doc/hardcopy/Xext/dbelib.PS.gz:
+ * doc/hardcopy/Xext/evi.PS.gz:
+ * doc/hardcopy/Xext/record.PS.gz:
+ * doc/hardcopy/Xext/recordlib.PS.gz:
+ * doc/hardcopy/Xext/security.PS.gz:
+ * doc/hardcopy/Xext/shape.PS.gz:
+ * doc/hardcopy/Xext/shapelib.PS.gz:
+ * doc/hardcopy/Xext/sync.PS.gz:
+ * doc/hardcopy/Xext/synclib.PS.gz:
+ * doc/hardcopy/Xext/tog-cup.PS.gz:
+ * doc/hardcopy/Xext/xc-misc.PS.gz:
+ * doc/hardcopy/Xi/lib.PS.gz:
+ * doc/hardcopy/Xi/port.PS.gz:
+ * doc/hardcopy/Xi/proto.PS.gz:
+ * doc/hardcopy/Xmu/xmu.PS.gz:
+ * doc/hardcopy/Xt/intr.idx.PS.gz:
+ * doc/hardcopy/Xt/intrinsics.PS.gz:
+ * doc/hardcopy/i18n/Framework.PS.gz:
+ * doc/hardcopy/i18n/LocaleDB.PS.gz:
+ * doc/hardcopy/i18n/Trans.PS.gz:
+ Update hardcopy specs for 6.9/7.0 release.
+
+2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * doc/specs/BDF/bdf.ms:
+ * doc/specs/CTEXT/ctext.tbl.ms:
+ * doc/specs/FSProtocol/protocol.ms:
+ * doc/specs/ICCCM/icccm.ms:
+ * doc/specs/ICCCM/indexmacros.t:
+ * doc/specs/ICE/ICElib.ms:
+ * doc/specs/ICE/ice.ms:
+ * doc/specs/SM/SMlib.ms:
+ * doc/specs/SM/xsmp.ms:
+ * doc/specs/X11/CH01:
+ * doc/specs/X11/abstract.t:
+ * doc/specs/X11/indexmacros.t:
+ * doc/specs/XDMCP/xdmcp.ms:
+ * doc/specs/XIM/xim.ms:
+ * doc/specs/XLFD/xlfd.tbl.ms:
+ * doc/specs/XProtocol/X11.protocol:
+ * doc/specs/XProtocol/indexmacros.t:
+ * doc/specs/Xaw/CH1:
+ * doc/specs/Xaw/TPage_Credits:
+ * doc/specs/Xaw/widg.idxmac.t:
+ * doc/specs/Xext/DPMS.ms:
+ * doc/specs/Xext/DPMSLib.ms:
+ * doc/specs/Xext/bigreq.ms:
+ * doc/specs/Xext/evi.ms:
+ * doc/specs/Xext/record.ms:
+ * doc/specs/Xext/recordlib.ms:
+ * doc/specs/Xext/security.tex:
+ * doc/specs/Xext/shape.ms:
+ * doc/specs/Xext/shapelib.ms:
+ * doc/specs/Xext/sync.tex:
+ * doc/specs/Xext/synclib.tex:
+ * doc/specs/Xext/tog-cup.ms:
+ * doc/specs/Xext/xc-misc.ms:
+ * doc/specs/Xi/library.ms:
+ * doc/specs/Xi/porting.ms:
+ * doc/specs/Xi/protocol.ms:
+ * doc/specs/Xmu/Xmu.ms:
+ * doc/specs/Xt/strings.mit:
+ * doc/specs/i18n/Framework.ms:
+ * doc/specs/i18n/LocaleDB.ms:
+ * doc/specs/i18n/Trans.ms:
+ Update specs for 6.9/7.0 release.
+
+2005-12-19 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/xorg.conf.man:
+ Bug #5116: Refer DRI section details to dri.fd.o.
+
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ Bug #2571: Fix cross-compile instructions (Alexander Gottwald)
+
+2005-12-18 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/doc/CODING:
+ * programs/Xserver/hw/xfree86/doc/exa-driver.txt:
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/Darwin.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/Install.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/LICENSE.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/NetBSD.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/OpenBSD.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/OS2Notes.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/README.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/Solaris.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/Status.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/XKB-Config.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/ati.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/chips.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/defs.ent:
+ * programs/Xserver/hw/xfree86/doc/sgml/dps.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/mouse.sgml:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810.man:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.man:
+ * programs/Xserver/hw/xfree86/drivers/v4l/v4l.man:
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.man:
+ * programs/Xserver/hw/xfree86/getconfig/cfg.man:
+ * programs/Xserver/hw/xfree86/getconfig/getconfig.man:
+ * programs/Xserver/hw/xfree86/input/aiptek/aiptek.man:
+ * programs/Xserver/hw/xfree86/input/citron/citron.man:
+ * programs/Xserver/hw/xfree86/input/fpit/fpit.man:
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.man:
+ * programs/Xserver/hw/xfree86/input/keyboard/keyboard.man:
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.man:
+ * programs/Xserver/hw/xfree86/input/ur98/ur98.man:
+ * programs/Xserver/hw/xfree86/XF86Conf.man:
+ Typo fixes, mailing list & url updates, and other changes
+ to prepare for X11R6.9 & 7.0 releases.
+
+2005-12-19 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/README.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/defs.ent:
+ Update README, RELNOTES and defs.ent.
+
+2005-12-15 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128.man:
+ Bugzilla #5238 <https://bugs.freedesktop.org/show_bug.cgi?id=5238>
+ Patch #3978 <https://bugs.freedesktop.org/attachment.cgi?id=3978>
+ r128 man page dualhead note update (Alex Deucher)
+
+2005-12-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/xorgversion.def:
+ Version bump: 6.8.99.904 (aka 6.9 RC4)
+
+2005-12-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/etc/pci.ids:
+ * programs/Xserver/hw/xfree86/scanpci/xf86PciStdIds.h:
+ Update to 2005-12-14 snapshot from pciids.sf.net
+
+2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_version.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_version.h:
+ * programs/Xserver/hw/xfree86/drivers/newport/newport_driver.c:
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ Bump driver version numbers for final X11R6.9 release candidate.
+
+2005-12-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * Makefile:
+ * LABEL:
+ * config/cf/X11.tmpl:
+ * config/util/makedef.cmd:
+ Update release name to 6.9 in preparation for upcoming 6.9 release.
+
+ * doc/man/general/X.man:
+ * doc/man/general/XOrgFoundation.man:
+ Correct spelling of X.Org Foundation name. Updates for 6.9 release.
+
+2005-12-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xterm/88colres.pl:
+ * programs/xterm/INSTALL:
+ * programs/xterm/Imakefile:
+ * programs/xterm/MANIFEST:
+ * programs/xterm/Makefile.in:
+ * programs/xterm/Tekproc.c:
+ * programs/xterm/UXTerm.ad:
+ * programs/xterm/VTPrsTbl.c:
+ * programs/xterm/VTparse.h:
+ * programs/xterm/XTerm-col.ad:
+ * programs/xterm/XTerm.ad:
+ * programs/xterm/aclocal.m4:
+ * programs/xterm/button.c:
+ * programs/xterm/charproc.c:
+ * programs/xterm/config.guess:
+ * programs/xterm/config.sub:
+ * programs/xterm/configure:
+ * programs/xterm/configure.in:
+ * programs/xterm/ctlseqs.ms:
+ * programs/xterm/data.c:
+ * programs/xterm/data.h:
+ * programs/xterm/fontutils.c:
+ * programs/xterm/input.c:
+ * programs/xterm/install.sh:
+ * programs/xterm/main.c:
+ * programs/xterm/menu.c:
+ * programs/xterm/menu.h:
+ * programs/xterm/misc.c:
+ * programs/xterm/os2main.c:
+ * programs/xterm/ptyx.h:
+ * programs/xterm/resize.c:
+ * programs/xterm/screen.c:
+ * programs/xterm/scrollbar.c:
+ * programs/xterm/sinstall.sh:
+ * programs/xterm/termcap:
+ * programs/xterm/terminfo:
+ * programs/xterm/trace.c:
+ * programs/xterm/trace.h:
+ * programs/xterm/util.c:
+ * programs/xterm/version.h:
+ * programs/xterm/xterm.h:
+ * programs/xterm/xterm.log.html:
+ * programs/xterm/xterm.man:
+ * programs/xterm/xterm_io.h:
+ * programs/xterm/xtermcfg.hin:
+ * programs/xterm/vttests/tcapquery.pl:
+ Update xterm to patch 207 from http://dickey.his.com/xterm/xterm.html
+
+2005-12-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/config/Imakefile:
+ Need to include $(XPM_DEFINES) when cpp'ing xdm-config to match
+ settings used in modular build.
+
+2005-12-14 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c:
+ Bug #1760: Fix ati wrapper multihead to be dlloader friendly.
+
+ * programs/Xserver/hw/xfree86/common/xf86Globals.c:
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ * programs/Xserver/hw/xfree86/common/xf86Priv.h:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_apm.c:
+ Bug #4718: Command line flag to disable ACPI.
+
+2005-12-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xft/xft.pc.in:
+ * lib/Xevie/xevie.pc.in:
+ Make sure .pc files installed by monolith build don't reference
+ .pc files only installed by the modular release (like xproto & xext).
+
+2005-12-12 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ (MouseCommonOptions), (MouseDoPostEvent):
+ Bug #1752: When emulating 3 buttons in "auto" mode, timeout
+ immediately when a mouse movement is detected (Egbert Eich,
+ Kean Johnston, Kevin Martin).
+
+2005-12-11 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/config/xdm-conf.cpp:
+ Bugzilla #5055 <https://bugs.freedesktop.org/show_bug.cgi?id=5055>
+ Add XDMSCRIPTDIR cpp substitution to allow modular tree
+ builder/packager to decide if scripts should go in config, lib,
+ or data directories.
+
+2005-12-09 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ Bug #1106: Fix memory allocation for Render. (Michel Daenzer)
+
+ * programs/xkbcomp/symbols/nl:
+ Bug #3544: Fix various keys on Dutch keyboards. (traxtopel at fastmail
+ dot fm)
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_bios.c:
+ Bug #3869: Don't walk off the end of an array in connector detection.
+ (Eric Anholt)
+
+ * config/makedepend/ifparser.c:
+ Bug #4380: Avoid dividing by zero in gccmakedepend (Vincent Le Ligeour)
+
+ * programs/Xserver/miext/cw/cw.h:
+ Bug #4935: Fix includes. (Eric Anholt)
+
+ * programs/Xserver/fb/fbcompose.c:
+ * programs/Xserver/hw/dmx/dmxpict.c:
+ * programs/Xserver/render/picture.c:
+ * programs/Xserver/render/picturestr.h:
+ Bug #5258: Restore binary compatibility with 6.8.2's PictureRec.
+ (Aaron Plattner)
+
+ * programs/Imakefile:
+ * programs/pclcomp/*:
+ Bug #4853: Remove pclcomp for being non-free.
+
+2005-12-08 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_axp.c:
+ Bug #4928: Fix compilation for Alpha. (Stefaan DeRoeck)
+
+ * programs/Xserver/fb/fbcompose.c:
+ Bug #3944: Fix 24bpp packed pixel. (Søren Sandmann Pedersen)
+
+ * programs/Xserver/hw/xfree86/drivers/newport/newport_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/newport/newport_driver.c:
+ Fix a non-dlloaderism to make X -configure work.
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ Bug #4361: Change driver probe logic to read the driver list from
+ disk instead of using a compile-time array. Push the fallback drivers
+ to the end of the list so driver probe order stays useful.
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ Bug #1288: Additional refactor of the driver probe logic to keep
+ ati loaded before atimisc.
+
+2005-12-08 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * library.c: (XcursorLibraryPath):
+ * programs/Xserver/hw/xfree86/drivers/ati/theatre200.h:
+ * programs/Xserver/hw/xfree86/xf86cfg/loader.c:
+ (LoaderInitializeOptions):
+ * programs/Xserver/hw/xfree86/xf86cfg/text-mode.c: (TextMode):
+ * programs/mkcfm/mkcfm.c:
+ Allow hard-coded paths to be configurable.
+
+2005-12-06 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xclock/Clock.c:
+ Bugzilla #5251 <https://bugs.freedesktop.org/show_bug.cgi?id=5251>
+ xclock -digital only shows "20" (Egmont Koblinger)
+
+2005-12-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/xorgversion.def:
+ Version bump: 6.8.99.903 (aka 6.9 RC3)
+
+2005-12-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Set DlLibrary to -lc on Solaris 10, since libdl was merged into libc.
+
+ * config/cf/sunLib.tmpl:
+ Replace hardcoded -ldl with DlLibrary.
+
+2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_version.h:
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.h:
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ Bump version numbers for X11R6.9/X11R7 RC3.
+
+2005-11-30 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/GL/dri/drm/Imakefile:
+ * lib/XvMC/hw/i810/Imakefile:
+ * lib/XvMC/hw/via/unichrome/Imakefile:
+ * lib/XvMC/hw/via/unichromeProA/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/xf86drm.h:
+ * programs/Xserver/hw/xfree86/os-support/xf86drmCompat.h:
+ * programs/Xserver/hw/xfree86/os-support/bsd/drm/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drm.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmHash.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmRandom.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmSL.c:
+ Bug #5016: Pull libdrm from the copy in extras.
+
+2005-11-29 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/fb/Imakefile:
+ * programs/Xserver/fb/fbmmx.c:
+ * programs/Xserver/fb/fbpict.c:
+ Bug #5093: Fix fb for non-SSE machines. (Xavier Bachelot)
+
+ * config/cf/NetBSD.cf:
+ Bug #4828: Better fix for NetBSD thread lib. (Jeremy C. Reed)
+
+2005-11-28 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/xdriinfo/xdriinfo.c: (main):
+ Bug #5146: Fix building of xdriinfo in the presence of NVIDIA libGL by
+ using the GLX 1.3 glXGetProcAddressARB instead of glXGetProcAddress.
+
+2005-11-29 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_video.c
+ Bug #736 <https://bugs.freedesktop.org/show_bug.cgi?id=736>
+ Fix offset for later generation trident chipsets so that Xv data
+ is correctly grabbed from video memory. Spotted by Guy Martin.
+
+2005-11-27 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/Xaw/Pixmap.c:
+ Fix Xaw6 to build without Xpm.
+
+2005-11-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xkbcomp/symbols/pl2:
+ Bug #5070 <https://bugs.freedesktop.org/show_bug.cgi?id=5070>
+ Patch #3816 <https://bugs.freedesktop.org/attachment.cgi?id=3816>
+ Typo in key definition for the pl2 keyboard layout. (Krzysztof Nowicki)
+
+2005-11-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/X11/XKBCvt.c:
+ * config/util/lndir.c:
+ * lib/Xt/Intrinsic.c:
+ Bug #5003 <https://bugs.freedesktop.org/show_bug.cgi?id=5003>
+ Patch #3763 <https://bugs.freedesktop.org/attachment.cgi?id=3763>
+ Xorg code misuses S_IF* macros
+
+2005-11-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * include/keysymdef.h:
+ Change values of XK_MATHEMATICAL symbols to use 0x1000000 + Unicode
+ value, as Xorg Architecture Task Force agreed last year should be
+ done for all new keysyms mapped to Unicode characters.
+
+2005-11-20 Kean Johnston <kean@armory.com>
+
+ * config/cf/sco5.cf:
+ * config/cf/usl.cf:
+ Set HasSnprintf to NO becuase setting it to YES implies that it
+ has C99 semantics, which neither OS has, despite having the function
+ in libc.
+
+2005-11-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xset/xset.c:
+ Fix typo in #define that caused Xprint support to not be built in
+ modular tree.
+
+2005-11-19 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/Xft/xft.pc.in:
+ * lib/Xevie/xevie.pc.in:
+ Update pkgconfig files to separate library build-time dependencies
+ from application build-time dependencies.
+
+2005-11-18 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/GL/dri/xf86dri.c: (ProcXF86DRIOpenConnection),
+ (ProcXF86DRIGetDeviceInfo):
+ Bug #5060: Fix non-Linux DRI on 64 bit post Linux 32/64 changes.
+
+2005-11-18 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/ddc/xf86DDC.c:
+ Bug #4859: Don't segfault on bad DDC read. (Tony Houghton)
+
+ * config/cf/mingw.rules:
+ * programs/Xserver/Imakefile:
+ Bug #4578: Fix cross-build of Xming. (Colin Harrison)
+
+2005-11-15 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ (ViaSwovSurfaceCreate), (ViaSwovSurfaceDestroy):
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c:
+ (viaSetupAdaptors):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvpriv.h:
+ Fix via video surface reallocation and destruction.
+ (Reported by Cedric Berger)
+
+2005-11-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/xinit/Imakefile:
+ * programs/xinit/startx.cpp:
+ * programs/xinit/xinitrc.cpp:
+ Make using full paths in the xinit scripts optional.
+
+2005-11-14 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/font/fontfile/Imakefile:
+ * lib/font/fontfile/dirfile.c:
+ * lib/font/fontfile/fontdir.c:
+ Bug #5047: Make font directory attribs work in modular.
+
+2005-11-14 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/include/servermd.h:
+ Make fb build on darwin/ppc without addition #define hacks
+
+2005-11-14 Kean Johnston <kean@armory.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c: Dont prevent
+ SCO platforms from writing ZAxisMapping now that the OS layers
+ correctly send z-axis events for wheel motion.
+
+2005-11-14 Matthias Hopf <mhopf@suse.de>
+
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c: (MousePreInit):
+ Bug #4915: ButtonMapping default changed from one-to-one mapping
+ to "1 2 3 8 9 10 11...".
+
+2005-11-14 Matthias Hopf <mhopf@suse.de>
+
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c: (MousePreInit):
+ Bug #4915: Move buttonMapping initialization before calling OS
+ specific PreInit.
+
+2005-11-11 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/util/mkshadow/mkshadow.c:
+ Typo in error message: "symbolc link" -> "symbolic link"
+
+2005-11-11 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c:
+ (R128InitVisualConfigs):
+ Bug #1028: Don't (incorrectly) mark the 24/8 z/stencil case as slow,
+ which resulted in whining at runtime about the visual not being
+ supported.
+
+2005-11-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/xorgversion.def:
+ Version bump: 6.8.99.902 (aka 6.9 RC2)
+
+2005-11-10 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/GL/mesa/main/Imakefile.inc:
+ Add execmem.c and mm.c to Mesa build.
+
+2005-11-09 Kean Johnston <kean@armory.com>
+
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c: Reinstate the
+ default value for ZAxisMapping.
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_mouse.c: Do
+ one-to-one mapping of mouse buttons. Turn wheel motion into a
+ Z-axis event instead of treating it directly as a button.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_mouse.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_xqueue.c: Ditto.
+
+2005-11-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/Imakefile:
+ Don't link with libresolv on AIX either. (Dan McNichol)
+
+2005-11-09 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/apple/applewm.c:
+ * lib/windows/windowswm.c:
+ #include "foowmstr.h" -> #include <X11/extensions/foowmstr.h>
+
+2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/ativersion.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_version.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_version.h:
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.h:
+ * programs/Xserver/hw/xfree86/drivers/rendition/rendition.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis.h:
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb.h:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h:
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmware.c:
+ * programs/Xserver/hw/xfree86/input/digitaledge/DigitalEdge.c:
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c:
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ Bump version numbers for X11R6.9/X11R7 RC2.
+
+2005-11-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xsetpointer/xsetpnt.man:
+ Bug #4620 <https://bugs.freedesktop.org/show_bug.cgi?id=4620>
+ xsetpointer man page refers to "xsetmode" by mistake (Ortwin Glück)
+
+2005-11-09 Matthias Hopf <mhopf@suse.de>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c:
+ (RADEONGenerateModeListFromMetaModes):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_merge.c:
+ (GenerateModeList):
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c:
+ (SiSGenerateModeListFromMetaModes):
+ Bug #4998: Add ';' and ',' as valid separators for MetaModes as well.
+
+2005-11-09 Matthias Hopf <mhopf@suse.de>
+
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.man:
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c:
+ * programs/Xserver/hw/xfree86/os-support/hurd/hurd_mouse.c:
+ * programs/Xserver/hw/xfree86/os-support/nto/nto_mouse.c:
+ * programs/Xserver/hw/xfree86/os-support/os2/os2_mouse.c:
+ * programs/Xserver/hw/xfree86/os-support/qnx4/qnx_mouse.c:
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_mouse.c:
+ * programs/Xserver/hw/xfree86/os-support/sysv/xqueue.c:
+ * programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h:
+ Bug #4915: ButtonMapping option which allows to define arbitrary
+ button mappings (including left-handed mouse etc.).
+ Fixed incorrect usage of non-reversed, but ZAxisMapped buttons for
+ state detection.
+ Nuked unused part of reverseMap.
+
+2005-11-09 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ (VIASwitchMode):
+ Bug #4990: <https://bugs.freedesktop.org/show_bug.cgi?id=4990>
+ Avoid dereferencing a NULL pointer if DRI is not enabled.
+ (Joris van Rantwijk)
+
+2005-11-09 Luc Verhaegen <libv@skynet.be>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (ViaModeDotClockTranslate):
+ #4855 fallout: VT3108, VT3118 and VT3344 free modes were broken.
+
+2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ Fix DoLoadableServer NO build.
+
+2005-11-08 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/GL/mesa/drivers/dri/common/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/unichrome/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/via/Imakefile.inc:
+ Do not link/build files that were removed during Mesa import.
+
+2005-11-08 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * extras/Mesa/XOrg-Xlist:
+ Update files to remove during Mesa import (Brian Paul).
+
+2005-11-07 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.c: (pciReadWord),
+ (pciReadByte), (pciWriteWord), (pciWriteByte):
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c:
+ (linuxPciCfgReadByte), (linuxPciCfgWriteByte),
+ (linuxPciCfgReadWord), (linuxPciCfgWriteWord): Bug #2880, add
+ functions for byte and word level access to pci config space.
+
+ * ChangeLog: Fix broken utf8 again.
+
+2005-11-08 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineReset):
+ bugzilla #988 (https://bugs.freedesktop.org/show_bug.cgi?id=988)
+ Fix typo which may or may not have had a negative impact on stability
+ with R300 class cards.
+
+2005-11-08 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONScreenInit):
+ bugzilla #4494 (https://bugs.freedesktop.org/show_bug.cgi?id=4494)
+ Call RADEONDGAInit() even if EXA is enabled; the problematic DGA
+ acceleration hooks are already disabled in that case.
+
+ This fixes DGA issues such as DGA mouse (typically used by games in
+ fullscreen mode) not working.
+
+ Fix suggested by Eric Anholt.
+
+2005-11-08 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c:
+ (RADEONSetCursorPositionMerged):
+ bugzilla #4916 (https://bugs.freedesktop.org/show_bug.cgi?id=4916)
+ Fix segfault with MergedFB and EXA enabled and HW cursor temporarily
+ disabled.
+
+2005-11-08 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c:
+ (RADEONCursorSave), (RADEONCursorAllocEXA), (RADEONUseHWCursor),
+ (RADEONUseHWCursorARGB), (RADEONCursorInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONScreenInit):
+ bugzilla #4951 (https://bugs.freedesktop.org/show_bug.cgi?id=4951)
+ attachment #3689 (http://bugs.freedesktop.org/attachment.cgi?id=3689)
+ Fix HW cursor getting silently disabled with EXA.
+
+2005-11-07 Kean Johnston <kean@armory.com>
+
+ * config/cf/Imake.rules(AssembleObject): Don't use $*, as some
+ makes only accept those in inference rules. Adjust all use of that
+ macro to take the extra arg.
+ * config/cf/QNX4.rules: Ajust usage of AssembleObject.
+ * config/cf/minix.cf: Ditto.
+ * config/cf/nto.rules: Ditto.
+ * config/cf/xf86.tmpl: Ditto.
+ * config/cf/xorg.tmpl: Ditto.
+
+ * config/cf/sco5.cf: Complete overhaul for the modern world.
+ * config/cf/usl.cf: Ditto.
+ * config/cf/scoLib.rules: Set UseExportLists if it wasnt set.
+ Adjust the use of -R and -h linker options to allow for full
+ paths in shard library names.
+ * config/cf/Imake.tmpl: Prefix -Bstatic with -Wl, as not all (in
+ fact few) gcc's are configured to accept -Bstatic as an
+ argument. Revert to dynamic mode after linking in -lgcc.
+ * extras/Xpm/Imakefile: USL doesnt need strcasecmp.
+ * extras/Xpm/lib/Imakefile: Ditto.
+ * extras/ogl-sample/main/gfx/lib/glu/libnurbs/internals/simplemath.h:
+ Dont define abs on UnixWare either.
+ * include/Xfuncs.h: SCO platforms dont need memory.h and they dont
+ need to define bcopy wrappers, as the real prototypes are in
+ strings.h. Include that instead, as it also declares strcasecmp().
+ * include/Xosdefs.h: UnixWare and OSR5 are POSIX-like. Define
+ system default values for PATH_MAX and MAXPATHLEN.
+ * include/Xthreads.h: Updated for UnixWare threads support.
+ * lib/ICE/Imakefile: Use *.cf-defined connection defines.
+ * lib/X11/locking.c: Update for UnixWare threads. This is done in
+ such a way that even non-threaded apps can link with the X libs.
+ * lib/fontconfig/Imakefile: SCO platforms need ksh.
+ * lib/xtrans/Xtranslcl.c: Use SCO named pipes for all transports.
+ Add missing \n to some error strings.
+ Make SCO connection type use connect_spipe() and named_spipe().
+ Dont support the ISC transport layer on SCO platforms.
+ Set a default port if any empty string was passed to the SCO
+ transport layer.
+ * lib/xtrans/Xtransutil.c(ConvertAddress): Set FamilyLocal
+ correctly on SCO platforms.
+ * programs/Xserver/Xprint/ps/Imakefile: Add extra build flags for
+ SCO to pick up the correct definition of MAXPATHLEN.
+ * programs/Xserver/hw/xfree86/common/xf86Config.c: Set the correct
+ default keyboard protocol if XQUEUE mode is on. For backwards
+ compatibility with existing config files, accept keyboard protocol
+ "xqueue" as a synonym for "standard" on UnixWare.
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c: Set the
+ correct mouse protocol for UnixWare. Dont emit default
+ ZAxisMapping for SCO platforms, they do the right thing in the
+ driver code.
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c: Ditto.
+ * programs/Xserver/hw/xfree86/common/xf86Events.c: Deal with
+ 0-based offset for VT's on UnixWare.
+ (xf86CommonSpecialKey): Key isnt special if ShiftMask is also
+ pressed (i.e Ctrl-Alt-Shift-Backspace is not Zap, but
+ Ctrl-Alt-Backspace is).
+ * programs/Xserver/hw/xfree86/doc/sgml/SCO.sgml: Updated SCO
+ release notes.
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_cursor.c: Work
+ around an optimizer bug in the USL compiler that optimizes away
+ a valid volatile.
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c: Set the
+ protocol to "Xqueue" if thats what is being used.
+ * programs/Xserver/hw/xfree86/loader/Imakefile: Copy in libcrt.a
+ for UnixWare systems which is required for runtime support.
+ * programs/Xserver/hw/xfree86/loader/loader.c: Deal with loading
+ libcrt.a in the loader for USLC long long support routines.
+ * programs/Xserver/hw/xfree86/loader/os.c: Identify SVR5 and SCO.
+ * programs/Xserver/hw/xfree86/os-support/Imakefile: Use the new
+ USL code in usl/ for UnixWare.
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h: Dont define
+ XQUEUE for UnixWare, it now has its own full OS layer.
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSproc.h: If XQUEUE
+ is defined, include input.h so that the XQUEUE function
+ declarations are valid.
+ * programs/Xserver/hw/xfree86/os-support/sco/Imakefile: Use new
+ SCO keyboard interface required for kbd driver support.
+ Work around a GNU ld COFF-conversion bug with the event library.
+ * programs/Xserver/hw/xfree86/os-support/sco/VTsw_sco.c: Update
+ function prototypes.
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_iop.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_KbdMap.c: New
+ file for SCO keyboard driver support.
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_kbd.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_kbd.h: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_init.c: Corrected
+ several logic errors with the startup code. Cleaned up prototypes.
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_io.c: Cleaned up
+ prototypes. Modify for use with new keyboard driver model.
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_mouse.c: Only
+ return MSE_MISC from SupportedInterfaces(). Correct event driver
+ mask to include buttons. Correct wheel mouse button map. Ensure we
+ correctly mark the device as closed. Fix event posting algorithm
+ for wheel buttons.
+ * programs/Xserver/hw/xfree86/os-support/shared/sysv_kbd.c: SCO no
+ longer uses this file, remove its conditionals from it.
+ * programs/Xserver/hw/xfree86/os-support/usl/Imakefile: New
+ file. Added full UnixWare os-support layer.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_KbdMap.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_init.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_io.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_iop.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_kbd.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_kbd.h: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_mouse.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_video.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_vtsw.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_xqueue.c: Ditto.
+ * programs/Xserver/hw/xfree86/os-support/usl/usl_xqueue.h: Ditto.
+ * programs/Xserver/hw/xfree86/parser/Monitor.c: Use detected
+ ranges on SCO platforms, and adjust comment accordingly.
+ * programs/Xserver/hw/xfree86/xf86cfg/cards.c: Prevent a coredump
+ if there is no cards database by checking for a NULL pointer in
+ LookupCard().
+ * programs/Xserver/hw/xfree86/xf86cfg/interface.c: Recognise both
+ "keyboard" and "kbd" driver names as valid keyboard drivers.
+ * programs/Xserver/hw/xfree86/xf86cfg/keyboard-cfg.c: Ditto.
+ Also output the correct driver name based on
+ USE_DEPCREATED_KEYBOARD_DRIVER.
+ * programs/Xserver/hw/xfree86/xf86cfg/mouse-cfg.c: Set the default
+ protocol on SCO and UnixWare.
+ * programs/Xserver/hw/xfree86/xf86cfg/text-mode.c: Include the
+ correct curses header file on SCO platforms. Recognise both "kbd"
+ and "keyboard" as valid keyboard driver names. Added missing space
+ in dialog title. Use the correct mouse protocol on SCO/UW7. Set
+ the correct keyboard driver name. Explicitly recognise '\b' as a
+ backspace key on SCO platforms.
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c: Correct
+ comments for UnixWare/XQUEUE.
+ * programs/Xserver/os/utils.c: Emulate pread/pwrite which are
+ missing on SCO platforms.
+ * programs/ico/ico.c: Make the -sync argument actually call
+ XSynchronize() instead of enabling debug mode!
+ * programs/xcursorgen/Imakefile: Explicitly link in Xfixes for
+ those OSes that dont deal with library dependencies correctly.
+ * programs/xdm/Imakefile: Define USESECUREWARE for SCO OSR5.
+ * programs/xdm/auth.c: Include Xlibint.h and use _XGetHostname
+ instead of duplicating the logic here.
+ * programs/xdm/dm.c: Call set_auth_parameters() for SecureWare.
+ * programs/xdm/resource.c: Set the correct name of the PRNGD
+ socket for SCO OpenServer.
+ * programs/xdm/session.c: Implement SecureWare authentication.
+ * programs/xdm/config/Imakefile: Generate Xsession from
+ Xsession.ccp instead of a static file. Use the Korn shell on SCO
+ systems whose Bourne shell has severe limitations.
+ * programs/xdm/config/Xsession: Remove.
+ * programs/xdm/config/Xsession.cpp: New file to replace above.
+ * programs/xdm/greeter/verify.c: Adjust for SecureWare.
+ * programs/xedit/Imakefile: Add SCOBuildFlags for the correct
+ definition of MAXPATHLEN.
+ * programs/xinit/Imakefile: Use the Korn shell on SCO
+ systems. Pass the value of LIBDIR to xinitrc, as the SCO section
+ needs it. Pass a macro to the man page processor for SCO specific
+ man page bits, as well as passing LIBDIR.
+ * programs/xinit/startx.cpp: Update SCO support, and allow the
+ shell to be configured from Imakefile.
+ * programs/xinit/xinitrc.cpp: Ditto.
+ * programs/xinit/startx.man: Document SCO weirdnesses.
+ * programs/xterm/Imakefile: Define the termcap library on SCO
+ platforms in the cf file didn't, and make sure we link with it
+ when compiling resize on OSR5.
+ * programs/xterm/main.c: Dont set ECHOCTL on UnixWare.
+
+ ========
+ * config/cf/Imake.cf:
+ * config/imake/imake.c:
+ * config/imake/imakemdep.h:
+ * include/Xos.h:
+ * include/Xosdefs.h:
+ * lib/FS/FSlibos.h:
+ * lib/SM/sm_manager.c:
+ * lib/X11/Xlib.h:
+ * lib/Xaw/XawI18n.h:
+ * lib/Xbsd/Berklib.c:
+ * lib/Xt/NextEvent.c:
+ * lib/Xxf86dga/XF86DGA.c:
+ * lib/Xxf86dga/XF86DGA2.c:
+ * lib/dps/Xlibnet.h:
+ * lib/dps/cslibint.h:
+ * lib/font/fc/fslibos.h:
+ * lib/font/fontfile/encparse.c:
+ * lib/font/fontfile/fontenc.c:
+ * lib/lbxutil/lbx_zlib/lbx_zlib_io.c:
+ * lib/xtrans/Xtrans.c:
+ * lib/xtrans/Xtransint.h:
+ * lib/xtrans/Xtranslcl.c:
+ * lib/xtrans/Xtranssock.c:
+ * programs/Xserver/Xext/xf86bigfont.c:
+ * programs/Xserver/Xprint/attributes.c:
+ * programs/Xserver/hw/xfree86/common/compiler.h:
+ * programs/Xserver/hw/xfree86/common/scoasm.h:
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c:
+ * programs/Xserver/hw/xfree86/common/xf86Events.c:
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ * programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h:
+ * programs/Xserver/hw/xfree86/drivers/rendition/vboard.c:
+ * programs/Xserver/hw/xfree86/etc/mmapr.c:
+ * programs/Xserver/hw/xfree86/etc/mmapw.c:
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h:
+ * programs/Xserver/hw/xfree86/os-support/xf86_ansic.h:
+ * programs/Xserver/hw/xfree86/vbe/vbe.h:
+ * programs/Xserver/include/os.h:
+ * programs/Xserver/os/access.c:
+ * programs/Xserver/os/osinit.c:
+ * programs/fonttosfnt/util.c:
+ * programs/rgb/rgb.c:
+ * programs/rgb/showrgb.c:
+ * programs/xauth/gethost.c:
+ * programs/xconsole/xconsole.c:
+ * programs/xdm/chooser.c:
+ * programs/xdm/dm.c:
+ * programs/xdm/dm.h:
+ * programs/xdm/util.c:
+ * programs/xfs/os/osdep.h:
+ * programs/xman/man.c:
+ * programs/xman/misc.c:
+ * programs/xman/vendor.c:
+ * programs/xman/vendor.h:
+ * programs/xmh/command.c:
+ Update SCO support. This mainly consists of rationalizing how the
+ platforms are recognised by Imake. Now use a consistent set of
+ macros for refering to the various platforms:
+ __SCO__ refers to any version of SCO OpenServer.
+ SCO325 refers to any release of SCO OpenServer 5.
+ SCO5V6 refers to any release of SCO OpenServer 6.
+ __UNIXWARE__ refers to any release of SCO UnixWare.
+ __USLC__ is only used to detect USL C compiler behaviour.
+
+2005-11-07 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86DGA.c (DGAProcessKeyboardEvent):
+ Don't reference noXkbExtension when building without XKB.
+ (Bob Terek - Sun Microsystems)
+
+2005-11-07 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/vfb/InitOutput.c:
+ (vfbAllocateFramebufferMemory), (vfbScreenInit):
+ Fix Xvfb to work properly in depth 15 mode. Fixes XTS5
+ XCloseDisplay-3 server crash.
+
+2005-11-06 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ "# else if" needs to be "#elif" to work properly
+
+2005-11-06 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ reviewed by: Benjamin Herrenschmidt, Eric Anholt
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaPixmapSave):
+ Fix a bug where a system memory pixmap got a wrong address
+ if memcpy() fallback was used for downloading from screen.
+
+2005-11-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c (RADEONGetMergedFBOptions):
+ Sun bug #6325220: Xorg dumps core in dual monitor configuration with
+ radeon driver if CRT2Position not specified in xorg.conf
+ <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6325220>
+ (Stuart Krietman - Sun Microsystems)
+
+2005-11-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Fix asm flags for 64-bit SPARC builds with Sun compilers.
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/Imakefile:
+ Use asm flags from sun.cf instead of duplicating settings here.
+
+2005-11-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/Imakefile:
+ Only build cfb24 if we're also building xf8_32wid, since nothing
+ else uses cfb24 any more. (See bugzilla #4809.)
+
+2005-11-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ Don't use gcc-only __FUNCTION__ macro.
+
+2005-11-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ Bug #4948: <https://bugs.freedesktop.org/show_bug.cgi?id=4948>
+ Incorrect URL in log file for Xorg CVS. Also fixed wording of
+ statement to not refer to monolithic CVS since modular uses the
+ same code, so it was appearing in modular builds too.
+
+2005-11-05 Luc Verhaegen <libv@skynet.be>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (ViaGetMemoryBandwidth):
+ #4955: fix memory bandwidth check for VIA P4M800.
+ (reported by Jeremy Shaw)
+
+2005-11-04 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/fb/fbcopy.c: (fbCopyNtoN):
+ Only use fbCopyAreammx if planemask is FB_ALLONES
+ (fixes XTS5 XCopyArea tests 22 and 23).
+
+2005-11-02 Nolan <xorg-nolan@sigbus.net>
+
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmware.c:
+ (VMWAREPreDirtyBBUpdate):
+
+ Fix a bug where the cursor disappears. Committed on behalf
+ of Shelley Gong (shelleygong@vmware.com).
+
+2005-11-02 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_accel.c:
+ (VIAInitAccel):
+ * programs/Xserver/hw/xfree86/drivers/via/via_cursor.c:
+ (VIAHWCursorInit):
+ Fix HW cursors overwriting offscreen memory when dri is
+ not enabled.
+
+2005-11-02 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/GL/dri/drimodule.c:
+ * programs/Xserver/GL/glxmodule.c:
+ * programs/Xserver/Xext/extmod/modinit.c:
+ * programs/Xserver/dbe/dbemodule.c:
+ * programs/Xserver/dbe/module/Imakefile:
+ Fix support for enabling/disabling extensions loaded from modules.
+
+2005-11-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/xdbedizzy/xdbedizzy.c: (main):
+ Fix disabling print support in modular tree.
+
+2005-10-31 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/fstobdf/chars.c:
+ Make extern declarations unsigned to match actual definitions
+
+2005-10-31 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_acpi.c:
+ (lnxACPIOpen), (lnxCloseACPI):
+ Fix fd leak by closing them in the ACPI code instead of just using
+ shutdown.
+
+2005-10-30 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_swtcl.c:
+ (r200ChooseVertexState):
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_swtcl.c:
+ * extras/Mesa/src/mesa/drivers/dri/sis/sis_screen.c:
+ (sisCreateBuffer):
+ * lib/GL/mesa/shader/slang/library/Imakefile.inc:
+ Fix build problems in MESA/DRI code with gcc 2.96.
+
+2005-10-28 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/greeter/verify.c:
+ Fix #ifdef statement syntax to clear compiler warning.
+
+2005-10-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Events.c:
+ Improved stack trace dump code for Solaris - try fork & exec
+ of pstack first so we can see the names of non-exported symbols
+ that aren't visible to walkcontext/dladdr1 code.
+
+2005-10-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.c:
+ Don't try to restore savedPal in CloseScreen if savedPal is
+ NULL, to avoid segfault.
+
+2005-10-25 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/config/xdm-conf.cpp:
+ Use XDMCONFIGDIR for location of configuration files so they
+ can be installed in a directory other than the lib directory.
+ (Only overridable in modular build system at this point.)
+
+2005-10-24 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xrandr/Imakefile:
+ * lib/Xevie/Imakefile:
+ Bug #4867 <https://bugs.freedesktop.org/show_bug.cgi?id=4867>
+ Patch #3619 <https://bugs.freedesktop.org/attachment.cgi?id=3619>
+ Xevie & Xrandr shadow man pages installed in wrong directory
+ (Xavier Bachelot)
+
+2005-10-24 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c:
+ (viaExitVideo), (viaSaveVideo), (viaRestoreVideo),
+ (VIAVidAdjustFrame):
+ Bug #2711:
+ Make via driver avoid referencing missing symbols when compiled
+ without -DXvExtension
+
+2005-10-24 Luc Verhaegen <libv@skynet.be>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (ViaModeDotClockTranslate):
+ Bug #4855: Fix VT3122 and VT3205 dotclock PLL setting.
+
+2005-10-24 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.h:
+ Bug #4277,
+ Bump via dri-ddx protocol version major due to binary
+ incompatibility (Luc Verhaegen, Eric Anholt)
+
+2005-10-23 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/font/FreeType/ftfuncs.c:
+ Bug #4721: Fix crash when using Freetype 2.1.10. (Michael Gor)
+
+ * config/cf/NetBSD.cf:
+ Bug #4828: Fix compilation on NetBSD 2.1 and up. (Germain Le-Chapelain)
+
+ * programs/xedit/lisp/xedit.c:
+ Bug #1860: Prevent walking off the end of the scan_types array.
+
+ * lib/ICE/process.c:
+ Bug #1893: Fix replies when peers use different major opcodes for the
+ same subprotocol. (016_ICE_subprotocol_reply_fix.diff from Debian,
+ by Jochen Voss)
+
+ * programs/Xserver/hw/xfree86/input/digitaledge/DigitalEdge.c:
+ Bug #4621: Size dedgeData correctly.
+
+2005-10-23 Luc Verhaegen <libv@skynet.be>
+
+ * lib/GL/mesa/drivers/dri/unichrome/Imakefile.inc:
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c:
+ (VIADRIScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.h:
+ via unichrome mesa: fix fallout of
+ https://bugs.freedesktop.org/show_bug.cgi?id=4277
+ (Reported by Xavier Bachelot)
+
+2005-10-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xsm/xsm.man:
+ Fix typo. (Tobias Stoeckmann)
+
+2005-10-22 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * lib/XvMC/hw/via/unichrome/viaLowLevel.c: (viaDMAInitTimeStamp):
+ * lib/XvMC/hw/via/unichromeProA/viaLowLevelPro.c:
+ (viaDMAInitTimeStamp), (updateLowLevelBuf):
+ * programs/Xserver/hw/xfree86/drivers/via/via_drm.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_memory.c:
+ (VIAAllocLinear):
+
+ Sync via_drm.h with drm and 3D driver.
+
+2005-10-22 Dave Airlie <airlied@linux.ie>
+
+ reviewed by: Ian Romanick
+
+ * programs/Xserver/GL/mesa/X/xf86glx.c:
+ Missing initializer in xf86glx.c spotted while debugging something
+ else.
+
+2005-10-21 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/atidri.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c:
+ Bug #4829: Remove some useless DRI symbol checks.
+
+ * lib/X11/XErrorDB:
+ Bug #4736: Error decoding for Damage extension. (Jonathan Lennox)
+
+ * programs/Xserver/Xext/shm.c:
+ Bug #4730: Byte-swap the pixmap ID correctly. (Neil Campbell)
+
+ * programs/Xserver/hw/xfree86/common/xf86Xinput.c:
+ Bug #1429: Report input device type correctly. (StéphaneVOLTZ)
+
+ * config/cf/linux.cf:
+ Bug #1466: Make building libGL with/without -fPIC configurable.
+ (ISHIKAWA Mutsumi)
+
+2005-10-21 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/input/citron/citron.man:
+ Sun bug #6202893: nroff: if-else overflow.; line 93, file citron.7
+ <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6202893>
+ (Sam Lau - Sun Microsystems)
+
+2005-10-20 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/xedit/xedit.h
+ * programs/xedit/util.c
+ Fix some build bustage from this bug.
+ bugzilla #790 (https://bugs.freedesktop.org/show_bug.cgi?id=790)
+
+2005-10-18 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/Xcursor/display.c:
+ * lib/Xcursor/xcursorint.h:
+ Bug #4244: Make XcursorSetTheme(dpy, NULL) restore the default theme.
+ (Frederico Mena-Quintero)
+
+ * programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c:
+ Fix PCI bus scan on ia64 E8870 chipsets.
+
+ * programs/Xserver/hw/xfree86/loader/loadmod.c:
+ Bug #3196: Fix Load "foo.so" syntax.
+
+ * programs/Xserver/xkb/xkbInit.c:
+ Bug #3224: Degrade XKB fallback message to X_WARNING.
+
+2005-10-18 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/xorgversion.def:
+ Version bump: 6.8.99.901 (aka 6.9 RC1)
+
+2005-10-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/Xcomposite/Xcomposite.h
+ * lib/Xft/Imakefile
+ * lib/Xft/Xft.h
+ Update library version numbers to match updated package versions.
+
+ * programs/Xserver/hw/xfree86/drivers/apm/apm_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ Update driver version numbers for RC1.
+
+2005-10-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * extras/Mesa/src/glx/x11/indirect_vertex_program.c:
+ * extras/Mesa/src/glx/x11/pixelstore.c:
+ Add __builtin_expect macro for non-gcc builds
+
+2005-10-18 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.c:
+ More via device subsystem IDs (Xavier Bachelot)
+
+2005-10-18 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xxf86dga/Imakefile:
+ Use GenManPage macros instead of overriding $(MANSUFFIX) so
+ __appmansuffix__ is set correctly in man page.
+
+2005-10-17 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Make sure FramePtrFlags is defined
+
+2005-10-17 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/X11/Imakefile:
+ Redo XlibConf.h generation #ifdefs to avoid confusing older make
+ when cpp leaves junk where the cpp macro lines were
+
+2005-10-17 Aaron Plattner <aplattner@nvidia.com>
+
+ * programs/Xserver/hw/xfree86/loader/Imakefile:
+ * programs/Xserver/hw/xfree86/loader/misym.c:
+ Export DamageDamageRegion. Not bumping the ABI version since we
+ did that already for this release.
+
+2005-10-17 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/Xp/libXp.man:
+ Change XCOMM to \&# to allow both cpp & sed to translate correctly.
+
+ * programs/xdm/Imakefile:
+ * programs/xdm/xdm.man:
+ Use XDMPIDDIR instead of XDMDIR when showing location of xdm-pid file
+ in man page.
+
+2005-10-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Set HasVarRun to YES for Solaris 8 and later.
+
+2005-10-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.man:
+ Remove note about kbd being experimental. Add Solaris to supported
+ OS list for kbd.
+
+ * programs/Xserver/hw/xfree86/input/keyboard/keyboard.man:
+ Add note about plans to move to kbd in a future release.
+
+2005-10-14 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaPixmapSave),
+ (exaMoveInPixmap):
+ * programs/Xserver/hw/xfree86/exa/exaPriv.h:
+ * programs/Xserver/hw/xfree86/exa/exaasync.c:
+ Add an additional meaning to the "dirty" flag. Now, if !dirty && !area,
+ the pixmaps's contents are undefined, so we won't need to upload the
+ undefined contents in MoveIn. Use the ExaCheck* for async ops as well,
+ so that dirty is always tracked. While the performance impact for my
+ ls -lR test was not significant (though the avoiding-upload path was
+ being hit), it's likely to be important for the upcoming Get/PutImage
+ acceleration from ajax.
+
+2005-10-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xlogo/Logo.c:
+ * programs/xlogo/RenderLogo.c:
+ * programs/xlogo/print.c:
+ * programs/xlogo/xlogo.c:
+ Add #include <config.h> for modularization.
+
+2005-10-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * include/keysymdef.h:
+ Remove duplicate keysyms accidentally added to XK_MATHEMATICAL section.
+
+2005-10-13 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/Imake.tmpl:
+ #warning breaks older compilers
+
+2005-10-13 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.man:
+ Remove reference to XF86config-4. Add xorgcfg(1) to See Also list.
+
+2005-10-13 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/rendition/rendition.c:
+ Remove orphaned references to xf[14]bpp.
+
+2005-10-12 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/Xv/Xv.man
+ * doc/man/Xv/XvFreeAdaptorInfo.man
+ * doc/man/Xv/XvFreeEncodingInfo.man
+ * doc/man/Xv/XvGetPortAttribute.man
+ * doc/man/Xv/XvGetStill.man
+ * doc/man/Xv/XvGetVideo.man
+ * doc/man/Xv/XvGrabPort.man
+ * doc/man/Xv/XvPortNotify.man
+ * doc/man/Xv/XvPutStill.man
+ * doc/man/Xv/XvPutVideo.man
+ * doc/man/Xv/XvQueryAdaptors.man
+ * doc/man/Xv/XvQueryBestSize.man
+ * doc/man/Xv/XvQueryEncodings.man
+ * doc/man/Xv/XvQueryExtension.man
+ * doc/man/Xv/XvSelectPortNotify.man
+ * doc/man/Xv/XvSelectVideoNotify.man
+ * doc/man/Xv/XvSetPortAttribute.man
+ * doc/man/Xv/XvStopVideo.man
+ * doc/man/Xv/XvUngrabPort.man
+ * doc/man/Xv/XvVideoNotify.man
+ Convert hardcoded 3X to substitutable __libmansuffix__ like other
+ library man pages.
+
+2005-10-12 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xevie/Imakefile:
+ * lib/Xrandr/Imakefile:
+ Add shadow man pages for man pages that document multiple functions.
+
+2005-10-13 Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+ * programs/Xserver/hw/xfree86/exa/exaoffscreen.c:
+ (exaOffscreenInit):
+ Fix stupid mistake in yesterday's allocator commit, would cause
+ exa to consider a random available memory size
+
+2005-10-12 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/Xp/XpGetAttributes.man:
+ * doc/man/Xp/XpGetDocumentData.man:
+ * doc/man/Xp/XpGetPrinterList.man:
+ * doc/man/Xp/XpSetAttributes.man:
+ * doc/man/Xp/XpSetLocaleHinter.man:
+ * doc/man/Xp/XpStartDoc.man:
+ * doc/man/Xp/XpStartJob.man:
+ * lib/Xrandr/Xrandr.man:
+ * lib/Xcursor/Xcursor.man:
+ Use troff macros to prevent cpp eating C comments & #defines that
+ are supposed to appear in man page output.
+
+2005-10-12 Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+ * programs/Xserver/hw/xfree86/exa/exapict.c:
+ (exaTryDriverSolidFill):
+ Use proper access size when reading pixel based on bpp of the
+ source pixmap
+
+2005-10-12 Eric Anholt <anholt@FreeBSD.org>
+
+ reviewed by: benh
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaFillRegionTiled):
+ If a window background is a 1x1 pixmap, read the value out and go to
+ exaFillRegionSolid rather than sending piles and piles of Copies to the
+ hardware.
+
+2005-10-12 Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+ * programs/Xserver/hw/xfree86/exa/exa.h:
+ * programs/Xserver/hw/xfree86/exa/exaoffscreen.c:
+ (ExaOffscreenValidate), (exaOffscreenAlloc), (exaOffscreenFree),
+ (exaOffscreenInit):
+ Fix a couple of bugs in the offscreen allocator. One mostly harmless
+ was causing our search loop for evictable blocks to possibly skip a
+ good candiate, and another was the allocator would occasionally use
+ area->offset as if it was the base of the pixmap, while for a pixmap
+ that is not in available state, it is not. This caused some funny
+ miscalculation leading to overlapping pixmaps and accesses beyond the
+ end of the framebuffer. To make things cleared, I renamed save_offset
+ to base_offset, made sure it's the one used everywhere in the
+ allocator, and only align "offset" for the client at the end of
+ exaOffscreenAlloc().
+
+2005-10-11 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/common/xf86RandR.c
+ * programs/Xserver/hw/xfree86/loader/xf86sym.c
+ Add a new function xf86GetRotation to allow third party modules to
+ obtain the current rotation.
+
+2005-10-10 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sunLib.tmpl:
+ Add Solaris definitions for SharedXcompositeReqs & SharedXevieReqs,
+ add $(GLXLIB) to Solaris definition of SharedGLwReqs
+
+ * config/cf/sv4Lib.rules:
+ * config/cf/sun.cf:
+ Solaris linker runtime library path flag fixes.
+ Add -norunpath when building with Sun C++ compiler to avoid
+ recording compiler build-time runpaths in output binaries.
+
+2005-10-10 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/imake/Imakefile: Add missing define required to build
+ imake in the monolithic tree.
+
+2005-10-10 Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ Fix typo that prevent backtrace stuff from being properly
+ built on Linux
+
+2005-10-10 Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaFillRegionTiled):
+ Add missing {Prepare,Finish}Access() wrappers for the tile
+ pixmap in the fallback case
+
+2005-10-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Imakefile:
+ Move libXcursor build after libXfixes since libXcursor depends on
+ libXfixes after fix for bug #975.
+
+2005-10-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/freetype2/freetype/config/Imakefile:
+ Bug #2287 <https://bugs.freedesktop.org/show_bug.cgi?id=2287>
+ freetype2.pc not installed (Reported by Karel Clock Kulhavy)
+
+2005-10-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c (configServerFlags):
+ Bug #3254 <https://bugs.freedesktop.org/show_bug.cgi?id=3254>
+ Make sure screensaver & DPMS timeouts don't overflow when multiplied
+ by MILLI_PER_MIN. (Reported by Zachary J. Slater)
+
+2005-10-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/X11/XErrorDB:
+ Bug #3021 <https://bugs.freedesktop.org/show_bug.cgi?id=3021>
+ Requests and Errors for XFixes are not in XErrorDB (Jonathan Lennox)
+
+2005-10-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xcursor/Imakefile:
+ Bug #975 <https://bugs.freedesktop.org/show_bug.cgi?id=975>
+ Xfixes code in Xcursor not compiled when imake is used (Chris Lee)
+
+ * config/cf/sunLib.tmpl:
+ Add SharedXcursorReqs settings for Solaris
+
+2005-10-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/twm/Imakefile (deftwmrc.c):
+ * programs/twm/deftwmrc.sed:
+ * programs/twm/parse.c:
+ * programs/twm/parse.h:
+ Bug #3755 <https://bugs.freedesktop.org/show_bug.cgi?id=3755>
+ twm can't handle 8-bit characters in .twmrc (Tomohiro KUBOITA)
+
+2005-10-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xkbcomp/symbols/Imakefile:
+ * programs/xkbcomp/symbols/pc/Imakefile:
+ Bug #1680 <https://bugs.freedesktop.org/show_bug.cgi?id=1680>
+ Faroese (fo) keyboard layout doesn't get installed (Dejan Lesjak)
+
+2005-10-09 Daniel Stone <daniel@freedesktop.org>
+
+ * include/keysym.h:
+ * include/keysymdef.h:
+ Bug #4688: Add numerous mathematical symbols, protected by XK_MATHEMATICAL.
+
+2005-10-09 Dave Airlie <airlied@linux.ie>
+
+ reviewed by: Eric Anholt <anholt@freebsd.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ (RADEONDRIScreenInit), (RADEONDRIAllocatePCIGARTTable):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig), (RADEONSetupMemXAA_DRI):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa.c:
+ (RADEONSetupMemEXA):
+ Secure the Radeon PCIE GART tables in framebuffer memory by not
+ allowing the clients to get access to a secure area of framebuffer.
+
+2005-10-08 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exapict.c: (exaGlyphs):
+ Don't try the accelerated glyphs path for component-alpha text (which
+ I don't expect drivers to be able to accelerate without exa assistance).
+ Instead, drop back to plain old miGlyphs for a 62.5% +/- 1.5% reduction
+ in runtime of my ls -lR test (n=5) with component alpha. While a
+ reasonable approach would seem to be making a better test to see whether
+ the entire path would be accelerated and force migration appropriately,
+ my attempt at this made the situation much worse.
+
+2005-10-08 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/imake/Makefile.ini:
+ * config/imake/imake.c:
+ Updates for modular build
+
+2005-10-07 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/common/xf86RandR.c
+ Use PointerMoved as well as SetCursorPosition, as PointerMoved will
+ call AdjustFrame to reposition the window if necessary and avoid the
+ cursor ending up offscreen.
+
+2005-10-07 Benjamin Herrenschmidt,,, <benh@kernel.crashing.org>
+
+ * programs/Xserver/hw/xfree86/exa/exapict.c: (exaComposite):
+ Clients tend to set picture->repeat when not necessary. Most HW cannot
+ accelerate repeat NPOT thus triggering software fallback (this is the
+ case with gnome desktop for example). This adds a simple optimisation
+ to exa that removes "repeat" when it's obviously useless, that is, the
+ single picture instance covers the entire rectangle beeing used
+
+2005-10-06 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exapict.c: (exaComposite):
+ * programs/Xserver/miext/damage/damage.c: (damageDamageRegion),
+ (DamageSubtract):
+ Bug #4699: Correct some memory leaks in EXA and damage related to region
+ handling.
+
+2005-10-06 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/Xext/xevie.c (doSendEvent):
+ Sun bug #6326551: xkbSetDetectableAutoRepeat broken when using XEvIE
+ <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6326551>
+ (Derek Wang, Sun Microsystems)
+
+2005-10-06 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/mkcfm/mkcfm.c:
+ Instead of including the Xserver's os.h header for the extern
+ ErrorF and FatalError declarations, declare them directly.
+
+Thu Oct 6 10:39:34 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * mkcfm.c: Change several includes to be <X11/fonts/*> instead of
+ "*". Replace includes of Type1 headers with copies of CID_NAME_MAX
+ and some prototypes.
+
+2005-10-06 Aaron Plattner <aplattner@nvidia.com>
+
+ * programs/xrandr/xrandr.c: (main):
+ Tell the user when setting the screen configuration fails. Return
+ nonzero so scripts can find out too.
+
+2005-10-06 Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+ * programs/Xserver/render/picture.c: (PictureMatchVisual):
+ Bug #4689: Treat DirectColor as TrueColor in Render. It
+ fixes some crashes with xcompmgr when using apps that use
+ a DirectColor visual for their windows
+
+2005-10-05 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * include/GL/glxproto.h:
+ Revert changes that duplicated GLX_SGIX_swap_barrier protocol
+ requests and replies
+
+2005-10-05 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/dmx/config/xdmxconfig.c:
+ Include dmx-config.h for modular build
+
+ * programs/Xserver/hw/dmx/examples/dmxaddinput.c:
+ * programs/Xserver/hw/dmx/examples/dmxaddscreen.c:
+ * programs/Xserver/hw/dmx/examples/dmxreconfig.c:
+ * programs/Xserver/hw/dmx/examples/dmxresize.c:
+ * programs/Xserver/hw/dmx/examples/dmxrminput.c:
+ * programs/Xserver/hw/dmx/examples/dmxrmscreen.c:
+ * programs/Xserver/hw/dmx/examples/dmxwininfo.c:
+ * programs/Xserver/hw/dmx/examples/xdmx.c:
+ * programs/Xserver/hw/dmx/examples/xinput.c:
+ Use <X11/extensions/dmxext.h> intead of "dmxext.h"
+
+2005-10-05 Adam Jackson <ajax@freedesktop.org>
+
+ * include/GL/glxproto.h:
+ * programs/Xserver/GL/glx/global.c:
+ * programs/Xserver/GL/glx/glxcmds.c:
+ * programs/Xserver/GL/glx/glxext.c:
+ * programs/Xserver/GL/glx/glxext.h:
+ * programs/Xserver/GL/glx/glxscreens.c:
+ Bug #3652: Server-side GLX support for GLX_SGIX_swap_barrier and
+ GLX_SGIX_hyperpipe extensions. (Eric Kunze, SGI)
+
+2005-10-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/etc/pci.ids:
+ * programs/Xserver/hw/xfree86/scanpci/xf86PciStdIds.h:
+ Update to 2005-10-05 snapshot from pciids.sf.net
+ (includes a couple new Radeon id's).
+
+2005-10-05 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/xf86.rules:
+ Bug #4645: Fix InstallDriverSDKObjectSubModule for dlloader builds.
+
+2005-10-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ Fix the rest of the XFree86 DDX options that require an argument
+ to say so instead of reporting "unrecognized option" when the
+ argument is missing. Also give correct error instead of
+ "unrecognized option" for options only available to root.
+
+2005-10-05 Luc Verhaegen <libv@skynet.be>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_pci.c:
+ (xf86GetOSOffsetFromPCI):
+ Fix return value. Clears up the resource ranges awkwardness and the
+ "INVALID MEM ALLOCATION" warning.
+
+2005-10-05 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/xdm/sessreg.c:
+ Add check for utmpx.ut_syslen structure member
+
+2005-10-04 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ Make Xorg -config stop lying to people and claiming it doesn't
+ exist when you fail to specify a file name. Also, include it
+ in the list of available options for non-root users when listing
+ all available flags.
+
+2005-10-04 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exapict.c: (exaGlyphs):
+ Mark the temporary pixmap dirty if UploadToScreen succeeds. Failure to
+ do so resulted in a solid black glyph if the font rendering actually
+ resulted in a fallback (subpixel AA, for example) and the temporary
+ got migrated after 10 or so glyphs.
+
+2005-10-04 Aaron Plattner <aplattner@nvidia.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Module.h:
+ Bump the video driver module ABI minor version to 8 so modules statically
+ linked against miDisableCompositeWrapper won't load on older servers.
+
+2005-10-03 Aaron Plattner <aplattner@nvidia.com>
+
+ * programs/Xserver/hw/xfree86/loader/Imakefile:
+ * programs/Xserver/hw/xfree86/loader/misym.c:
+ Export miDisableCompositeWrapper.
+
+2005-10-03 Eric Anholt <anholt@FreeBSD.org>
+
+ * fbcompose.c: (fbFetchSourcePict), (fbFetchTransformed):
+ Correct the test for whether projective transform is necessary. Also,
+ use "affine" to describe the variable (universally) on suggestion from
+ vektor. Corrects a rendercheck failure.
+
+2005-10-03 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/xinit/xinit.c:
+ Bug #2027: Treat SIGTERM like SIGINT in xinit. (Andreas Luik)
+
+2005-10-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/etc/gtf.c:
+ Add #include <xorg-config.h> for modular build
+
+2005-10-03 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/fb/fbcopy.c:
+ Bug #3781: Only use fbCopyAreammx when alu == GXcopy. Originally
+ Gentoo bug #96053, patch by bartron@gmx.net.
+
+2005-10-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/xtrans/Xtranssock.c:
+ Bug #4678 <https://bugs.freedesktop.org/show_bug.cgi?id=4678>
+ Patch #3472 <https://bugs.freedesktop.org/attachment.cgi?id=3472>
+ Use SysV-style utmp on GNU/kFreeBSD (Robert Millan)
+
+2005-10-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/xtrans/Xtranssock.c:
+ Bug #3813 <https://bugs.freedesktop.org/show_bug.cgi?id=3813>
+ GNU/kFreeBSD fix for xtrans (Robert Millan)
+
+2005-10-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/auth.c:
+ Bug #3891 <https://bugs.freedesktop.org/show_bug.cgi?id=3891>
+ xdm build failure: IN6_IS_ADDR_LOOPBACK undefined (David Schleef)
+
+2005-10-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/vfb/Imakefile:
+ * programs/Xserver/hw/xfree86/Imakefile:
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c:
+ * programs/Xserver/hw/xfree86/common/xf86Privstr.h:
+ * programs/Xserver/hw/xfree86/input/joystick/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h:
+ * programs/Xserver/hw/xfree86/os-support/bsd/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c:
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_init.c:
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_io.c:
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c:
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c:
+ * programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c:
+ * programs/Xserver/hw/xfree86/os-support/bsd/drm/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bus/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_agp.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drm.c:
+ * programs/Xserver/Xprint/etc/init.d/Imakefile:
+ * programs/Xserver/Xprint/etc/Xsession.d/Imakefile:
+ Bug #3815 <https://bugs.freedesktop.org/show_bug.cgi?id=3815>
+ Patch #3463 <https://bugs.freedesktop.org/attachment.cgi?id=3463>
+ GNU/kFreeBSD Xserver support (Robert Millan)
+
+2005-10-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/imake/imake.c:
+ * config/imake/imakemdep.h:
+ Bug #3812 <https://bugs.freedesktop.org/show_bug.cgi?id=3812>
+ Patch #3462 <https://bugs.freedesktop.org/attachment.cgi?id=3462>
+ GNU/kFreeBSD Imake support (Robert Millan)
+
+2005-10-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/Imake.cf:
+ * config/cf/linux.cf:
+ * config/cf/xfree86.cf:
+ * config/cf/xorg.cf:
+ Bug #3814 <https://bugs.freedesktop.org/show_bug.cgi?id=3814>
+ Patch #3461 <https://bugs.freedesktop.org/attachment.cgi?id=3461>
+ GNU/kFreeBSD monolithic build system support (Robert Millan)
+
+2005-10-03 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/fb/fbcompose.c: (fbFetchTransformed):
+ Merge r1.36 of fbcompose.c from xserver CVS:
+ Special case projective transforms so we can avoid doing the expensive
+ 64-bit math. Unroll the bilinear interpolation loops for an extra
+ boost.
+ I tested this with the up/downscaling cairo-benchmarks with Xvfb and
+ saw a 12 +/- 4 percent decrease in time taken to run them.
+
+2005-10-03 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/fb/fbedge.c: (clip255), (add_saturate_8),
+ (fbRasterizeEdges8):
+ Merge r1.2 of fbedge.c from xserver CVS:
+ Optimize spans where the same value is being added to multiple pixels.
+ This improves the speed of rendering wide trapezoids.
+ I tested this with a small set of xlibs cairo-benchmarks with Xvfb and
+ saw a 4% decrease in time taken to run them.
+
+2005-10-03 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Bug #4353: Fix lockup when suspend and resume when playing video.
+ Shutdown the overlay on LeaveVT.
+
+2005-10-02 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ Bug #4001: Don't crash when PanelSize is unset. (Alan Coopersmith)
+
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ * programs/Xserver/hw/xfree86/common/xf86Events.c:
+ Bug #4393: uClibc lies and defines __GLIBC__ even though it's not
+ source compatible with glibc, so the backtrace support check fails.
+ Work around this by wrapping the code in a configure check for
+ execinfo.h, and emulate detection for the monolith. (Yuri Vasilevski)
+
+2005-10-02 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/Imake.cf:
+ * config/cf/Imake.tmpl:
+ Bug #2539 <https://bugs.freedesktop.org/show_bug.cgi?id=2539>
+ Patch #1901 <https://bugs.freedesktop.org/attachment.cgi?id=1901>
+ Big-endian ARM processor support (Lennert Buytenhek)
+
+2005-10-02 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/Xprint/etc/init.d/Imakefile:
+ * programs/Xserver/Xprint/etc/init.d/xprint.cpp:
+ Bug #1465 <https://bugs.freedesktop.org/show_bug.cgi?id=1465>
+ /etc/init.d/Xprint should use PROJECTROOT from build
+ (Grzegorz DÄ…browski)
+
+2005-10-02 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xload/get_load.c:
+ * util/memleak/Imakefile:
+ Bug #3811 <https://bugs.freedesktop.org/show_bug.cgi?id=3811>
+ GNU/kFreeBSD support for xload & memleak (Robert Millan)
+
+2005-10-02 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/xtrans/Xtransock.c
+ Bug #4256 <https://bugs.freedesktop.org/show_bug.cgi?id=4256>
+ Patch #3046 <https://bugs.freedesktop.org/attachment.cgi?id=3046>
+ Define MAXHOSTNAMELEN if platform doesn't (Michael Banck)
+
+2005-10-02 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/fb/fb.h:
+ * programs/Xserver/fb/fbbits.h:
+ * programs/Xserver/fb/fbcopy.c: (fbCopyNtoN):
+ * programs/Xserver/fb/fbfill.c: (fbFill):
+ * programs/Xserver/fb/fbmmx.c: (fbSolidFillmmx), (fbCopyAreammx):
+ * programs/Xserver/fb/fbpict.h:
+ * programs/Xserver/fb/fbpoint.c: (fbDots), (fbPolyPoint):
+ * programs/Xserver/fb/fbwindow.c: (fbFillRegionTiled):
+ * programs/Xserver/hw/xfree86/exa/Imakefile:
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaFillRegionTiled),
+ (exaDriverInit):
+ * programs/Xserver/miext/cw/cw.c: (miInitializeCompositeWrapper),
+ (miDisableCompositeWrapper):
+ * programs/Xserver/miext/cw/cw.h:
+ Bugzilla #4616:
+ - Merge various fb/ bits of COMPOSITE support from xserver, which
+ weren't necessary before due to cw hiding the issues. Fixes offset
+ calculations for a number of operations, and may pull some fixes that
+ cairo has wanted for XAA as well.
+ - Add a new call, miDisableCompositeWrapper(), which a DDX can call to
+ keep cw from getting initialized from the damage code. While it would
+ be cleaner to have each DDX initialize it if it needs it, we don't
+ have control over all of them (e.g. nvidia).
+ - Use the miDisableCompositeWrapper() to keep cw from getting set up for
+ screens using EXA, because EXA is already aware of composite.
+ Avoiding cw improved performance 0-35% on operations tested by ajax in
+ x11perf.
+
+2005-09-29 Aaron Plattner <aplattner@nvidia.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c:
+ Add entries for GeForce Go 7800. (Change went into XFree86 on
+ 2005-09-28).
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c:
+ Don't hang if j is zero. This should never happen, but it's better
+ to be safe than sorry.
+
+2005-09-28 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaPixmapSave),
+ (exaCloseScreen):
+ * programs/Xserver/hw/xfree86/exa/exaPriv.h:
+ - Use the dirty flag (which should be set correctly all the time,
+ particularly thanks to Prepare/FinishAccess) to avoid DFS/memcpy on
+ pixmap move-out if it's unnecessary. This was disabled in KAA because
+ cache misuse on ATI made me guess that this code was wrong.
+ - Unwrap Glyphs on closescreen.
+
+2005-09-28 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/sun/constype.c:
+ * programs/Xserver/hw/sun/constype.man:
+ Updates for modularization and to match current Solaris version.
+
+2005-09-27 Ian Romanick <idr@us.ibm.com>
+
+ * programs/Xserver/GL/apple/aglGlx.c:
+ * programs/Xserver/GL/apple/indirect.c:
+ * programs/Xserver/GL/glx/impsize.h:
+ * programs/Xserver/GL/glx/render2.c: (__glXDisp_Map1f),
+ (__glXDisp_Map2f), (__glXDisp_Map1d), (__glXDisp_Map2d):
+ * programs/Xserver/GL/glx/render2swap.c: (__glXDispSwap_Map1f),
+ (__glXDispSwap_Map2f), (__glXDispSwap_Map1d),
+ (__glXDispSwap_Map2d):
+ * programs/Xserver/GL/glx/rensize.c: (__glXMap1dReqSize),
+ (__glXMap1fReqSize), (__glXMap2dReqSize), (__glXMap2fReqSize):
+ * programs/Xserver/GL/glx/singlesize.c: (__glGetMap_size):
+ * programs/Xserver/GL/glxmodule.c:
+ * programs/Xserver/GL/mesa/GLcore/GLcore-def.cpp:
+ * programs/Xserver/GL/mesa/X/xf86glx.c:
+ * programs/Xserver/GL/mesa/X/xf86glxint.h:
+ Replace all uses of __glEvalComputeK (and the doubly redundant
+ EvalComputeK) with calls to one of __glMap[12][df]_size. This was
+ tested with progs/samples/eval (from Mesa).
+
+2005-09-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/sun/kbd_mode.c:
+ Add __SVR4 #ifdefs to work in non-Imake builds.
+
+2005-09-28 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ (RADEONDRITransitionTo3d):
+ Move the RADEONEnablePageFlip/RADEONChangeSurfaces calls
+ back to the end of the function (the code above will cause pixmap cache
+ to be freed and copied around, and these functions must be called after
+ that otherwise pixmap damage will occur).
+ May be related to #4440, #4456 (unclear if these setups involve 3d apps)
+
+2005-09-27 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa_render.c:
+ Fix Radeon MMIO Render acceleration with EXA by writing out floating-
+ point coordinates rather than integers.
+
+2005-09-27 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/modeline2c.pl:
+ Include xorg-config.h so the generated file will also include it.
+
+2005-09-27 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Put back the print code to display the DDC information, and
+ remove some bogus DDC messages.
+
+2005-09-25 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86cfg/config.h:
+ include xorg-config.h for modular build
+
+ * programs/Xserver/hw/xfree86/xf86cfg/interface.c:
+ Adjust XF86CONFIG defines for modular build
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ Fixes for modular build:
+ - include modular server config headers
+ - change default XCONFIGFILE to xorg.conf
+ - define XKB_RULES_DIR if not defined by Imake
+
+2005-09-24 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/GL/dri/dri.c:
+ * programs/Xserver/GL/dri/dri.h:
+ * programs/Xserver/GL/dri/xf86dri.c:
+ Disable the {Open,Close}FullScreen DRI protocol.
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c:
+ Remove empty FullScreen stubs from drivers, comment the non-empty ones.
+
+2005-09-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/Xext/DPMSGetVersion.man:
+ * doc/man/Xext/DPMSQueryExtension.man:
+ Fix function prototypes to match dpms.h
+
+2005-09-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xt/ThreadsI.h:
+ Include <X11/XlibConf.h> to get correct XTHREADS settings in
+ non-Imake builds.
+
+Fri Sep 23 19:00:06 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.c: Apply patch from Ronald Wahl to
+ make sure that the stack pointer is not modified at points where
+ we access external variables. (Bug 4269).
+
+2005-09-23 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/input/evdev/evdev.c:
+ Bug #3913: Suppress kernel-generated repeat events for chording keys.
+
+2005-09-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c:
+ Bug #4558 <https://bugs.freedesktop.org/show_bug.cgi?id=4558>
+ Patch #3551 <https://bugs.freedesktop.org/attachment.cgi?id=3381>
+ 22-Sep-2005 nv driver update from Mark Vojkovich:
+ Fix possible cause of some acceleration instability on some
+ GeForce6xxx parts.
+
+Fri Sep 23 12:19:21 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/xrx/helper/httptran.c: Include <X11/Xtrans/transport.c>
+ instead of "transport.c"
+
+2005-09-22 Nolan <xorg-nolan@sigbus.net>
+
+ * programs/Xserver/hw/xfree86/drivers/vmware/svga_reg.h:
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmware.c:
+ (vmwareSendSVGACmdPitchLock), (VMWAREInitFIFO),
+ (VMWARECloseScreen), (VMWAREScreenInit), (VMWAREEnterVT),
+ (VMWARELeaveVT):
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmware.h:
+
+ Support for XRandR in the VMware driver.
+ Committed on behalf of Phil Langdale (plangdale@vmware.com)
+
+2005-09-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86cfg/interface.c:
+ Sun bug #6321613 <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6321613>
+ xorgcfg dumps core when it reads a configuration file that has a
+ Monitor Section, but does not have a "VendorName" entry inside it.
+ (Henry Zhao, Sun Microsystems)
+
+2005-09-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/X11.tmpl:
+ * lib/Xau/Imakefile:
+ * lib/Xdmcp/Imakefile:
+ Make libXau & libXdmcp default to shared instead of static libraries
+ to match modular build. (See fd.o bugzilla #4200.)
+
+2005-09-21 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exapict.c: (exaGlyphs):
+ Bug #4541: Fix text drawing in the case where a list contains no
+ non-zero-sized glyphs. Several variables weren't updated, resulting in
+ rendering simply stopping when this case was hit. (Anders Kaseorg)
+
+2005-09-21 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaPixmapAllocArea),
+ (exaMoveInPixmap), (exaPixmapUseScreen), (exaPixmapUseMemory),
+ (exaPrepareAccess), (exaCopyNtoN), (exaSolidBoxClipped),
+ (exaImageGlyphBlt), (exaFillRegionSolid), (exaFillRegionTiled),
+ (exaSetup):
+ * programs/Xserver/hw/xfree86/exa/exaPriv.h:
+ * programs/Xserver/hw/xfree86/exa/exaasync.c:
+ * programs/Xserver/hw/xfree86/exa/exaoffscreen.c:
+ (exaOffscreenAlloc):
+ * programs/Xserver/hw/xfree86/exa/exapict.c: (exaComposite):
+ - Change migration-in rule slightly: previously, if your score was less
+ than the max, it was bumped, and then if you were above the threshhold
+ you got moved in. Instead, do the above-threshhold check separate
+ from score starting out less than max. While this will likely make
+ thrashing cases worse, I hope it will fix some issues with long term
+ performance (think of an xcompmgr with a backbuffer it's doing only
+ accelerated operations to. If some new pixmap comes in and bumps it
+ out, even once, it will never get a chance to re-migrate because its
+ score will be maxed). Change migration-out to be the same way for
+ symmetry, though it shouldn't ever affect anything.
+ - Fix a lot of debugging output, both in terms of printing quality, and
+ completeness. The fallback debugging covers a lot more now, pointing
+ out new areas for improvement. Debugging toggles are now centralized
+ in exaPriv.h.
+
+2005-09-21 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaFillRegionTiled),
+ (exaPaintWindow):
+ Add support for hardware accelerating tiled background painting. One
+ example of this is the root weave, which paints slightly slower on SiS
+ now in my testing. However, according to keithp some apps use this
+ feature for a sort of cheap backing store, which this could help with
+ significantly. While I haven't done much performance testing with it,
+ it will at least rule out one possible source of terrible performance.
+
+2005-09-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/scanpci/pciid2c.pl:
+ Update CVS project tag & notice about pci.ids license in output .h.
+
+ * programs/Xserver/hw/xfree86/scanpci/xf86PciStdIds.h:
+ Update to match recent changes to pci.ids, extrapci.ids, & pciid2c.pl
+ for people building on systems without perl.
+
+2005-09-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa.c:
+ Only include radeon_dri.h & radeon_sarea.h if XF86DRI is defined.
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ Include "compiler.h" to define __inline__ on non-gcc compilers
+
+2005-09-19 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/etc/pci.ids:
+ Update to latest version from pciids.sf.net
+ * programs/Xserver/hw/xfree86/etc/extrapci.ids:
+ Sync with updates to pci.ids & PCI id list in nv driver
+
+2005-09-19 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c:
+ #include "xf86Axp.h" -> "shared/xf86Axp.h" for modular build.
+ (Stefaan De Roeck)
+
+2005-09-17 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa_funcs.c:
+ (RADEONUploadToScreen):
+ * programs/Xserver/hw/xfree86/drivers/sis/sis300_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis310_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_accel.c:
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaMoveInPixmap):
+ * programs/Xserver/hw/xfree86/exa/exa.h:
+ * programs/Xserver/hw/xfree86/exa/exapict.c: (exaGlyphs):
+ Break EXA ABI while we still can. Add coordinates to the UploadToScreen
+ hook so we can upload a subset of a pixmap, and convert the current
+ drivers to respect that. Use this support to directly UploadToScreen in
+ exaGlyphs, providing a 47.4% +/-2.4% decrease in wall time for ls -lR
+ programs/Xserver in an antialiased gnome-terminal on an M6 (n=3, caches
+ hot). I would have bumped major version, only I can't tell what the
+ EXA_VERSION_* is supposed to be doing as opposed to the module version.
+
+2005-09-17 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa.c:
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaPixmapSave),
+ (exaDrawableUseScreen), (exaDrawableUseMemory),
+ (exaPixmapUseScreen), (exaPixmapUseMemory), (exaCreatePixmap),
+ (exaCopyNtoN), (exaDriverInit):
+ * programs/Xserver/hw/xfree86/exa/exaPriv.h:
+ * programs/Xserver/hw/xfree86/exa/exapict.c:
+ (exaCompositeFallbackPictDesc), (exaTryDriverSolidFill),
+ (exaTryDriverComposite), (exaComposite), (exaGlyphs):
+ - Don't try to upload 0 byte-per-pixel (PICT_a1) data using
+ RADEONHostDataBlit.
+ - Disable the shortcut for switching from 3d to 3d in radeon_exa.c. It
+ appears that we do need the cache flush here, thought it's not clear
+ why. Disable the 2d to 2d shortcut while here, since I'm unsure of
+ what we're doing. Exposed by the following bit:
+ - Bug #4485: Add a new routine, exaGlyphs, to handle font drawing.
+ Glyphs were being accumulated in from non-migratable scratch pixmaps,
+ causing the destination pixmap to move towards screen but the
+ migration necessary for source never to happen, leading to abysmal
+ performance. Instead, copy the scratch glyph data into a real pixmap
+ first, then composite from that into the destination, allowing for
+ migration. time ls -lR from programs/Xserver showed 26.9% (+/- 6.3%)
+ decrease in wall time (n=3).
+ - Create exaDrawableUse* wrapping exaPixmapUse*, but which are aware of
+ windows needing backing store. Makes migration code prettier, and
+ ensures that composited windows will be migrated as normal when we
+ turn off cw for EXA. (issue brought up by keithp)
+
+2005-09-17 Dave Airlie <airlied@linux.ie>
+
+ Switch radeon driver to using a card type rather than
+ having a IsPCI flag, allow for PCI/AGP/PCIE cards.
+ Set PCI gart allocation to only happen on PCIE cards.
+ Add Radeon PCIE card detection using capability bits.
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ (RADEONDRIKernelInit), (RADEONDRIBufInit), (RADEONDRIScreenInit),
+ (RADEONDRIFinishScreenInit), (RADEONDRIResume),
+ (RADEONDRIAllocatePCIGARTTable):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig), (RADEONPreInitDRI), (RADEONSetupMemXAA_DRI),
+ (RADEONScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa.c:
+ (RADEONSetupMemEXA):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+
+2005-09-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ Bugzilla #4480 <https://bugs.freedesktop.org/show_bug.cgi?id=4480>
+ Patch #3305 <https://bugs.freedesktop.org/attachment.cgi?id=3305>
+ 13-Sep-2005 nv driver update from Mark Vojkovich:
+ - Adds PCI ids for GeForce 6800 XT cards
+ - Adds names for existing PCI ids for some GeForce 6xxx & 7xxx cards
+ - Fix a potential problem with pixmap cache corruption on
+ GeForce 6xxx and 7xxx parts. (Mark Vojkovich, NVIDIA)
+
+2005-09-14 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineRestore):
+ Bug #2573: Remove the disabling of automatic cache flushing on non-r300
+ cards. It has been implicated in hanging at least r300s and some r100s,
+ and seemed to be the cause of some bad rendering for me.
+
+2005-09-14 Eric Anholt <anholt@FreeBSD.org>
+
+ * lib/XvMC/hw/via/viaXvMC.c:
+ * lib/XvMC/hw/via/xf86dri.c:
+ Look for Xv extension headers under X11/extensions (helps modular).
+
+Tue Sep 13 11:27:05 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/miext/shadow/shadow.c (shadowDamageBox): Add
+ missing REGION_UNINIT.
+
+2005-09-13 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/afb/afbpixmap.c:
+ * programs/Xserver/cfb/cfbpixmap.c:
+ * programs/Xserver/mfb/mfbpixmap.c:
+ * programs/Xserver/fb/fbpixmap.c:
+ * programs/Xserver/dix/dispatch.c:
+ * programs/Xserver/dix/pixmap.c:
+ * programs/Xserver/hw/xfree86/exa/exapixmap.c:
+ * programs/Xserver/hw/xfree86/xaa/xaaInit.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/ppcPixmap.c:
+ * programs/Xserver/ilbm/ilbmpixmap.c:
+ * programs/Xserver/iplan2p4/iplpixmap.c:
+ Bug #594: CAN-2005-2495: Fix exploitable integer overflow in pixmap
+ creation, where we could create a far smaller pixmap than we thought,
+ allowing changes to arbitrary chunks of memory. (Søren Sandmann
+ Pedersen)
+
+2005-09-12 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/GL/dri/dri.c:
+ * programs/Xserver/GL/dri/dristruct.h:
+ Bug #3284: Make the DRI lock reference count per-screen.
+
+2005-09-12 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * config/cf/NetBSD.cf:
+ Remove unsafe /tmp file creation for the formatted manual page target.
+ Just make the file in the current build directory instead of temp
+ directory. (Jeremy C Reed).
+
+2005-09-12 Dave Airlie <airlied@linux.ie>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa_funcs.c:
+ (RADEONDrawInit):
+ Fix Radeon EXA for when RENDER isn't defined
+
+2005-09-12 Dave Airlie <airlied@linux.ie>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ Move GART offset/size outside XAA
+
+2005-09-11 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/i128/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128.h:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128IBMDAC.c:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128accel.c:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128dga.c:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128exa.c:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128init.c:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128reg.h:
+ EXA support for i128. Solid and Copy only for now, and incompatible
+ with DGA. Also some drive-by static and const cleanups.
+
+2005-09-11 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exaasync.c: (ExaCheckFillSpans),
+ (ExaCheckSetSpans), (ExaCheckPutImage), (ExaCheckCopyArea),
+ (ExaCheckCopyPlane), (ExaCheckPolyPoint), (ExaCheckPolylines),
+ (ExaCheckPolySegment), (ExaCheckPolyRectangle), (ExaCheckPolyArc),
+ (ExaCheckFillPolygon), (ExaCheckPolyFillRect),
+ (ExaCheckPolyFillArc), (ExaCheckImageGlyphBlt),
+ (ExaCheckPolyGlyphBlt), (ExaCheckPushPixels), (ExaCheckGetImage),
+ (ExaCheckGetSpans), (ExaCheckSaveAreas), (ExaCheckRestoreAreas),
+ (ExaCheckPaintWindow), (ExaCheckComposite):
+ Add some optional (disabled) fallback debugging code to the async code,
+ for better tracking of when we're hitting software.
+
+2005-09-11 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineFlush), (RADEONEngineRestore), (RADEONHostDataBlit),
+ (RADEONCopySwap), (RADEONHostDataBlitCopyPass), (RADEONAccelInit),
+ (RADEONInit3DEngine):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c:
+ (RADEONRestoreAccelState),
+ (RADEONSetupForScanlineCPUToScreenColorExpandFill),
+ (RADEONSubsequentScanline), (RADEONSetupForScanlineImageWrite),
+ (RADEONAccelInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_commonfuncs.c:
+ (RADEONInit3DEngine), (RADEONWaitForIdle):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c:
+ (RADEONSetCursorColors), (RADEONSetCursorPosition),
+ (RADEONLoadCursorImage), (RADEONUseHWCursor),
+ (RADEONUseHWCursorARGB), (RADEONLoadCursorARGB), (ATICursorSave),
+ (RADEONCursorInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dga.c:
+ (RADEONSetupDGAMode), (RADEONDGAInit), (RADEON_FillRect),
+ (RADEON_BlitRect), (RADEON_BlitTransRect):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ (RADEONEnterServer), (RADEONDRIMoveBuffers), (RADEONDRICPInit),
+ (RADEONDRIScreenInit), (RADEONDRIFinishScreenInit),
+ (RADEONDRIRefreshArea), (RADEONEnablePageFlip),
+ (RADEONDRITransitionTo3d), (RADEONDRITransitionTo2d):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONLoaderRefSymLists), (RADEONPreInitModes),
+ (RADEONPreInitAccel), (RADEONPreInitDRI), (RADEONLoadPalette),
+ (RADEONBlockHandler), (RADEONSetupMemXAA_DRI), (RADEONSetupMemXAA),
+ (RADEONScreenInit), (RADEONSwitchMode), (RADEONAdjustFrame),
+ (RADEONCloseScreen), (RADEONDisplayPowerManagementSet):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa.c:
+ (RADEONLog2), (F_TO_DW), (RADEONGetDatatypeBpp),
+ (RADEONPixmapIsColortiled), (RADEONGetOffsetPitch),
+ (RADEONGetPixmapOffsetPitch), (RADEONPrepareAccess),
+ (RADEONFinishAccess), (RADEONSetupMemEXA):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa_funcs.c:
+ (RADEONSync), (RADEONPrepareSolid), (RADEONSolid),
+ (RADEONDoneSolid), (RADEONPrepareCopy), (RADEONCopy),
+ (RADEONDoneCopy), (RADEONUploadToScreen),
+ (RADEONDownloadFromScreen), (RADEONDrawInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_exa_render.c:
+ (RADEONGetDestFormat), (RADEONGetBlendCntl),
+ (R100CheckCompositeTexture), (R100TextureSetup),
+ (R100CheckComposite), (R100PrepareComposite),
+ (R200CheckCompositeTexture), (R200TextureSetup),
+ (R200CheckComposite), (R200PrepareComposite), (RadeonComposite),
+ (RadeonDoneComposite):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c:
+ (RADEONSetCursorPositionMerged):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (R100SetupTexture), (R100SetupForCPUToScreenAlphaTexture),
+ (R100SetupForCPUToScreenTexture), (R200SetupTexture),
+ (R200SetupForCPUToScreenAlphaTexture),
+ (R200SetupForCPUToScreenTexture):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (ATIVideoSave), (RADEONResetVideo), (RADEONSetupTheatre),
+ (RADEONAllocAdaptor), (RADEONStopVideo), (RADEONSetPortAttribute),
+ (RADEONGetPortAttribute), (RADEONCopyData), (RADEONCopyRGB24Data),
+ (RADEONCopyMungedData), (RADEONAllocateMemory), (RADEONFreeMemory),
+ (RADEONDisplayVideo), (RADEONPutImage), (RADEONVideoTimerCallback),
+ (RADEONAllocateSurface), (RADEONFreeSurface), (RADEONPutVideo):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.h:
+ Add support for EXA to the radeon driver. Building EXA and XAA support
+ is controlled at compile time, plus the runtime option of
+ Option "AccelMethod" "EXA" or "XAA". The XAA support appears to remain
+ as before, while the EXA pieces need just a little more polishing.
+ Notable features:
+ - Render acceleration working on Radeon 100 and 200-series with DRI on.
+ - DRI works with EXA
+ Notable issues:
+ - DGA disabled in the EXA case.
+ - Backbuffer moves disabled in the EXA case.
+ - No textured XVideo.
+ - MMIO render acceleration is close but still has some issues.
+ - Memory pressure while using Composite is really troublesome with DRI
+ on.
+ This patch is based on an initial patch by Zack Rusin, with significant
+ work by Benjamin Herrenschmidt and myself.
+
+2005-09-11 Benjamin Herrenschmidt <anholt@FreeBSD.org>
+
+ reviewed by: anholt
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaGetPixmapSize),
+ (exaPixmapAllocArea), (exaDrawableIsOffscreen), (exaPrepareAccess),
+ (exaFinishAccess), (exaCopyNtoN), (exaSolidBoxClipped),
+ (exaImageGlyphBlt), (exaFillRegionSolid):
+ * programs/Xserver/hw/xfree86/exa/exa.h:
+ * programs/Xserver/hw/xfree86/exa/exaPriv.h:
+ * programs/Xserver/hw/xfree86/exa/exaasync.c: (ExaCheckFillSpans),
+ (ExaCheckSetSpans), (ExaCheckPutImage), (ExaCheckCopyArea),
+ (ExaCheckCopyPlane), (ExaCheckPolyPoint), (ExaCheckPolylines),
+ (ExaCheckPolySegment), (ExaCheckPolyRectangle), (ExaCheckPolyArc),
+ (ExaCheckFillPolygon), (ExaCheckPolyFillRect),
+ (ExaCheckPolyFillArc), (ExaCheckImageGlyphBlt),
+ (ExaCheckPolyGlyphBlt), (ExaCheckPushPixels), (ExaCheckGetImage),
+ (ExaCheckGetSpans), (ExaCheckSaveAreas), (ExaCheckRestoreAreas),
+ (ExaCheckPaintWindow), (ExaCheckComposite):
+ * programs/Xserver/hw/xfree86/exa/exapict.c:
+ (exaTryDriverSolidFill):
+ Add a pair of hooks, PrepareAccess() and FinishAccess(), which get
+ called around CPU access to the framebuffer. This allows the hardware
+ to set up swappers to deal with endianness, or to tell EXA to move the
+ pixmap out to framebuffer if insufficient swappers are available (note:
+ must not fail on front buffer!).
+
+2005-09-11 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/exa/exapict.c:
+ Simplify life for EXA drivers by reducing some {Con,Dis}joint ops.
+
+2005-09-11 Dave Airlie <airlied@linux.ie>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_common.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ (RADEONDRIAllocatePCIGARTTable):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONScreenInit):
+ Add support for allocating PCI GART table in framebuffer memory.
+ This is needed to support PCIE Radeons using a new DRM.
+
+2005-09-09 Ian Romanick <idr@us.ibm.com>
+
+ * programs/Xserver/hw/xfree86/drivers/mga/HALlib/binding.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c:
+ (MGADRIBootstrapDMA):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+ (MGAPreInit):
+ Clean up some warnings. Fix some '#ifdef USEMGAHAL' issues that had
+ caused the number of curl-braces to be unbalanced.
+
+2005-09-07 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/vfb/Imakefile:
+ * programs/Xserver/hw/vfb/Xvfb.man:
+ Remove some references to mfb/cfb support that is no longer there.
+
+2005-09-07 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * lib/GL/mesa/shader/grammar/Imakefile
+ * lib/GL/mesa/shader/grammar/Imakefile.inc
+ * lib/GL/mesa/shader/slang/Imakefile
+ * lib/GL/mesa/shader/slang/Imakefile.inc
+ Remaining fix for Mesa builds on systems that also build
+ unshared libs. (Alex Romosan, Matthieu Herrb).
+
+2005-09-07 Dave Airlie <airlied@linux.ie>
+
+ * lib/GL/mesa/shader/grammar/Imakefile.inc:
+ * lib/GL/mesa/shader/slang/Imakefile.inc:
+ Fix build bustage for Mesa (Alex Romosan)
+
+2005-09-07 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/fb/fbcompose.c:
+ Fix typo resulting in failure to swap between RGB/BGR properly.
+ (Stanislaw Skowronek)
+
+2005-09-06 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Fix DirectColor visual colormap issues at 16bpp in the i830 driver.
+
+2005-09-06 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Sync the accelerator before calling AdjustFrame to avoid lockups.
+
+2005-09-06 Dave Airlie <airlied@linux.ie>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_vip.c:
+ (RADEONVIP_read):
+ Handle VIP timeouts more gracefully -- impose a hard limit of 10ms on
+ waiting for VIP_BUSY so we don't lock up hard, spinning.
+
+2005-09-05 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/dix/colormap.c:
+ * programs/Xserver/dix/privates.c:
+ Initialise private arrays with calloc, rather than standard malloc.
+ (Benjamin Herrenschmidt)
+
+ * programs/Xserver/hw/xfree86/common/xf86cmap.c:
+ Fix tests for maximum number of colours when creating a colourmap, so a
+ 32-bit visual (e.g. ARGB) doesn't overflow an int when attempting to do
+ 1 << 32. (Benjamin Herrenschmidt)
+
+2005-09-04 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_priv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ (VIAVidUpdateOverlay):
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c:
+ (viaInitVideo), (viaReputImage):
+ via: Responsiveness fix:
+ Don't update video overlay when not strictly necessary
+
+2005-09-04 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * lib/XvMC/Imakefile:
+ Minor XvMC hw lib build fix
+
+2005-09-02 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * registry:
+ Replace X.Org Group with X.Org Foundation
+ Update contact info for Sun & X.Org Foundation
+
+2005-09-02 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/fontconfig/Imakefile:
+ Only build fontconfig-def on Win32 & OS/2.
+
+2005-09-02 Eric Anholt <anholt@FreeBSD.org>
+
+ * lib/GL/mesa/shader/grammar/Imakefile.inc:
+ * lib/GL/mesa/shader/slang/Imakefile.inc:
+ Fix the build from the last Mesa import. Patch obtained from ajax.
+
+2005-09-01 Kristian Høgsberg <krh@redhat.com>
+
+ * include/extensions/XKBsrv.h:
+ * programs/Xserver/xkb/ddxList.c:
+ * programs/Xserver/xkb/ddxLoad.c:
+ * programs/Xserver/xkb/xkbInit.c: Teach xkb how to optionally run
+ xkbcomp from $bindir instead of $datadir/xkb.
+
+2005-08-31 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ (MouseCommonOptions):
+ Fix EmulateWheelTimeout Option. Spotted by Richard Neill, bug 4291
+
+2005-08-31 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/xkb/xkbInit.c:
+ * programs/Xserver/xkb/ddxLoad.c: Include xkb-config.h if we have
+ it so we pick up the paths defined there.
+
+2005-08-30 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sunLib.tmpl:
+ Add more shared library rev settings to match Solaris ABI.
+
+2005-08-30 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_kbd.h:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_kbd.c:
+ Save keyboard LED state on startup and restore on exit so
+ text console mode LEDs match text console mode state.
+ Move push of streams module earlier so it's loaded before
+ we start using kbd ioctls provided by the streams module.
+
+2005-08-29 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xwin/winmultiwindowshape.c
+ Fix off by one error (Colin Harrison)
+
+2005-08-29 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.h
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.c
+ Fixes from Luc Verhaegen
+ https://bugs.freedesktop.org/attachment.cgi?id=3076
+
+2005-08-29 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaFillSpans),
+ (exaCopyNtoN), (exaPolyFillRect), (exaSolidBoxClipped),
+ (exaFillRegionSolid):
+ * programs/Xserver/hw/xfree86/exa/exapict.c:
+ (exaTryDriverComposite):
+ Remove existing broken maxX/maxY code for composite (results in infinite
+ loops, doesn't deal with failure, doesn't present the interface to
+ drivers that I expected) and instead replace it with a simple fallback
+ to software when coordinate limits could be violated. Act similarly in
+ other acceleration cases as well.
+
+ The solution I want to see (and intend to do soon) is to (when
+ necessary) create temporary pictures/pixmaps pointing towards the real
+ ones' bits, with the offsets adjusted, then render from/to those using
+ adjusted coordinates.
+
+2005-08-29 Eric Anholt <anholt@FreeBSD.org>
+
+ * fb/fbcompose.c:
+ More 0 -> NULL for pointers missed in previous commit to this file.
+
+2005-08-29 Eric Anholt <anholt@FreeBSD.org>
+
+ * fb/fbedgeimp.h:
+ Apply an xserver patch from cworth: Avoid buffer ovverrun when a
+ trapezoid's right edge is on a pixel boundary.
+
+2005-08-29 Eric Anholt <anholt@FreeBSD.org>
+
+ * fb/fbbltone.c: (fbBltOne):
+ * fb/fbcompose.c: (fetchProcForPicture), (fetchPixelProcForPicture),
+ (storeProcForPicture), (fbCompositeRect):
+ * fb/fbpict.c: (fbComposite):
+ Apply the xserver patch from vektor for bug #4208: Use NULL for pointers
+ instead of 0.
+
+2005-08-29 Dave Airlie <airlied@linux.ie>
+
+ * lib/XvMC/hw/i810/I810XvMC.c:
+ * lib/XvMC/hw/via/driDrawable.c:
+ Fix include paths for i810 XvMC add config.h to driDrawable.c
+
+2005-08-29 Dave Airlie <airlied@linux.ie>
+
+ * lib/XvMC/hw/via/driDrawable.c:
+ * lib/XvMC/hw/via/viaXvMCPriv.h:
+ Fix include paths for via XvMC driver.
+
+
+2005-08-28 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/atimode.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiregs.h:
+ Bug #1109: Fix VGA init on Rage Mobility 7500 (Marc Le France)
+
+ * lib/XvMC/Imakefile:
+ Bug #3422: Don't bother building XvMC drivers on anything but x86 and
+ amd64.
+
+ * programs/xfd/xfd.c:
+ Bug #3424: Xft and high-index glyph fixes for xfd (James Cloos)
+
+ * programs/Xserver/render/render.c:
+ Bug #3974: Fix unaligned memory access on LP64. (Matthieu Herrb)
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ Bug #4148: Bump required DRM version for r300 to 1.17.
+
+2005-08-27 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageRestoreAccelState), (SavageInitAccel):
+ - re-add RestoreAccelState() to make XAA happy for dualhead
+
+2005-08-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/lbxproxy/di/cmap.c:
+ * programs/lbxproxy/di/props.c:
+ * programs/lbxproxy/include/misc.h:
+ * programs/lbxproxy/os/io.c:
+ Fixes for running X Test Suite via lbxproxy:
+ - Failure for Xproto/GetProperty [Sun bug #4432077]
+ - lbxproxy crash on Xlib5/XGetWindowProperty [Sun bug #4416964]
+ - lbxproxy crash on Xlib7/XCreateColormap-10 [Sun bug #4431077]
+ - lbxproxy crash on Xproto tests for bad length [Sun bug #4414232]
+ (Derek Wang - Sun Microsystems)
+
+2005-08-26 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_ia64.c:
+ Bug #4160: Fix Altix kernel version check.
+
+ * programs/Xserver/hw/xfree86/exa/exa.c:
+ Add diagnostic messages for exaDriverInit failure cases.
+
+2005-08-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ #include "extensions/dpms.h" -> <X11/extensions/dpms.h>
+
+2005-08-25 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ Accept 'Enabled' and 'Disabled' for Extensions section (Ubuntu #990).
+
+ * config/util/mdepend.cpp:
+ Make makedepend excruciatingly safe (Debian #011).
+
+ * lib/X11/StrKeysym.c:
+ * lib/X11/ErrDes.c:
+ Define ERRORDB/KEYSYMDB to XERRORDB/XKEYSYMDB if the former is
+ undefined but the latter is. (Gerte Hoogewerf)
+
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ Only use vgahw symbols if we're building vgahw for this architecture.
+ TODO: Fix this for the modular tree (maybe an unconditional yes?).
+ Define that we're using a DPMS server and include DPMS headers.
+ (Debian #024b)
+
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.c:
+ Work around ATI expansion ROM problem on IA64 caused by prototype HP
+ McKinley systems. (Bdale Garbee, Debian #452)
+
+ * programs/Xserver/hw/xfree86/loader/aout.h:
+ Get prototype for ntohl from SuSv3-compliant location, fixing it for
+ systems which define ntohl as a macro only, not both macro and function.
+ (Debian #076)
+
+ * progams/Xserver/hw/xfree86/os-support/bus/Imakefile:
+ Build sparcPci.c as well as linuxPci.c on Linux/SPARC, as it's required
+ for things like sparcPciToPciBridge. (Debian #102)
+
+ * programs/Xserver/hw/xfree86/loader/loader.c:
+ Don't assume that all sun4m CPUs support muldiv; the Cypress CPU, which
+ implements the 4m MMU but only v7 instructions, does not. (Debian #100).
+
+ * programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c:
+ Spit out an error when there is no valid FB device, instead of just
+ failing silently. (Debian #070)
+
+ * programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:
+ Numerous spelling and grammar fixes. (Branden Robinson, Debian #099n)
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c:
+ Better error message on failure to set iopl. (Debian #021)
+
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.c:
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.h:
+ Wrap afb calls in #ifdef USE_AFB. (Debian #015)
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ Fix 'ugly' warning in r128. (Branden Robinson, Debian #069)
+
+ * programs/Xserver/hw/xfree86/input/elographics/elographics.man:
+ Update elographics manpage to list supported options. (Debian #075)
+
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.man:
+ Wrapping, escaped dashes, and other TeX syntax fixes throughout the
+ manpage. (Branden Robinson, Debian #047)
+
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ Extend Genius NetMouse support. (Debian #040)
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_pci.c:
+ Only open /proc/bus/pci/devices once. (Ubuntu #029)
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c:
+ Undo rate/period change after function body, so the damage doesn't leak
+ into other functions. (Debian #050)
+
+ * programs/Xserver/hw/xfree86/common/xf86Events.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c:
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSproc.h:
+ Subvert SIGUSR2 to reload all input devices. (Ubuntu #020)
+
+2005-08-25 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONValidateMergeModes), (RADEONPreInitModes):
+ - fix pitch increment. (Aapo Tahkola, Roland Scheidegger)
+
+2005-08-25 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/dix/events.c: (XineramaChangeToCursor),
+ (ChangeToCursor), (DefineInitialRootWindow):
+ Fix a use-after-free of cursor data by refcounting for the
+ sprite.current reference. The particular path seen was XFixes'
+ ReplaceCursor() resulting in the sprite.current being freed, but then it
+ getting accessed during the ChangeToCursor() that happens as a result of
+ WindowHasNewCursor().
+
+2005-08-24 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ * programs/Xserver/hw/xfree86/xf86cfg/text-mode.c:
+ Use system curses library on Solaris for xorgcfg text mode.
+
+2005-08-23 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mm_i2c.c:
+ Blacklist Radeon M300 from multimedia I2C code.
+ Handle I2C timeouts more gracefully -- impose a hard limit of 10ms on
+ waiting for I2C_GO so we don't lock up hard, spinning.
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_bios.c:
+ Fix bug in Radeon connector table parsing -- parse all entries, not just
+ the first. (Ben Herrenschmidt)
+
+2005-08-24 Eric Anholt <anholt@FreeBSD.org>
+
+ reviewed by: keithp
+
+ * doc/specs/Xserver/ddx.tbl.ms:
+ Bugzilla #1045: Fix the DDX documentation to describe what is the
+ defacto current policy on GC wrappers, which is more liberal than the
+ previous policy, and hopefully more clear as well.
+
+2005-08-24 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaCopyNtoN):
+ * programs/Xserver/hw/xfree86/exa/exaPriv.h:
+ * programs/Xserver/hw/xfree86/exa/exaasync.c:
+ Bugzilla #4226: Change the pixmap migration strategy for the CopyNtoN
+ case. Now, if either source or dest were in framebuffer, try to get
+ both there, but prefer system memory for both otherwise. Required
+ making exaasync.c go through the try-acceleration path. This
+ significantly improves window resizing under composite, because
+ previously the pattern of creating a new pixmap and copying default
+ contents from the screen caused a fallback every time due to the new
+ destination pixmap being in system memory.
+
+2005-08-24 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exaoffscreen.c:
+ (exaOffscreenAlloc):
+ Fix a bug where NULL could be dereferenced during the pixmap kick-out
+ process by referencing the correct offscreen area. Also drive-by the
+ comments related to these for clarity.
+
+2005-08-24 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/sis/sis300_accel.c:
+ (SiSPrepareSolid), (SiSPrepareCopy):
+ * programs/Xserver/hw/xfree86/drivers/sis/sis310_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_accel.c:
+ (SiSPrepareSolid), (SiSPrepareCopy):
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaGetPixmapOffset),
+ (exaGetPixmapPitch):
+ * programs/Xserver/hw/xfree86/exa/exa.h:
+ Bugzilla #4090: Introduce getters for pixmap pitch and offset, to
+ simplify/clarify it for driver writers who probably don't want to know
+ what pPixmap->devPrivate.ptr or pPixmap->devKind mean. Converts the
+ sis driver to use them, and bumps the EXA module minor version.
+
+2005-08-24 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_agp.c:
+ Fill in xf86DeallocateGARTMemory stub based on lnx_agp.c version.
+ Add include of xorg-config.h for modular builds.
+
+2005-08-24 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaPixmapUseScreen),
+ (exaPixmapUseMemory):
+ Bugzilla #4089: Fix crashes in !EXA_OFFSCREEN_PIXMAPS case by not trying
+ to do migration when the EXA pixmap private is NULL.
+
+2005-08-24 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/loader/xf86sym.c: Don't export
+ non-standard symbols generated GCCs stack protection feature
+ (__guard, __stack_smash_handler).
+
+Wed Aug 24 15:29:50 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/font/Type1/module/type1mod.c: Conditionally include
+ dix-config.h
+
+ * lib/font/FreeType/module/ftmodule.c: Conditionally include
+ dix-config.h
+
+2005-08-24 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/GLw/Imakefile:
+ Allow platforms to specify SharedGLwReqs to override REQUIREDLIBS.
+
+ * config/cf/sunLib.tmpl:
+ Set SharedGLwReqs for Solaris to include system Motif library.
+
+2005-08-24 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/GL/windows/glwrap.c
+ Wrap PointParameteriNV & PointParameterivNV for Windows builds.
+
+2005-08-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ Display more friendly mouse protocol names.
+ Enable mouse wheel mapping by default.
+
+2005-08-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86AutoConfig.c:
+ Check for getconfig in GETCONFIG_DIR if it's not found in module dir.
+
+2005-08-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Set Solaris linker flags to include ld mapfiles to mark various
+ sections non-executable for better security and aligned to allow
+ some performance tuning options, like large page-size mappings.
+
+2005-08-23 Dave Airlie <airlied@linux.ie>
+
+ Fix remaining drm -core vs no -core include paths
+
+ * lib/GL/apple/Imakefile:
+ * lib/GL/dri/drm/Imakefile:
+ * lib/GL/glx/Imakefile:
+ * lib/XvMC/hw/i810/Imakefile:
+ * lib/XvMC/hw/via/unichrome/Imakefile:
+ * lib/XvMC/hw/via/unichromeProA/Imakefile:
+ * programs/Xserver/GL/dri/Imakefile:
+ * programs/Xserver/GL/mesa/X/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/glint/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/i810/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/mga/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/savage/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/sis/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/tdfx/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/via/Imakefile:
+ * programs/Xserver/hw/xfree86/dummylib/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bsd/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bsd/drm/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/linux/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/lynxos/Imakefile:
+
+2005-08-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86cfg/Imakefile:
+ * programs/Xserver/hw/xfree86/xf86cfg/XOrgCfg.cpp:
+ Rename app-defaults entries from xf86cfg to xorgcfg to match
+ name passed to XtAppInitialize. (Henry Zhao, Sun Microsystems)
+ Also, display vendor version instead of 4.0 for server version.
+
+2005-08-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ User message cleanups/updates for modern configurations.
+
+2005-08-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/xkb/ddxLoad.c:
+ If MAKE_XKM_OUTPUT_DIR is defined, call trans_mkdir to create
+ directory if it doesn't already exist. (ported from Solaris
+ Xsun bug #5039004)
+
+ * config/cf/sun.cf:
+ When BuildLikeSun is set, define MAKE_XKM_OUTPUT_DIR and set the
+ xkb output directory to /var/run/xkb.
+
+2005-08-22 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/int10/helper_exec.c:
+ bugzilla #2880 (https://bugs.freedesktop.org/show_bug.cgi?id=2880)
+ attachment #2987 (https://bugs.freedesktop.org/attachment.cgi?id=2987)
+ Use system method to access PCI config space for inb and inw
+ in addition to inl (Olivier Baudron and Kevin Martin).
+
+2005-08-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/xtrans/Imakefile:
+ Make xtrans C files available via #include <X11/xtrans/...> when
+ building to allow same include paths in monolithic & modular builds
+
+2005-08-22 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_acpi.c
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_apm.c
+ * programs/Xserver/hw/xfree86/os-support/linux/Imakefile
+ Add basic ACPI Linux support so that events can be passed to the driver.
+ (Alan Hourihane)
+
+2005-08-22 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/mi/midispcur.c:
+ * programs/Xserver/mi/mipointer.c:
+ * programs/Xserver/mi/misprite.c:
+ Fix inclusion order of dix-config.h, so _XSERVER64 gets defined before
+ X.h or Xdefs.h get included. (Jrg Billeter)
+
+2005-08-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_bios.c
+ #include "Xmd.h" -> <X11/Xmd.h>
+
+2005-08-19 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/xtrans/Xtranssock.c:
+ Bugzilla #3957 <https://bugs.freedesktop.org/show_bug.cgi?id=3957>
+ Patch #2924 <https://bugs.freedesktop.org/attachment.cgi?id=2924>
+ xtrans changes for AIX (Dan McNichol, IBM)
+
+ * lib/xtrans/Xtranslcl.c:
+ Bugzilla #3957 <https://bugs.freedesktop.org/show_bug.cgi?id=3957>
+ Patch #2925 <https://bugs.freedesktop.org/attachment.cgi?id=2925>
+ xtrans changes for AIX (Dan McNichol, IBM)
+
+2005-08-18 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/greeter/greet.c:
+ Add #ifdef HAVE_CONFIG_H/#include "config.h" since "dm.h"
+ is included too late.
+
+2005-08-18 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/sessreg.c:
+ Undo regression in checking for lastlog support in monolithic
+ builds (reported by Dan McNichol of IBM)
+
+2005-08-18 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/Imake.rules:
+ Bugzilla #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2322 <https://bugs.freedesktop.org/attachment.cgi?id=2322>
+ Fix "make -n install" failure (Peter Breitenlohner)
+
+2005-08-17 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86cfg/XOrgCfg.cpp
+ Bugzilla #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2331 <https://bugs.freedesktop.org/attachment.cgi?id=2331>
+ Lines ending in <backslash><space> break with cpp from gcc >= 3.3
+ (Peter Breitenlohner)
+
+2005-08-17 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xconsole/xconsole.c:
+ Bugzilla #4130 <https://bugs.freedesktop.org/show_bug.cgi?id=4130>
+ xconsole: non-ascii characters don't show up (Samuel Thibault)
+
+Wed Aug 17 14:50:58 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/Xext/xprint.c: Include
+ <X11/extensions/Print{,str}.h> instead of "Print{,str}.h"
+
+ * programs/Xserver/Xprint/Init.c: Include <X11/fonts/fontstruct.h>
+ isntead of "fonts/fontstruct.h"
+
+Wed Aug 17 13:13:00 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.c: Make asm labels local. Bug 4073,
+ patch from Diego Petten�
+
+2005-08-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/X11/XASCmap.man:
+ * doc/man/X11/XASHints.man:
+ * doc/man/X11/XAWMHints.man:
+ * doc/man/X11/XClrArea.man:
+ * doc/man/X11/XConfWin.man:
+ * doc/man/X11/XCopyArea.man:
+ * doc/man/X11/XCreWin.man:
+ * doc/man/X11/XDrArc.man:
+ * doc/man/X11/XDrIStr.man:
+ * doc/man/X11/XDrString.man:
+ * doc/man/X11/XDrText.man:
+ * doc/man/X11/XERegion.man:
+ * doc/man/X11/XFillRect.man:
+ * doc/man/X11/XQTree.man:
+ * doc/man/X11/XStBytes.man:
+ * doc/man/X11/XcmsLaQMC.man:
+ * doc/man/X11/XcmsLuQMC.man:
+ * doc/man/X11/XcmsTQMC.man:
+ Fix more broken multi-line .ds macros. Remove extraneous ;'s .
+
+2005-08-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/X11/XPutImage.man:
+ Bugzilla #4112 <https://bugs.freedesktop.org/show_bug.cgi?id=4112>
+ Patch #2687 <https://bugs.freedesktop.org/attachment.cgi?id=2897>
+ Fix multi-line macros in XPutImage man page. (Debian bug #323210,
+ fix by David Mart�ez Moreno)
+
+2005-08-15 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/Imakefile:
+ * programs/xdm/xdm.man:
+ Convert cpp substitutions from __projectroot__/... to XDMDIR
+ and BINDIR so they get correct pathnames in both modular &
+ monolithic trees.
+
+2005-08-15 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_kbdEv.c:
+ Convert sunPostKbdEvent to use xf86ProcessAction like
+ xf86PostKbdEvent.
+
+2005-08-15 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c:
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.man:
+ * programs/Xserver/hw/xfree86/doc/sgml/mouse.sgml:
+ Set ZAxisMapping default to "4 5 6 7".
+
+2005-08-14 Charlie & <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/sis/sis300_accel.c:
+ (SiS300AccelInit):
+ * programs/Xserver/hw/xfree86/drivers/sis/sis310_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_accel.c:
+ (SiSAccelInit):
+ * programs/Xserver/hw/xfree86/exa/exa.c: (exaPixmapAllocArea):
+ * programs/Xserver/hw/xfree86/exa/exa.h:
+ * programs/Xserver/hw/xfree86/exa/exaoffscreen.c:
+ (exaOffscreenAlloc):
+ - Fix the exa pixmap offset/pitch alignment to deal with non-POT
+ alignment requirements. MGA, notably, uses a multiple of 3 in some
+ cases.
+ - Rename the pixmap offset/pitch alignment fields to more clearly state
+ their meaning.
+
+2005-08-13 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ (VIAAdjustFrame):
+ * programs/Xserver/hw/xfree86/drivers/via/via_priv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ (VIAVidUpdateOverlay):
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c:
+ (viaExitVideo), (RegionsEqual), (viaReputImage),
+ (viaSetupAdaptors), (VIAVidAdjustFrame):
+ Bugzilla #3804: Fix via Xv panning.
+
+2005-08-13 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ (VIAEnterVT):
+ Fix via segfault on EnterVT when DRI is not enabled.
+ (Joris van Rantwijk)
+
+2005-08-12 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/proxymngr/pmint.h:
+ Add #ifdef HAVE_CONFIG_H/#include "xconfig.h" for modularization.
+
+2005-08-12 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/ico/ico.c:
+ Update for modularization: include <config.h> & <X11/XlibConf.h>,
+ use XTHREADS define from XlibConf.h to enable multithreading
+ Also ansify icoFatal prototype to clear Sun cc warnings.
+
+2005-08-12 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/Imakefile:
+ Add LintTarget()
+
+ * programs/Xserver/hw/xfree86/common/xf86Events.c:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_io.c:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_kbd.c:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_kbd.h:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_kbdEv.c:
+ Bugzilla #1068 <https://bugs.freedesktop.org/show_bug.cgi?id=1068>
+ Port Solaris keyboard code to work with kbd driver.
+
+ Also incorporated "audio bell" feature from Xsun keyboard DDX
+ to play bell tones via /dev/audio (specified via
+ Option "BellDevice" "/dev/audio" in keyboard device options).
+
+Fri Aug 12 14:49:24 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbcompose.c (fbFetchTransformed): Apply
+ another patch from Billy Biggs to fix precision issues.
+
+Fri Aug 12 14:45:54 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbpict.h: Fix up multiplications based on
+ patch by Billy Biggs. Part of bug 3945.
+
+Fri Aug 12 14:29:09 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbcompose.c: Apply patch from Billy Biggs
+ that fixes rounding problems with division. Part of bug 3945.
+
+Fri Aug 12 10:45:01 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.c (pix_multiply): Make this function
+ compute the same results as the fbByteMul macro.
+
+2005-08-12 Ian Romanick <idr@us.ibm.com>
+
+ * lib/GL/mesa/drivers/dri/common/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/ffb/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/gamma/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/i810/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/i915/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/mach64/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/mga/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/r128/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/r200/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/radeon/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/savage/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/sis/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/tdfx/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/unichrome/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/via/Imakefile.inc:
+ Use '$(DRMSRCDIR)/shared-core' instead of '$(DRMSRCDIR)/shared' for
+ DRM includes. This matches the way drivers are built in the Mesa
+ tree and fixes a build problem in the Savage driver.
+
+ * programs/Xserver/GL/glx/g_disptab_EXT.c:
+ * programs/Xserver/GL/glx/g_disptab_EXT.h:
+ * programs/Xserver/GL/glx/g_render.c:
+ * programs/Xserver/GL/glx/g_renderswap.c:
+ (__glXDispSwap_PointParameterfvARB):
+ * programs/Xserver/GL/glx/impsize.h:
+ * programs/Xserver/GL/glx/rensize.c:
+ (__glXPointParameterfvARBReqSize):
+ Convert uses of __glPointParameterfvARB_size to
+ __glPointParameterfvEXT_size and uses of __glPointParameteriv_size
+ to __glPointParameterivNV_size. This eliminates the need to hand-edit
+ indirect_size.c after it is generated.
+
+2005-08-11 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c (InitInput):
+ Fix segfault when "kbd" fails to load and "keyboard" driver is not
+ configured.
+
+2005-08-11 Eric Anholt <anholt@FreeBSD.org>
+
+ * lib/XvMC/hw/via/unichromeProA/viaLowLevelPro.c:
+ (updateLowLevelBuf):
+ Bugzilla #4013: Correct a command size (structure size instead of
+ pointer size) in ALLOCMEM ioctl. It matters on BSD since the copyin/out
+ occurs in generic code. On linux, the size value is ignored and the
+ fixed size in the driver ioctl code is used.
+
+2005-08-11 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_memory.c:
+ (VIAAllocLinear):
+ Bugzilla #4012
+ Use drmCommandWriteRead for the read-write ALLOCMEM ioctl, instead of
+ drmCommandWrite. This matters on BSD because the copyin/out occurs in
+ generic kernel layers. Doesn't matter on linux because the read/write
+ bits are ignored by the linux DRM layer.
+
+Thu Aug 11 11:43:32 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/hw/xfree86/xaa/xaaTEText.c
+ (XAAGlyphBltTEColorExpansion): Make sure we don't
+ crash on glyphs with NULL bits. Bug 659.
+
+2005-08-10 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/sessreg.c:
+ Merge in utmpx code from Solaris sessreg.
+ Add #ifdefs for autoconf defines.
+
+Wed Aug 10 16:17:38 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.c (USE_SSE): Add back non-SSE
+ implementations. Define USE_SSE if the CPU is amd64/x86-64
+
+2005-08-08 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/loader/loadmod.c
+ Bug #3950 <https://bugs.freedesktop.org/show_bug.cgi?id=3950>
+ Xorg prints version numbers in wrong format for modules
+ compiled for Xorg 6.99 & later (Adam Jackson & Alan Coopersmith)
+
+2005-08-08 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ - Add missing SolarisABIFlag to AMD64 ToolkitStringsABIOptions
+ - Add -z combreloc to default linker flags on Solaris
+ - Add -B direct to default program link flags on Solaris
+
+2005-08-08 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig):
+ - Radeon XPRESS chips are actually RV3xx based.
+
+2005-08-08 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/XKB-Config.sgml:
+ Bug #4017 <https://bugs.freedesktop.org/show_bug.cgi?id=4017>
+ Grammatical & typo fixes (reported as Debian bugs #315555 & #321946,
+ by Daniel Hulme & Adrian von Bidder, reported upstream to X.org
+ by David Mart�ez Moreno, additional changes by myself.)
+
+2005-08-08 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/general/Standards.man:
+ Bug #4018 <https://bugs.freedesktop.org/show_bug.cgi?id=4018>
+ Patch #3300 <https://bugs.freedesktop.org/attachment.cgi?id=3300>
+ Typo fix (Debian bug #320545 - A Costa, David Mart�ez Moreno)
+
+Mon Aug 8 13:39:45 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/hw/xfree86/exa/exaPriv.h: Conditionally include
+ xorg-config.h
+
+2005-08-07 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+
+ Update warning about DRI support on R300 and later cards.
+
+2005-08-07 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+
+ Properly configure fbLocation and related registers for
+ R300 cards. (Dave Airlie)
+
+2005-08-06 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONGetMergedFBOptions):
+ - missing line in mergedfb option parsing. spotted by
+ Christoph Bauer
+
+2005-08-06 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ Merge in patch release RC handling code from 6.8.2 (Kevin Martin)
+
+2005-08-06 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageSubsequentSolidBresenhamLine):
+ - somehow I missed Bresenham lines when I fixed crtc2 accel.
+ make sure to send the new offset there as well.
+
+2005-08-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_vid.c:
+ * programs/Xserver/include/servermd.h:
+ Solaris build fixes needed for modular builds
+
+2005-08-05 Ian Romanick <idr@us.ibm.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/atiscreen.c:
+ (ATIScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ (I810ScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c:
+ (TDFXScreenInit):
+ Bug #927: <https://bugs.freedesktop.org/show_bug.cgi?id=927>
+ I have resolved this by making all the "Direct rendering disabled"
+ messages X_WARNING and all the "Direct rendering enabled" messages
+ X_INFO.
+
+2005-08-05 Ian Romanick <idr@us.ibm.com>
+
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+ Bug #3676 <https://bugs.freedesktop.org/show_bug.cgi?id=3676>
+ Now that Mesa has been merged into the tree, set the default value
+ for OldDmaInit to false.
+
+2005-08-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xterm/*:
+ Update to Xterm patch #204 (Thomas Dickey)
+
+2005-08-04 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c:
+ Bug #3987 <https://bugs.freedesktop.org/show_bug.cgi?id=3987>
+ Patch #3264 <https://bugs.freedesktop.org/attachment.cgi?id=3264>
+ Workaround for 512 Meg video cards (can only map 256 Meg of it).
+ (Mark Vojkovich)
+
+Thu Aug 4 16:08:00 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.c: Make the fbCompose paths use the
+ existing inline functions instead of macros. Various other
+ cleanups.
+
+ * programs/Xserver/fb/fbmmx.h: Remove macro definitions, move
+ typedef to fbmmx.c
+
+2005-08-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * nls/locale.alias
+ Bug #1887 <https://bugs.freedesktop.org/show_bug.cgi?id=1887>
+ Patch #3005 <https://bugs.freedesktop.org/attachment.cgi?id=3005>
+ libX11 locale defs severely adrift from glibc: adding new aliases
+ (From Debian via Nathanael Nerode)
+
+2005-08-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * nls/locale.alias
+ Bug #1887 <https://bugs.freedesktop.org/show_bug.cgi?id=1887>
+ Patch #3002 <https://bugs.freedesktop.org/attachment.cgi?id=3002>
+ libX11 locale defs severely adrift from glibc: locales bugfix for bs_BA
+ (From Debian via Nathanael Nerode)
+
+2005-08-03 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageSetGBD_M7), (SavageSetGBD_PM), (SavageInitAccel),
+ (SavageSetupForScreenToScreenCopy),
+ (SavageSubsequentScreenToScreenCopy), (SavageSetupForSolidFill),
+ (SavageSubsequentSolidFillRect),
+ (SavageSetupForCPUToScreenColorExpandFill),
+ (SavageSubsequentScanlineCPUToScreenColorExpandFill),
+ (SavageSetupForMono8x8PatternFill),
+ (SavageSubsequentMono8x8PatternFillRect):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_image.c:
+ (SavageWriteBitmapCPUToScreenColorExpand),
+ (SavageSetupForImageWrite), (SavageSubsequentImageWriteRect):
+ - fix accel problems on crtc2. It seems the GBD doesn't always update
+ correctly resulting in incorrect stride and/or offset. Switch the
+ accel code to use the PBD instead and send the new offset with each
+ command. Because the offset is always up to date, we no longer need
+ SavageRestoreAccelState().
+
+2005-08-01 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/fb/fbpict.c:
+ Bugzilla #3566 <https://bugs.freedesktop.org/show_bug.cgi?id=3566>
+ Patch #2906 <https://bugs.freedesktop.org/attachment.cgi?id=2906>
+ Fix for RENDER, repeating pictures and offscreen memory (Owen Taylor)
+
+2005-08-01 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ Bug #3739: Fail soft on unknown extension string.
+
+2005-08-01 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/GL/glx/Imakefile:
+ Restore dispatch.c for platforms not using asm versions.
+
+ * lib/GL/mesa/drivers/osmesa/Imakefile:
+ Add shader grammar & slang Imakefile.inc's
+ Use SharedOSMesaReqs from per-OS Imake .cf's if defined
+
+Fri Jul 29 17:20:53 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.c (pix_multiply): Fix rounding bug.
+
+2005-07-31 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/imake/imakemdep.h:
+ Pass through __BUILTIN_VA_STRUCT and __BUILTIN_VA_ARG_INCR defines
+ in makedepend so it doesn't issue errors when source files include
+ <varargs.h> or <stdarg.h> on Solaris 10.
+
+2005-07-31 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/xorg.cf:
+ * lib/GL/glx/Imakefile:
+ * lib/GL/mesa/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/common/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/ffb/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/gamma/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/i810/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/i915/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/mach64/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/mga/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/r128/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/r200/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/radeon/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/savage/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/sis/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/tdfx/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/unichrome/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/via/Imakefile.inc:
+ * lib/GL/mesa/drivers/x11/Imakefile.inc:
+ * lib/GL/mesa/main/Imakefile.inc:
+ * lib/GL/mesa/shader/Imakefile:
+ * lib/GL/mesa/shader/Imakefile.inc:
+ * lib/GL/mesa/shader/grammar/Imakefile:
+ * lib/GL/mesa/shader/grammar/Imakefile.inc:
+ * lib/GL/mesa/shader/slang/Imakefile:
+ * lib/GL/mesa/shader/slang/Imakefile.inc:
+ * lib/GL/mesa/shader/slang/library/Imakefile:
+ * lib/GL/mesa/shader/slang/library/Imakefile.inc:
+ * lib/GL/mesa/swrast/Imakefile.inc:
+ * lib/GL/mesa/tnl/Imakefile.inc:
+ * programs/Xserver/GL/glx/Imakefile:
+ * programs/Xserver/GL/mesa/GLcore/Imakefile:
+ * programs/Xserver/GL/mesa/shader/Imakefile:
+ * programs/Xserver/GL/mesa/shader/grammar/Imakefile:
+ * programs/Xserver/GL/mesa/shader/slang/Imakefile:
+ * programs/Xserver/GL/mesa/shader/slang/library/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/atistruct.h:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis.h:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h:
+ Post-merge fixups:
+ - Disable building the gamma driver
+ - Fix numerous Imakefiles to get header paths and subdirs right
+ - Symlink client-side GLX lib source from Mesa
+ - Add new shader subdirs to the Mesa core build
+ - Tweak the DDX drivers to not ask for "xf86dri.h"; they don't need
+ it, since they don't generate protocol, and it was breaking the
+ build.
+
+2005-07-31 Adam Jackson <ajax@freedesktop.org>
+
+ * extras/Mesa/*:
+ Import Mesa 6.3.1.
+
+2005-07-31 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/GL/glx/*.[ch]:
+ Remove old GLX client lib in prep for Mesa 6.3.1 merge.
+
+2005-07-30 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/lbxutil/lbx_zlib/lbx_zlib.h:
+ * lib/lbxutil/delta/lbxdelta.c:
+ Add prototypes of Xalloc/free functions.
+
+ * lib/X11/Imakefile:
+ Export ImUtil.h to match modular tree install.
+
+ * include/Xosdefs.h:
+ Define SVR4 to 1 to avoid warning about redefining to different values.
+
+ * lib/Xext/XShm.c:
+ * programs/xsm/misc.c:
+ * programs/xgc/lex.l:
+ * programs/twm/menus.c:
+ Include missing headers to clear more compiler warnings.
+
+2005-07-30 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/font/builtins/fpe.c:
+ * lib/font/builtins/render.c:
+ * lib/lbxutil/delta/lbxdelta.c:
+ * programs/Xserver/hw/xfree86/drivers/i2c/fi1236.c:
+ Clear compiler warnings. (Stefan Dirsch)
+
+2005-07-29 Ian Romanick <idr@us.ibm.com>
+
+ * lib/GL/mesa/x86/Imakefile:
+ * lib/X11/Imakefile:
+ * lib/lbxutil/image/Imakefile:
+
+ Fix problems with cross-compiles. If building for PowerPC on
+ x86, archictecture-specific flags, such as -mcpu=power5, set in
+ DefaultGcc2PpcOpt will mistakenly be used in certain
+ circumstances to build programs to be run on the host.
+
+2005-07-29 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml:
+ Bugzilla #3916 (https://bugs.freedesktop.org/show_bug.cgi?id=3916)
+ Fix broken link to comp.fonts FAQ (reported by Siward de Groot)
+
+2005-07-29 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONSetFBLocation):
+ bugzilla #3911 (https://bugs.freedesktop.org/show_bug.cgi?id=3911)
+ attachment #3191 (http://bugs.freedesktop.org/attachment.cgi?id=3191)
+ Disable bus mastering while updating MC_FB_LOCATION and friends to
+ prevent the X server from hanging on startup every now and then
+ under some circumstances. (ATI Technologies Inc.)
+
+2005-07-29 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/makedepend/def.h:
+ Update #includes to use <X11/*.h> for modularization.
+
+2005-07-29 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (xf86PrintBanner):
+ Fix code to handle printing 7.0 release candidates properly.
+
+2005-07-28 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xman/vendor.h (SYSMANPATH):
+ Set default man path for Solaris.
+
+Thu Jul 28 18:29:06 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/xfs/difs/fonts.c (set_font_path_elements): Fix double
+ free when there no valid paths.
+
+2005-07-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_mouse.c:
+ Rework wrapping of common mouse driver to not require mousePriv.h,
+ so that modular tree xserver can be built on Solaris.
+ Wrap more ioctls in SYSCALL() to restart on signals.
+
+2005-07-27 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/Xext/panoramiX.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxcmds.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxext.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxscreens.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxsingle.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxswap.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxvendor.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxvisuals.c:
+ Add #include <dmx-config.h> for building dmx/glxProxy in the
+ modular tree.
+
+2005-07-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ * programs/xload/Imakefile:
+ * programs/xload/get_load.c:
+ Switch xload on Solaris from libkvm to libkstat so it works with
+ both 32-bit and 64-bit kernels, and without group kmem.
+ Add #include "config.h" for modularization
+
+2005-07-27 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/xconsole/xconsole.c:
+ Fix build-breakage in xconsole on AIX caused by removal of ptyx.h
+ definitions. (Dan McNichol)
+
+2005-07-26 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i810.h
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_dri.h
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_dri.h
+ Bump the DDX version to 1.4.0 to indicate the removal of drmAddress.
+ Thus allowing 32/64bit clients to cohabit.
+
+2005-07-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/xtrans/Xtransutil.c:
+ * programs/iceauth/iceauth.h:
+ * programs/iceauth/process.c:
+ * programs/lbxproxy/di/utils.c:
+ * programs/lbxproxy/include/util.h:
+ * programs/x11perf/x11perf.c:
+ * programs/xinit/xinit.c:
+ Add config.h includes for modularization
+ Use RETSIGTYPE if defined by autoconf in addition to Imake's
+ SIGNALRETURNSINT.
+ Use HAVE_WORKING_VFORK if defined by autoconf in addition to
+ Imake's HAS_VFORK
+
+2005-07-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xauth/gethost.c:
+ * programs/xauth/parsedpy.c:
+ * programs/xauth/process.c:
+ * programs/xauth/xauth.c:
+ Add config.h includes for modularization
+ Use RETSIGTYPE if defined by autoconf in addition to Imake's
+ SIGNALRETURNSINT.
+
+2005-07-26 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c
+ Bug #3850: <https://bugs.freedesktop.org/show_bug.cgi?id=3850>
+ Fix non-DRI builds.
+
+2005-07-25 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/xinit/startx.cpp:
+ Bug #3860: Avoid a bashism. (Diego Pettenò)
+
+2005-07-25 Ian Romanick <idr@us.ibm.com>
+
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_bios.c:
+ (mga_initialize_bios_values), (mga_parse_bios_ver_3),
+ (mga_parse_bios_ver_4), (mga_parse_bios_ver_5),
+ (mga_read_and_process_bios):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c:
+ (MGAGCalcClock):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c:
+ (MGADRIScreenInit):
+
+ PInS data on later cards (G200 and later) contains information
+ about the physical bus used for the card. This allows
+ accurate detection of PCI cards that use a PCI-to-PCI bridge
+ with an AGP chip.
+
+ Correctly disable DRI on PCI cards used with pre-3.2 DRM.
+ Previously the test was performed based on PCI ID (see above
+ for why this is wrong) and was done *before* the DRM version
+ was known.
+
+ Bug #3759: <https://bugs.freedesktop.org/show_bug.cgi?id=3759>
+ Correctly determine the PLL reference frequency from the PInS
+ data. Previously the wrong bit was tested. Blame the dumb
+ programmer that used cut-and-paste (that would be me).
+
+2005-07-25 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * include/extensions/Printstr.h:
+ #include "fontstruct.h" -> <X11/fonts/fontstruct.h> for modularization
+ (Drew Parsons)
+
+2005-07-25 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/input/evdev/evdev.c
+ (EvdevReadInput): Handle BTN_TASK too (#3859).
+
+2005-07-24 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_agp.c:
+ Add xf86DeallocateGARTMemory stub so that Xorg can be built on Solaris
+ again.
+
+2005-07-24 Luc Verhaegen <libv@skynet.be>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (ViaGetMemoryBandwidth), (ViaModePrimaryVGA):
+
+ Fix two typos in mode setting rework (still in unichrome.sf.net CVS).
+ - Wrong KM400A version when checking bandwidth.
+ (first reported by Tom Huckstep on #xorg - closes #3858)
+ - Cut-n-paste error when checking mode->Flags for sync polarity.
+
+2005-07-23 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/X11/Imakefile:
+ * lib/X11/PolyReg.c:
+ * lib/X11/Region.c:
+ * lib/X11/Xregion.h:
+ * lib/Xext/XShape.c:
+ * lib/Xrender/Picture.c
+ Change region.h to Xregion.h and modify internal references to
+ include <X11/Xregion.h>.
+
+2005-07-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/rgb/Imakefile:
+ Don't link in -lucb on Solaris
+ * programs/rgb/rgb.c:
+ * programs/rgb/showrgb.c:
+ #ifdef HAVE_CONFIG_H/#include "config.h" for modularization
+
+2005-07-22 Daniel Stone <daniel@freedesktop.org>
+
+ * include/Imakefile:
+ * include/Xpoll.h.in:
+ * include/Xos.h:
+ Turn Xpoll.h into a generated file. In the modular tree, substitute
+ in whichever of fds_bits or __fds_bits is being used for the member
+ of fd_set on the system; in the monolithic tree, substitute in
+ fds_bits unconditionally, as that's the way it was before thanks to
+ _XOPEN_SOURCE being defined. Stop defining _XOPEN_SOURCE in Xos.h.
+
+2005-07-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xt/SetWMCW.c:
+ Bug #3824: <https://bugs.freedesktop.org/show_bug.cgi?id=3824>
+ Correct incomplete license statement from Sun.
+
+2005-07-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xinit/startx.cpp:
+ Use kbd_mode -a to restore console keyboard on Solaris x86 too.
+
+2005-07-20 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xft/Imakefile:
+ Bug 3823 <https://bugs.freedesktop.org/show_bug.cgi?id=3823>
+ Xft returns different versions on monolithic and modular builds
+
+2005-07-19 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/os-support/shared/agp_noop.c
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_agp.c
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSproc.h
+ * programs/Xserver/hw/xfree86/loader/xf86sym.c
+ Bug #3164 <https://bugs.freedesktop.org/show_bug.cgi?id=3164>
+ Add xf86DeallocateGARTMemory() function call (Austin Yuan)
+
+2005-07-18 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_agp.c:
+ Change #include "X.h" to <X11/X.h>
+
+2005-07-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/bitmap/bmtoa.c:
+ * programs/smproxy/smproxy.h:
+ * programs/twm/session.c:
+ * programs/xditview/Dvi.c:
+ * programs/xman/misc.c:
+ * programs/xman/vendor.h:
+ * programs/xsm/xsm.h:
+ Add #ifdef HAVE_CONFIG_H/#include "config.h" to files that need
+ it to get HAS_MKSTEMP defined in modular builds.
+
+2005-07-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * extras/Xpm/lib/parse.c:
+ Accept autoconf HAVE_STRLCPY as alias for HAS_STRLCAT
+
+2005-07-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * include/Xalloca.h:
+ Guard INCLUDE_ALLOCA_H define to end redefinition warnings.
+
+2005-07-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/dix/dispatch.c:
+ * programs/Xserver/include/opaque.h:
+ * programs/iceauth/process.c:
+ * programs/lbxproxy/di/dispatch.c:
+ * programs/lbxproxy/include/misc.h:
+ * programs/xfs/difs/dispatch.c:
+ * programs/xfs/include/globals.h:
+ Mark variables modified in signal handlers as volatile
+ (part of Sun bug id 4496504)
+
+2005-07-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xclock/Clock.c:
+ * programs/xclock/xclock.c:
+ Add #include "config.h" for modularization
+ Accept autoconf HAVE_STRLCPY as alias for HAS_STRLCAT
+
+2005-07-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * BUILD:
+ * programs/Xserver/hw/xfree86/doc/BUILD:
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ Update build instructions. Add details about how the
+ expat, fontconfig, libpng, freetype, and xterm builds
+ are now handled.
+
+ * programs/Xserver/hw/xfree86/doc/README.fonts:
+ * programs/Xserver/hw/xfree86/doc/README.OpenBSD:
+ * programs/Xserver/hw/xfree86/doc/README.SiS:
+ Update text docs from SGML masters.
+
+2005-07-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/xorgsite.def:
+ Add examples for expat, fontconfig, libpng, freetype, & xterm
+ so people know how to enable or disable and set paths.
+ Update examples/comments for Speedo & MakeDllModules to reflect
+ 6.9 status/defaults.
+
+2005-07-15 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/GL/glxmodule.c:
+ * programs/Xserver/GL/mesa/GLcore/GLcoremodule.c:
+ * programs/Xserver/Xext/extmod/modinit.c:
+ * programs/Xserver/Xext/xf86dga.c:
+ * programs/Xserver/Xext/xf86dga2.c:
+ * programs/Xserver/Xext/xf86misc.c:
+ * programs/Xserver/Xext/xf86vmode.c:
+ * programs/Xserver/Xext/xvmod.c:
+ * programs/Xserver/afb/afbmodule.c:
+ * programs/Xserver/dbe/dbemodule.c:
+ * programs/Xserver/fb/fbmodule.c:
+ * programs/Xserver/mfb/mfbmodule.c:
+ * programs/Xserver/mi/miinitext.c:
+ * programs/Xserver/miext/layer/laymodule.c:
+ * programs/Xserver/miext/shadow/shmodule.c:
+ * programs/Xserver/record/recordmod.c:
+ * programs/Xserver/xkb/ddxKillSrv.c:
+ * programs/Xserver/xkb/ddxPrivate.c:
+ * programs/Xserver/xkb/ddxVT.c:
+ Fix the *-config.h includes so that it is possible to build
+ modules without having to use -include in the Makefile.
+
+2005-07-15 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/scanpci/xf86PciStdIds.h:
+ Update to match recent changes to pci.ids & extrapci.ids
+ for people building on systems without perl.
+
+2005-07-15 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/GL/dri/dri.c:
+ * programs/Xserver/GL/dri/drimodule.c:
+ * programs/Xserver/GL/dri/xf86dri.c:
+ * programs/Xserver/Xext/dmx.c:
+ Fix the *-config.h includes for the files that have moved
+ in the modular tree.
+
+2005-07-15 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/extras/rman/CHANGES:
+ * xc/extras/rman/MANIFEST:
+ * xc/extras/rman/Makefile:
+ * xc/extras/rman/Makefile.mac (removed):
+ * xc/extras/rman/README-rman (removed):
+ * xc/extras/rman/README-rman.txt:
+ * xc/extras/rman/macish.c (removed):
+ * xc/extras/rman/rman.1:
+ * xc/extras/rman/rman.html
+ * xc/extras/rman/contrib/README-contrib:
+ Since rman.c was already updated to rman-3.2, update the rest of
+ the rman files to match.
+
+2005-07-15 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/dix/events.c: (ProcessKeyboardEvent):
+ Fix keyboard state when XEVIE is not enabled (Keith Packard).
+
+2005-07-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/xdmshell.c:
+ Set HAS_VFORK if autoconf has set HAVE_WORKING_VFORK.
+
+ * programs/xdm/dm.h:
+ Add #include "config.h" for modularization
+
+2005-07-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * include/Xos.h:
+ Don't define _XOPEN_SOURCE on SVR4, because it will REMOVE
+ required definitions.
+
+2005-07-14 Alan Coopersmith <alan.coopersmith@sun.com>
+ * config/util/lndir.man:
+ Bug 3774 <https://bugs.freedesktop.org/show_bug.cgi?id=3774>
+ Patch 3081 <https://bugs.freedesktop.org/attachment.cgi?id=3081>
+ lndir.man fails to mention .svn (Bernhard Reiter)
+
+2005-07-13 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xnest/Args.c:
+ * programs/Xserver/hw/xnest/Color.c:
+ * programs/Xserver/hw/xnest/Cursor.c:
+ * programs/Xserver/hw/xnest/Display.c:
+ * programs/Xserver/hw/xnest/Events.c:
+ * programs/Xserver/hw/xnest/Font.c:
+ * programs/Xserver/hw/xnest/GC.c:
+ * programs/Xserver/hw/xnest/GCOps.c:
+ * programs/Xserver/hw/xnest/GetTime.c:
+ * programs/Xserver/hw/xnest/Handlers.c:
+ * programs/Xserver/hw/xnest/Init.c:
+ * programs/Xserver/hw/xnest/Keyboard.c:
+ * programs/Xserver/hw/xnest/Pixmap.c:
+ * programs/Xserver/hw/xnest/Pointer.c:
+ * programs/Xserver/hw/xnest/Screen.c:
+ * programs/Xserver/hw/xnest/TestExt.c:
+ * programs/Xserver/hw/xnest/Visual.c:
+ * programs/Xserver/hw/xnest/Window.c:
+ * programs/Xserver/mi/miinitext.c:
+ Add #include <xnest-config.h> to the Xnest source files for
+ modularization.
+
+2005-07-13 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h:
+ Merge SVR4/pre-Solaris 8 and Solaris 8+ sections for greater
+ consistency, easier maintenance, and to fix some missing headers
+ when building the modular Xorg on Solaris.
+
+2005-07-13 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * include/Xalloca.h:
+ #define INCLUDE_ALLOCA_H when building with Sun compilers.
+ (Imake *.cf files define this for a number of platforms in
+ the monolith, but these will need to be translated into
+ #ifdef's or similar mechanism to work in a world without Imake.)
+
+2005-07-13 Alexander Gottwald <ago at freedesktop dot org>
+
+ * include/Xthreads.h:
+ include <X11/Xwindows.h> instead of <windows.h>. Several namespace
+ conflicts are worked around in Xwindows.h
+
+2005-07-13 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/render/picture.c:
+ Fix compilation where uint is not defined.
+
+2005-07-13 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c
+ Bug #2587 <https://bugs.freedesktop.org/show_bug.cgi?id=2587>
+ Fix keyboard mapping on Sun keyboards in the keyboard module.
+
+2005-07-13 Lars Knoll <lars@trolltech.com>
+ * programs/Xserver/fb/fbcompose.c:
+ Fix potential buffer overflow and a smaller bug in the
+ convolution filter
+ * programs/Xserver/fb/fbmmx.c:
+ Fix compilation on some platforms
+
+2005-07-13 Keith Packard <keithp@keithp.com>
+
+ * include/Xos.h:
+ * lib/FS/FSConnServ.c:
+ * lib/FS/FSlibint.h:
+ * lib/lbxutil/lbx_zlib/lbx_zlib.c:
+
+ Make some minor source adjustments so that
+ we don not need to use -D_XOPEN_SOURCE -D_BSD_SOURCE
+ everywhere as this will leak out of the modular environment
+ and into application build processes, potentially foulling up
+ their compiles.
+
+2005-07-12 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/input/aiptek/xf86Aiptek.h:
+ * programs/Xserver/hw/xfree86/input/digitaledge/DigitalEdge.c:
+ * programs/Xserver/hw/xfree86/input/hyperpen/xf86HyperPen.c:
+ * programs/Xserver/hw/xfree86/input/joystick/xf86Jstk.c:
+ * programs/Xserver/hw/xfree86/input/summa/xf86Summa.c:
+ * programs/Xserver/hw/xfree86/input/tek4957/xf86Tek4957.c:
+ * programs/Xserver/hw/xfree86/input/void/void.c:
+ Change input drivers to get keysym's from <X11/keysym.h>.
+
+Mon Jul 11 19:30:56 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/xedit/lisp/xedit.c: Change include of "xedit/xedit.h"
+ to include of "lisp/../xedit.h"
+
+2005-07-12 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/etc/scanpci.c:
+ Fix scanpci -v core dump when subsys vendor/device id's are
+ NOVENDOR & NODEVICE.
+ Bug #3763 <https://bugs.freedesktop.org/show_bug.cgi?id=3763>
+ Patch #3074 <https://bugs.freedesktop.org/attachment.cgi?id=3074>
+
+2005-07-12 Lars Knoll <lars@trolltech.com>
+ * programs/Xserver/fb/fbcompose.c:
+ * programs/Xserver/fb/fbmmx.c:
+ * programs/Xserver/fb/fbmmx.h:
+ * programs/Xserver/fb/fbpict.c:
+ * programs/Xserver/fb/fbpict.h:
+ Add MMX Code paths for the basic composition operations
+ in fbComposeGeneral.
+
+2005-07-11 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/dmx/config/dmxcompat.c:
+ * programs/Xserver/hw/dmx/config/dmxconfig.c:
+ * programs/Xserver/hw/dmx/config/dmxparse.c:
+ * programs/Xserver/hw/dmx/config/dmxprint.c:
+ * programs/Xserver/hw/dmx/config/parser.y:
+ * programs/Xserver/hw/dmx/config/scanner.l:
+ * programs/Xserver/hw/dmx/dmx_glxvisuals.c:
+ * programs/Xserver/hw/dmx/dmxcb.c:
+ * programs/Xserver/hw/dmx/dmxclient.h:
+ * programs/Xserver/hw/dmx/dmxcmap.c:
+ * programs/Xserver/hw/dmx/dmxcursor.c:
+ * programs/Xserver/hw/dmx/dmxdpms.c:
+ * programs/Xserver/hw/dmx/dmxextension.c:
+ * programs/Xserver/hw/dmx/dmxfont.c:
+ * programs/Xserver/hw/dmx/dmxgc.c:
+ * programs/Xserver/hw/dmx/dmxgcops.c:
+ * programs/Xserver/hw/dmx/dmxinit.c:
+ * programs/Xserver/hw/dmx/dmxinput.c:
+ * programs/Xserver/hw/dmx/dmxlog.c:
+ * programs/Xserver/hw/dmx/dmxpict.c:
+ * programs/Xserver/hw/dmx/dmxpixmap.c:
+ * programs/Xserver/hw/dmx/dmxprop.c:
+ * programs/Xserver/hw/dmx/dmxscrinit.c:
+ * programs/Xserver/hw/dmx/dmxshadow.c:
+ * programs/Xserver/hw/dmx/dmxstat.c:
+ * programs/Xserver/hw/dmx/dmxsync.c:
+ * programs/Xserver/hw/dmx/dmxvisual.c:
+ * programs/Xserver/hw/dmx/dmxwindow.c:
+ * programs/Xserver/hw/dmx/input/ChkNotMaskEv.c:
+ * programs/Xserver/hw/dmx/input/dmxarg.c:
+ * programs/Xserver/hw/dmx/input/dmxbackend.c:
+ * programs/Xserver/hw/dmx/input/dmxcommon.c:
+ * programs/Xserver/hw/dmx/input/dmxconsole.c:
+ * programs/Xserver/hw/dmx/input/dmxdetach.c:
+ * programs/Xserver/hw/dmx/input/dmxdummy.c:
+ * programs/Xserver/hw/dmx/input/dmxeq.c:
+ * programs/Xserver/hw/dmx/input/dmxevents.c:
+ * programs/Xserver/hw/dmx/input/dmxinputinit.c:
+ * programs/Xserver/hw/dmx/input/dmxmap.c:
+ * programs/Xserver/hw/dmx/input/dmxmotion.c:
+ * programs/Xserver/hw/dmx/input/dmxsigio.c:
+ * programs/Xserver/hw/dmx/input/dmxxinput.c:
+ * programs/Xserver/hw/dmx/input/lnx-keyboard.c:
+ * programs/Xserver/hw/dmx/input/lnx-ms.c:
+ * programs/Xserver/hw/dmx/input/lnx-ps2.c:
+ * programs/Xserver/hw/dmx/input/usb-common.c:
+ * programs/Xserver/hw/dmx/input/usb-keyboard.c:
+ * programs/Xserver/hw/dmx/input/usb-mouse.c:
+ * programs/Xserver/hw/dmx/input/usb-other.c:
+ * programs/Xserver/hw/vfb/InitInput.c:
+ * programs/Xserver/hw/vfb/InitOutput.c:
+ * programs/Xserver/mi/miinitext.c:
+ Prepare Xdmx and Xvfb for modularization by adding appropriate
+ #include <{dix,dmx}-config.h> to the source files.
+
+2005-07-11 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/twm/resize.c:
+ Bug #3754 (Debian #725): Fix ten-year-old window misplacement in twm
+ when dragging with the middle button. (Christopher Mario Mae)
+
+2005-07-11 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/os-support/shared/sigio.c:
+ Remove unneeded xf86drm.h includes to fix modular build.
+
+2005-07-11 Daniel Stone <daniel@freedesktop.org>
+
+ * lib/X11/imDefIc.c (_XimRegisterKeyPressFilter):
+ Fix segfault when _XimProtoCreateIC() fails to create a context; Debian
+ #239991. (Chung-chieh Shan)
+
+2005-07-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv.man:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c:
+ Bug #3740 <https://bugs.freedesktop.org/show_bug.cgi?id=3740>
+ Patch #3058 <https://bugs.freedesktop.org/attachment.cgi?id=3058>
+ 08-Jul-2005 nv driver updates from Mark Vojkovich:
+
+ Change some console restore code for NV11. Hopefully, we can more
+ reliably restore the console for desktop systems using DVI. This
+ may correct a recent regression on NV11.
+
+ Also, new PCI IDs.
+
+ * programs/Xserver/hw/xfree86/etc/extrapci.ids:
+ Add new nVidia PCI ids to match nv_driver.c changes.
+
+2005-07-07 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/xconsole/xconsole.c (get_pty): Remove include of
+ "../xterm/ptyx.h"
+
+2005-07-07 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ More compiler warning fixes for missing prototypes:
+
+ * include/extensions/XKBsrv.h:
+ Add prototype for XkbSetExtension()
+
+ * programs/xrx/helper/helper.c:
+ Add #include <ctype.h> for isspace() & isdigit()
+
+ * programs/Xserver/Xprint/attributes.c:
+ Add #include <grp.h> (for initgroups()) and remove extra *
+
+ * programs/Xserver/hw/xfree86/common/xf86.h:
+ Add prototype for xorgGetVersion()
+
+2005-07-07 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/os/osdep.h:
+ Bug #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Add prototype for XdmAuthenticationInit() (Peter Breitenlohner)
+
+2005-07-07 Alan Coopersmith <alan.coopersmith@sun.com>
+ * extras/ttf2pt1/ft.c:
+ * extras/ttf2pt1/pt1.c:
+ * extras/ttf2pt1/ttf2pt1.c:
+ * lib/font/FreeType/ftfuncs.h:
+ * programs/Xserver/Xprint/ps/PsFTFonts.c:
+ * programs/Xserver/Xprint/ps/psout_ft.c:
+ * programs/Xserver/Xprint/ps/psout_ftpstype1.c:
+ * programs/Xserver/Xprint/ps/psout_ftpstype3.c:
+ Bug #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2332 <https://bugs.freedesktop.org/attachment.cgi?id=2332>
+ This patch avoids 79 gcc-3.4.3 warnings
+ 'xxx' declared `static' but never defined
+ mostly due to including "ftfuncs.h" with the declaration
+ of static functions defined in "ftfuncs.c". (Peter Breitenlohner)
+
+2005-07-06 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86cfg/loader.h:
+ Bug #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Fix warnings about redefined macros (Peter Breitenlohner)
+
+2005-07-06 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nsc/Imakefile:
+ Bug #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2330 <https://bugs.freedesktop.org/attachment.cgi?id=2330>
+ Remove CppManTarget since it's already included in InstallModuleManPage
+ expansion - removes 10 pairs of warnings from GNU make about duplicate
+ Makefile targets (Peter Breitenlohner)
+
+2005-07-06 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * extras/ttf2pt1/ft.c:
+ * extras/ttf2pt1/pt1.c:
+ * lib/XprintAppUtil/xpapputil.c:
+ * programs/Xserver/Xext/xevie.c:
+ * programs/Xserver/Xprint/Init.c:
+ * programs/Xserver/Xprint/Oid.c:
+ * programs/Xserver/Xprint/ps/PsFonts.c:
+ Bug #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2325 <https://bugs.freedesktop.org/attachment.cgi?id=2325>
+ Avoid 38 gcc-3.4.2 warnings:
+ suggest parentheses around assignment used as truth value
+ suggest explicit braces to avoid ambiguous `else'
+ suggest parentheses around && within ||
+ suggest parentheses around arithmetic in operand of ^
+ "/*" within comment
+ (Peter Breitenlohner)
+
+ * programs/Xserver/Xprint/AttrValid.c:
+ * programs/Xserver/Xprint/Oid.h:
+ Bug #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2326 <https://bugs.freedesktop.org/attachment.cgi?id=2326>
+ This patch removes these 2 gcc-3.4.3 warnings:
+ missing braces around initializer
+ implicit declaration of function `XpOidTrayMediumListHasTray'
+ (Peter Breitenlohner)
+
+2005-07-06 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/xdbedizzy/Imakefile (DEFINES): Add -DUSE_XPRINT to
+ DEFINES
+
+ * programs/xdbedizzy/xdbedizzy.c: Conditionalize use of xprint.
+
+2005-07-06 Alexander Gottwald <ago@freedesktop.org>
+
+ * config/cf/cygwin.cf:
+ * config/cf/mingw.cf:
+ Removed AVOID_GLYPHBLT and SINGLEDEPTH from server defines.
+
+2005-07-06 Ian Romanick <idr@us.ibm.com>
+
+ * programs/Xserver/GL/glx/glxcmds.c: (DoGetFBConfigs):
+
+ Use the correct size for the glXGetFBConfigs reply.
+ Bugzilla #3210 <https://bugs.freedesktop.org/show_bug.cgi?id=3210>
+
+ * programs/Xserver/hw/xfree86/drivers/mga/Imakefile:
+
+ Fix recent breakage to SDK install.
+ Bugzilla #3703 <https://bugs.freedesktop.org/show_bug.cgi?id=3703>
+
+2005-07-05 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/xmore/Imakefile (DEFINES): Add -DUSE_XPRINT to DEFINES
+
+ * program/xmore/xmore.c: Conditionalize use of xprint.
+
+2005-07-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * extras/ttf2pt1/ttf2pt1.c:
+ Bugzilla #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2321 <https://bugs.freedesktop.org/attachment.cgi?id=2321>
+
+ Arguments to sscanf need to be pointers (Peter Breitenlohner)
+
+2005-07-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/xorg.cf:
+ * config/cf/xfree86.cf:
+ Bugzilla #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2319 <https://bugs.freedesktop.org/attachment.cgi?id=2319>
+
+ Since many files now use non-ANSI constructs ('long long',
+ substructure initializers, implicit signedness conversions, ...)
+ you shouldn't use "gcc -ansi -pedantic". On our ix86-linux-gnu
+ system this change reduces the number of gcc-3.4.3 warnings from
+ originally 3034 to 1460! (Peter Breitenlohner)
+
+2005-07-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/makedepend/main.c:
+ Bugzilla #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2320 <https://bugs.freedesktop.org/attachment.cgi?id=2320>
+
+ Remove warning about whitespace in pre-processor defines.
+ (Peter Breitenlohner)
+
+2005-07-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/auth.c:
+ * programs/xdm/socket.c:
+ * programs/xdm/xdmcp.c:
+ Bugzilla #2901 <https://bugs.freedesktop.org/show_bug.cgi?id=2901>
+ Patch #2317 <https://bugs.freedesktop.org/attachment.cgi?id=2317>
+
+ This patch fixes several problems arising if xdm is
+ compiled with IPv6 support, but the (linux) kernel does not
+ support IPv6. (Peter Breitenlohner)
+
+2005-07-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml:
+ Remove Speedo font module documentation.
+
+ * programs/Xserver/Xserver.man:
+ Remove Speedo from list of font directories
+
+ * programs/Xserver/hw/xfree86/xorg.conf.man:
+ Update default font path to remove Speedo, add TTF.
+
+2005-07-05 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_video.c
+ Fix Xvideo when operating in one line mode and video is pushed off
+ the top of the screen. Also some fixes for Xvideo skew in certain
+ resolutions.
+
+2005-07-05 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONDoAdjustFrame):
+ Bug #2604: Disable workaround for horrible flickering when scrolling
+ vertically in a virtual screen when color tiling and page flip are
+ both enabled, as it potentially does more harm than good.
+ The flickering still needs fixing probably though.
+
+2005-07-04 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ (VIAScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (ViaSetPrimaryDotclock), (ViaSetSecondaryDotclock),
+ (ViaComputeProDotClock), (ViaModeDotClockTranslate):
+ Add more card-ids. (Xavier Bachelot)
+ Avoid VBE DPMS to blank screen when using VBE modes.
+ Allow free dotclock specification on the Unichrome Pro.
+
+2005-07-04 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/Xorg.man:
+ * programs/Xserver/hw/xfree86/xorg.conf.man:
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ * programs/Xserver/hw/xfree86/common/xf86Globals.c:
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ * programs/Xserver/hw/xfree86/common/xf86Priv.h:
+ * programs/Xserver/hw/xfree86/common/xf86pciBus.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c:
+ Bug #2216: Multiseat support. From various Debian and Ubuntu patches
+ by Aivils Stoss, Andreas Schuldei, Branden Robinson, and Daniel Stone.
+
+2005-07-04 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Set TroffCmd on Solaris to "troff -Tpost" instead of "troff -Tps"
+ when not using groff.
+
+ * doc/specs/programs/Imakefile (MANUALS):
+ Bugzilla Bug 3695: <https://bugs.freedesktop.org/show_bug.cgi?id=3695>
+ 6.8.99.14 man page installation breaks on fc-cache.man
+
+2005-07-04 Lars Knoll <lars@trolltech.com>
+ * programs/Xserver/fb/fbpict.h:
+ * programs/Xserver/fb/fbcompose.c:
+ Fix handling of "super luminescent" colors
+ Fix off by one error in the transformation handling.
+
+2005-07-04 Thomas Winischhofer <thomas@winischhofer.net>
+
+ SiS driver:
+ - Added initial support for XGI chipsets (V3XT, V5, V8, Z7).
+ Z7 and V5 are untested. All features supported (Xv, HWCursor,
+ DPMS, etc.). The binary XGI DRI driver is not supported.
+ - Ported driver to EXA 0.1.0. Known problems still to solve at
+ this time are:
+ * EXA's deinitialisation routine "DriverFini()" does not
+ unwrap pScreen->DestroyPixmap (and others), leading to a
+ crash on machines where the SWCursor is being used (SWCursor
+ pixmaps are destroyed after EXA has destroyed the offscreen
+ memory manager).
+ * EXA does not work correctly with 24bpp framebuffers. For some
+ reason, all pixmaps handed to the drawing primitives are
+ 32bpp, despite the correct 24bpp-flag handed to
+ xf86SetDepthBpp().
+
+2005-07-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xrdb/xrdb.c:
+ Add #ifdef HAVE_CONFIG_H/#include <config.h> for modularization.
+
+2005-07-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ * programs/Xserver/hw/xfree86/common/xf86Events.c:
+ Fix builds on non-GLIBC systems (missing __GLIBC_PREREQ).
+ Add Solaris stack backtrace dumper.
+
+2005-07-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/font/bitmap/Imakefile:
+ Install publicly used headers in X11/fonts.
+
+ * lib/font/bitmap/bdfread.c:
+ * lib/font/bitmap/bdfutils.c:
+ * lib/font/bitmap/bitmapfunc.c:
+ * lib/font/bitmap/bitmaputil.c:
+ * lib/font/bitmap/fontink.c:
+ * lib/font/bitmap/pcfread.c:
+ * lib/font/bitmap/pcfwrite.c:
+ * programs/bdftopcf/bdftopcf.c:
+ Change source files that use these headers to get them via
+ <X11/fonts/*.h>.
+
+2005-07-03 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ * programs/Xserver/hw/xfree86/common/xf86Events.c:
+ Predicate usage of xf86OSPM functions on #ifdef XF86PM.
+
+ * programs/Xserver/hw/xfree86/os-support/xf86OSMouse.c:
+ Remove needless include of ../input/mouse/mouse.h.
+
+ * programs/Xserver/hw/xfree86/common/xf86KbdLnx.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_KbdMap.c:
+ Remove needless include of DECkeysym.h.
+
+ * lib/font/include/Imakefile:
+ Install all libXfont includes to X11/fonts/ internally.
+
+2005-07-03 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/lbxutil/delta/lbxdelta.c:
+ * lbx_zlib/lbx_zlib.c:
+ * lbx_zlib/lbx_zlib_io.c:
+ lbxutil doesn't really need <X11/os.h>, so don't ask for it.
+
+2005-07-03 Daniel Stone <daniel@freedesktop.org>
+
+ * lib/font/fc/fserve.c:
+ * lib/font/fc/fsio.c:
+ Add Xtrans definitions (FONT_t, TRANS_CLIENT) to clean up warnings.
+
+ * programs/Xserver/os/connection.c:
+ Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings.
+
+ * programs/Xserver/**/*.[ch]:
+ * lib/**/*.[ch]:
+ * lib/X11/XKBAlloc.c:
+ * lib/X11/XKBGAlloc.c:
+ * lib/X11/XKBMAlloc.c:
+ * lib/X11/XKBMisc.c:
+ * lib/misc/strlcat.c:
+ * lib/misc/strlcpy.c:
+ * lib/xkbfile/maprules.c:
+ * lib/xkbfile/xkbconfig.c:
+ * lib/xkbfile/xkberrs.c:
+ * lib/xkbfile/xkbmisc.c:
+ * lib/xkbfile/xkbout.c:
+ * lib/xkbfile/xkbtest.c:
+ * lib/xkbfile/xkmread.c:
+ * lib/xtrans/transport.c: (XSERV_t)
+ Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all
+ source files in the xserver/xorg tree, predicated on defines of
+ HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to
+ <X11/fonts/foo.h>. Fix includes in server branches of XKB code.
+ Change all <X11/misc.h> and <X11/os.h> includes to "misc.h" and "os.h".
+
+2005-07-02 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Events.c:
+ (xorg_backtrace):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.h:
+ Fix build issues.
+
+2005-07-02 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/linux.cf:
+ * programs/Xserver/hw/xfree86/input/evdev/evdev.c:
+ Add some build compatibility for 2.6 linux systems with 2.4 kernel
+ headers installed. Allow the use of evdev for mice on 2.4 kernels.
+
+2005-07-02 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Events.c:
+ Bug #3687: Print backtraces on fatal signal on glibc systems.
+
+2005-07-02 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xnest/Events.c:
+ * programs/Xserver/hw/xnest/Keyboard.c:
+ Bug #3546: Use MAP_LENGTH instead of a magic number.
+ (Mark McLoughlin)
+ Bug #3664: Further fixes to Xnest modifier state handling.
+ (Mark McLoughlin)
+
+2005-07-02 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/miext/cw/Imakefile:
+ * programs/Xserver/miext/damage/Imakefile:
+ Bug #1324: Stop pretending cw and damage are loadable modules.
+
+2005-07-01 Ian Romanick <idr@us.ibm.com>
+
+ * programs/Xserver/hw/xfree86/drivers/mga/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_PInS.txt:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_arc.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_bios.c: (get_u16),
+ (get_u32), (mga_initialize_bios_values), (mga_parse_bios_ver_1),
+ (mga_parse_bios_ver_2), (mga_parse_bios_ver_3),
+ (mga_parse_bios_ver_4), (mga_parse_bios_ver_5),
+ (mga_read_and_process_bios):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_bios.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dac3026.c:
+ (MGA3026RamdacInit):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c:
+ (MGAGCalcClock), (MGAGSetPCLK), (MGAGRamdacInit):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dga.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dh.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c: (MGAdoDDC):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_g450pll.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_hwcurs.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_merge.c:
+ (MGAPreInitMergedFB):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_shadow.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_storm.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_video.c:
+
+ Re-write the PInS processing code. All of the old BIOS processing
+ code from the MGA DDX has been dumped and replaced.
+
+ Bugzilla #3553 <https://bugs.freedesktop.org/show_bug.cgi?id=3553>
+ Patch #2934 <https://bugs.freedesktop.org/attachment.cgi?id=2934>.
+
+2005-07-01 Lars Knoll <lars@trolltech.com>
+
+ * include/extensions/render.h:
+ * include/extensions/renderproto.h:
+ * lib/Xrender/Picture.c:
+ * lib/Xrender/Xrender.h:
+ * programs/Xserver/fb/fbcompose.c:
+ * programs/Xserver/fb/fbpict.c:
+ * programs/Xserver/fb/fbpict.h:
+ * programs/Xserver/hw/xfree86/src/xaaPict.c:
+ * programs/Xserver/render/mipict.c:
+ * programs/Xserver/render/picture.c:
+ * programs/Xserver/render/picturestr.h:
+ * programs/Xserver/render/render.c:
+ Add support for gradients and solid fills to Render.
+
+ * fb/fbcompose.c:
+ Changed the semantics of the Convolution filter a
+ bit. It now doesn't try to normalize the filter
+ values but leaves this to the client. This gives
+ more reasonable behaviour in the limit where the filter
+ parameters sum up to 0.
+
+ * doc/specs/Render/protocol:
+ Sync with modular tree
+
+2005-07-01 Zack Rusin <zrusin@trolltech.com>
+
+ * programs/Xserver/hw/xfree86/exa/exa.h:
+ * programs/Xserver/hw/xfree86/exa/exa.c:
+ * programs/Xserver/hw/xfree86/exa/exaasync.c:
+ * programs/Xserver/hw/xfree86/exa/exaoffscreen.c:
+ * programs/Xserver/hw/xfree86/exa/exapict.c:
+ * programs/Xserver/hw/xfree86/exa/exaPriv.h:
+ * programs/Xserver/hw/xfree86/exa/Imakefile:
+ * config/cf/xfree86.cf:
+ * config/cf/xorg.cf:
+ * programs/Xserver/Imakefile:
+ * programs/Xserver/hw/xfree86/Imakefile:
+ - Adding the new acceleration architecture: Exa.
+ It's meant to replace XAA in the coming months.
+
+2005-07-01 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONValidateMergeModes), (RADEONPreInitModes), (RADEONPreInit),
+ (RADEONScreenInit), (RADEONChangeSurfaces):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ - fix depth tiling for r3/4xx chips (Aapo Tahkola)
+ - adjust limits for tiled surfaces on r3/4xx
+
+2005-06-30 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mm_i2c.c:
+ * programs/Xserver/hw/xfree86/drivers/i2c/fi1236.c:
+ - Fix Support for Philips FM1236/F on ATI AIW 9600 XT (Jeff Smith)
+ Bug 3401
+
+2005-06-30 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONChangeSurfaces):
+ - change back part of a comment I seem to have accidently changed.
+
+2005-06-29 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c:
+ (RADEONUpdateXineramaScreenInfo):
+ - small mergedfb fix from Thomas Winischhofer
+
+2005-06-29 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInit), (RADEONChangeSurfaces), (RADEONInitCrtcRegisters),
+ (RADEONInitCrtc2Registers), (RADEONDoAdjustFrame):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ - add support for colortiling on r3/4xx hardware (disabled by default). In order
+ for pageflipping to work on r3/4xx we will need to update the the sarea and drm
+ so that the crtc1/2 xytiling regs get updated.
+ Initially worked out by Aapo Tahkola.
+
+2005-06-29 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONSetFBLocation):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ - Increase the priority of display 0/1 in the memory controller for r3/4xx hardware
+ when displaypriority is set to HIGH. Fixes display problems in high res modes.
+ Originally reported by Aapo Tahkola.
+
+2005-06-29 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONSetDynamicClock):
+ - fix some OUTREGs that should be OUTPLLs in dynamicclocks code
+
+2005-06-29 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c:
+ (SMI_ModeInit):
+ - add 800x480 modes to smi driver (bug 3639)
+
+2005-06-29 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/X11.tmpl:
+ Set XorgManDefs properly to set __xorgversion__ in cpp'ed man pages
+ to the correct release name.
+
+2005-06-29 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/Imake.tmpl:
+ Add HasGetopt (default: YES on everything but Win32 & OS/2) and
+ HasGetoptLong (default: NO) flags for use in fc-list & fc-cache
+ Imakefiles.
+
+ * config/cf/sun.cf:
+ Set HasGetoptLong to YES on Solaris 10 and later.
+
+ * programs/fc-cache/Imakefile:
+ * programs/fc-list/Imakefile:
+ Add -DHAVE_GETOPT & -DHAVE_GETOPT_LONG flags based on settings
+ of HasGetopt & HasGetoptLong from Imake config files to simulate
+ autoconf tests.
+
+ * lib/fontconfig/Imakefile:
+ Add FREETYPE_DEFINES to set flags to match what autoconf would set
+ for Freetype 2.1.8. Add defines for HAVE_LINK, HAVE_GETUID, and
+ HAVE_GETEUID for everything but OS/2 & Win32 to match autoconf tests.
+ Remove fcfreetype.c from the list of files linked to extras directory.
+
+ * lib/fontconfig/fcfreetype.c:
+ Use customized version of fcfreetype.c to make these needed changes:
+ - Remove // comment prohibited by gcc -ansi -pedantic default flags
+ - Change include path for "../fc-glyphname/fcglyphname.h" to work in
+ monolithic tree layout
+
+2005-06-30 Daniel Stone <daniel@freedesktop.org>
+
+ * lib/Xcursor:
+ Import Xcursor version 1.1.4.
+
+2005-06-29 Soren Sandmann <sandmann@redhat.com>
+
+ * programs/rgb/showrgb.c: Don't include rgb.h and site.h when
+ USE_RGB_TXT is defined.
+
+2005-06-29 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c (NVBacklightEnable):
+ Bugzilla #3657 <https://bugs.freedesktop.org/show_bug.cgi?id=3657>
+ Patch #2992 <https://bugs.freedesktop.org/attachment.cgi?id=2992>
+ Experimental DPMS support for GeForce4 and later laptops.
+ (Mark Vojkovich)
+
+2005-06-28 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/Xext/Imakefile:
+ * doc/man/Xext/DPMSSetTimeouts.man:
+ * doc/man/Xext/DPMSCapable.man:
+ * doc/man/Xext/DPMSDisable.man:
+ * doc/man/Xext/DPMSEnable.man:
+ * doc/man/Xext/DPMSForceLevel.man:
+ * doc/man/Xext/DPMSGetTimeouts.man:
+ * doc/man/Xext/DPMSGetVersion.man:
+ * doc/man/Xext/DPMSInfo.man:
+ * doc/man/Xext/DPMSQueryExtension.man:
+ * doc/man/Xext/DPMSSetTimeouts.man:
+ Add man pages for DPMS Extension calls in libXext. (Converted to
+ man page format by Sun doc teams based on DPMS specification docs.)
+
+2005-06-29 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * lib/XvMC/Imakefile:
+ * lib/XvMC/hw/via/unichromeProA/Imakefile:
+ * lib/XvMC/hw/via/unichromeProA/viaLowLevelPro.c: (initHQVShadow),
+ (setHQVDeblocking), (setHQVStartAddress), (setHQVDeinterlacing),
+ (setHQVTripleBuffer), (finish_header_agp), (hwlLock), (hwlUnlock),
+ (timeDiff), (setAGPSyncLowLevel), (viaDMATimeStampLowLevel),
+ (viaDMAWaitTimeStamp), (viaDMAInitTimeStamp),
+ (viaDMACleanupTimeStamp), (viaMpegGetStatus), (viaMpegIsBusy),
+ (syncDMA), (syncVideo), (syncAccel), (syncMpeg), (pciFlush),
+ (agpFlush), (uploadHQVShadow), (flushXvMCLowLevel),
+ (flushPCIXvMCLowLevel), (viaMpegSetSurfaceStride),
+ (viaVideoSetSWFLipLocked), (viaVideoSWFlipLocked), (viaMpegSetFB),
+ (viaMpegBeginPicture), (viaMpegReset), (viaMpegWriteSlice),
+ (viaVideoSubPictureOffLocked), (viaVideoSubPictureLocked),
+ (viaBlit), (syncXvMCLowLevel), (updateLowLevelBuf),
+ (cleanupLowLevelBuf), (releaseXvMCLowLevel), (initXvMCLowLevel),
+ (setLowLevelLocking), (closeXvMCLowLevel):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.c:
+ (ViaInitXVMC):
+ Add XvMC support for the mpeg1 / mpeg2 hardware decoder of
+ VIA's Unichrome Pro Group A chips, CN400 and PM8X0.
+ (Ivor Hewitt and Thomas Hellstrom).
+
+2005-06-29 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * lib/XvMC/Imakefile:
+ * lib/XvMC/hw/via/Imakefile:
+ * lib/XvMC/hw/via/driDrawable.c: (drawStamp),
+ (getDRIDrawableInfoLocked), (driDestroyHashContents):
+ * lib/XvMC/hw/via/driDrawable.h:
+ * lib/XvMC/hw/via/unichrome/Imakefile:
+ * lib/XvMC/hw/via/unichrome/viaLowLevel.c: (hwlLock), (hwlUnlock),
+ (timeDiff), (setAGPSyncLowLevel), (viaDMATimeStampLowLevel),
+ (viaDMAWaitTimeStamp), (viaDMAInitTimeStamp),
+ (viaDMACleanupTimeStamp), (viaMpegGetStatus), (viaMpegIsBusy),
+ (syncDMA), (syncVideo), (syncAccel), (syncMpeg), (pciFlush),
+ (agpFlush), (flushXvMCLowLevel), (flushPCIXvMCLowLevel),
+ (pciCommand), (viaMpegSetSurfaceStride), (viaVideoSetSWFLipLocked),
+ (viaVideoSWFlipLocked), (viaMpegSetFB), (viaMpegBeginPicture),
+ (viaMpegReset), (viaMpegWriteSlice), (viaVideoSubPictureOffLocked),
+ (viaVideoSubPictureLocked), (viaBlit), (syncXvMCLowLevel),
+ (initXvMCLowLevel), (setLowLevelLocking), (closeXvMCLowLevel):
+ * lib/XvMC/hw/via/viaLowLevel.c:
+ * lib/XvMC/hw/via/viaLowLevel.h:
+ * lib/XvMC/hw/via/viaXvMC.c: (grabDecoder),
+ (releaseContextResources), (XvMCCreateContext),
+ (XvMCDestroyContext), (XvMCCreateSurface), (XvMCPutSlice2),
+ (XvMCPutSlice), (XvMCPutSurface), (XvMCBeginSurface),
+ (XvMCSyncSurface), (XvMCLoadQMatrix), (XvMCCreateSubpicture),
+ (XvMCSetSubpicturePalette), (XvMCClearSubpicture),
+ (XvMCCompositeSubpicture), (XvMCBlendSubpicture2),
+ (XvMCSyncSubpicture), (XvMCDestroySubpicture), (XvMCFlushSurface),
+ (XvMCGetSurfaceStatus), (XvMCQueryAttributes), (XvMCSetAttribute),
+ (XvMCGetAttribute), (XvMCHideSurface):
+ * lib/XvMC/hw/via/viaXvMCPriv.h:
+ * lib/XvMC/hw/via/xf86dri.c: (uniDRIDestroyContext),
+ (uniDRICreateDrawable), (uniDRIDestroyDrawable),
+ (uniDRIGetDrawableInfo):
+ * lib/XvMC/hw/via/xf86dri.h:
+ * lib/XvMC/hw/via/xf86dristr.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.c:
+ (ViaInitXVMC), (ViaCleanupXVMC), (ViaXvMCCreateContext),
+ (ViaXvMCDestroyContext):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.h:
+ Restructure Via XvMC for multiple hardware drivers.
+ Make Via XvMC use the DRI protocol for efficient drawable handling,
+ overlay updates and initialization.
+
+2005-06-28 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c:
+ Bug #2447: Fix argument order to xf86DrvMsgVerb. (Luc Verhaegen)
+
+2005-06-28 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/input/acecad/acecad.c:
+ Bug #1565: Don't delete the driver twice. (St�hane VOLTZ)
+
+2005-06-28 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c
+ Add support to check the in-built VESA mode list.
+
+2005-06-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/etc/pci.ids:
+ * programs/Xserver/hw/xfree86/etc/extrapci.ids:
+ Update to latest snapshot (27-May-2005) from http://pciids.sf.net/
+
+2005-06-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/X11.tmpl:
+ Add LinkerRuntimeLibraryPathFlag to EXPATLIB, FONTCONFIGLIB & LIBPNGLIB
+
+2005-06-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * extras/fontconfig/*:
+ * lib/fontconfig/Imakefile:
+ * programs/fc-cache/Imakefile:
+ * programs/fc-cache/fc-cache.man:
+ * programs/fc-list/Imakefile:
+ * programs/fc-list/fc-list.man:
+ Update fontconfig from 2.2.2 to 2.3.2
+
+2005-06-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/Imake.tmpl:
+ Change HasLibpng default back to NO - unlike FreeType & Zlib,
+ if it's not present, we don't "build a potentially dangerous libpng",
+ but instead just skip the xcursorgen build.
+
+2005-06-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/include/Imakefile: Fix links to os.h & misc.h
+
+2005-06-27 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/include/Imakefile: Install os.h and misc.h
+
+2005-06-27 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/input/aiptek/xf86Aiptek.c:
+ * programs/Xserver/hw/xfree86/input/digitaledge/DigitalEdge.c:
+ * programs/Xserver/hw/xfree86/input/elographics/xf86Elo.c:
+ * programs/Xserver/hw/xfree86/input/fpit/xf86Fpit.c:
+ * programs/Xserver/hw/xfree86/input/hyperpen/xf86HyperPen.c:
+ * programs/Xserver/hw/xfree86/input/mutouch/xf86MuTouch.c:
+ * programs/Xserver/hw/xfree86/input/palmax/xf86Palmax.c:
+ * programs/Xserver/hw/xfree86/input/summa/xf86Summa.c:
+ * programs/Xserver/hw/xfree86/input/tek4957/xf86Tek4957.c:
+ * programs/Xserver/hw/xfree86/input/ur98/xf86Ur-98.c:
+ * programs/Xserver/hw/xfree86/input/void/void.c:
+ * programs/Xserver/hw/xfree86/input/wacom/xf86Wacom.c:
+ Various input drivers set their InputDriverRec to be static when
+ doing a loadable build, and the same symbol can't be both static
+ and _X_EXPORT. Pointed out by Alan Coopersmith.
+
+2005-06-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Set HasLibpng defaults correctly for various Solaris releases
+
+2005-06-25 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/atiadjust.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/aticonsole.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atifillin.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiscreen.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/ativalid.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/cirrus/alp_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/cirrus/lg_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/riva_driver.c:
+ Bug #3628: Fix video driver submodule visibility.
+
+2005-06-25 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xnest/Events.c:
+ * programs/Xserver/hw/xnest/Events.h:
+ * programs/Xserver/hw/xnest/Init.c:
+ * programs/Xserver/hw/xnest/Keyboard.c:
+ * programs/Xserver/hw/xnest/Keyboard.h:
+ * programs/Xserver/hw/xnest/Pointer.c:
+ * programs/Xserver/hw/xnest/Pointer.h:
+ Bug #3030: Fix Xnest keyboard state handling. (Mark McLoughlin)
+
+2005-06-25 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/apm/apm_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ark/ark_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/ati.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimisc.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimodule.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_misc.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_misc.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/theatre200_module.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/theatre_detect_module.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/theatre_module.c:
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/cirrus/alp_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/cirrus/cir_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/cirrus/lg_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/cyrix/cyrix_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/dummy/dummy_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:
+ * programs/Xserver/hw/xfree86/drivers/glide/glide_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/i2c/bt829_module.c:
+ * programs/Xserver/hw/xfree86/drivers/i2c/fi1236_module.c:
+ * programs/Xserver/hw/xfree86/drivers/i2c/msp3430_module.c:
+ * programs/Xserver/hw/xfree86/drivers/i2c/tda8425_module.c:
+ * programs/Xserver/hw/xfree86/drivers/i2c/tda9850_module.c:
+ * programs/Xserver/hw/xfree86/drivers/i2c/tda9885_module.c:
+ * programs/Xserver/hw/xfree86/drivers/i2c/uda1380_module.c:
+ * programs/Xserver/hw/xfree86/drivers/i740/i740_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_halmod.c:
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/newport/newport_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nsc/nsc_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/riva_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/rendition/rendition.c:
+ * programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sunbw2/bw2_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/suncg3/cg3_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/suncg6/cg6_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/suntcx/tcx_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/tga/tga_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/tseng/tseng_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/v4l/v4l.c:
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.c:
+ * programs/Xserver/hw/xfree86/drivers/vga/generic.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmware.c:
+ * programs/Xserver/hw/xfree86/drivers/voodoo/voodoo_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/wsfb/wsfb_driver.c:
+ * programs/Xserver/hw/xfree86/input/acecad/acecad.c:
+ * programs/Xserver/hw/xfree86/input/aiptek/xf86Aiptek.c:
+ * programs/Xserver/hw/xfree86/input/calcomp/xf86Calcomp.c:
+ * programs/Xserver/hw/xfree86/input/citron/citron.c:
+ * programs/Xserver/hw/xfree86/input/digitaledge/DigitalEdge.c:
+ * programs/Xserver/hw/xfree86/input/dmc/xf86DMC.c:
+ * programs/Xserver/hw/xfree86/input/dynapro/xf86Dyna.c:
+ * programs/Xserver/hw/xfree86/input/elo2300/elo.c:
+ * programs/Xserver/hw/xfree86/input/elographics/xf86Elo.c:
+ * programs/Xserver/hw/xfree86/input/evdev/evdev.c:
+ * programs/Xserver/hw/xfree86/input/fpit/xf86Fpit.c:
+ * programs/Xserver/hw/xfree86/input/hyperpen/xf86HyperPen.c:
+ * programs/Xserver/hw/xfree86/input/jamstudio/js_x.c:
+ * programs/Xserver/hw/xfree86/input/joystick/xf86Jstk.c:
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c:
+ * programs/Xserver/hw/xfree86/input/magellan/magellan.c:
+ * programs/Xserver/hw/xfree86/input/microtouch/microtouch.c:
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ * programs/Xserver/hw/xfree86/input/mutouch/xf86MuTouch.c:
+ * programs/Xserver/hw/xfree86/input/palmax/xf86Palmax.c:
+ * programs/Xserver/hw/xfree86/input/penmount/xf86PM.c:
+ * programs/Xserver/hw/xfree86/input/sample/sample.c:
+ * programs/Xserver/hw/xfree86/input/spaceorb/spaceorb.c:
+ * programs/Xserver/hw/xfree86/input/summa/xf86Summa.c:
+ * programs/Xserver/hw/xfree86/input/tek4957/xf86Tek4957.c:
+ * programs/Xserver/hw/xfree86/input/ur98/xf86Ur-98.c:
+ * programs/Xserver/hw/xfree86/input/void/void.c:
+ * programs/Xserver/hw/xfree86/input/wacom/xf86Wacom.c:
+ Bug #3626: _X_EXPORT tags for video and input drivers.
+
+2005-06-24 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Don't use installed fontconfig on Solaris 10, because it doesn't
+ install fcprivate.h which Xft1 needs.
+ Don't use installed Motif on Solaris, because it depends on Solaris
+ installed libX11.
+
+2005-06-24 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xft/AUTHORS:
+ * lib/Xft/COPYING:
+ * lib/Xft/ChangeLog:
+ * lib/Xft/Imakefile:
+ * lib/Xft/Makefile.am:
+ * lib/Xft/README:
+ * lib/Xft/Xft-def.cpp:
+ * lib/Xft/Xft.3.in:
+ * lib/Xft/Xft.h:
+ * lib/Xft/XftCompat.h:
+ * lib/Xft/autogen.sh:
+ * lib/Xft/configure.ac:
+ * lib/Xft/xft-config.1.in:
+ * lib/Xft/xftcolor.c:
+ * lib/Xft/xftcore.c:
+ * lib/Xft/xftdbg.c:
+ * lib/Xft/xftdpy.c:
+ * lib/Xft/xftdraw.c:
+ * lib/Xft/xftextent.c:
+ * lib/Xft/xftfont.c:
+ * lib/Xft/xftfreetype.c:
+ * lib/Xft/xftglyphs.c:
+ * lib/Xft/xftinit.c:
+ * lib/Xft/xftint.h:
+ * lib/Xft/xftlist.c:
+ * lib/Xft/xftname.c:
+ * lib/Xft/xftrender.c:
+ * lib/Xft/xftstr.c:
+ * lib/Xft/xftswap.c:
+ * lib/Xft/xftxlfd.c:
+ Sync with Xft from xlibs CVS (2.1.7 plus man page updates from
+ Branden Robinson) - see lib/Xft/ChangeLog for full details
+
+2005-06-24 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Fix HasExpat, HasZlib, and HasFontconfig as well for older Solaris
+ releases.
+
+2005-06-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Set HasFreetype2 to NO by default for older releases of Solaris.
+
+2005-06-23 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/os-support/bsd/drm/Imakefile:
+ Remove more traces of xf86drmCompat.c
+
+2005-06-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Fix LazyLoadFlag to work with Solaris 9 ld & Sun CC so
+ the XMonolith tinderbox stops being so red.
+
+2005-06-22 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig):
+ Add missing detection of the PCI ID for 0x5b62, Radeon X600
+ (Vladimir Kushnir).
+
+2005-06-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/xtrans/Xtranssock.c:
+ Add the rest of my patch from bugzilla #1605 to define INADDR_NONE
+ on platforms that don't define it in the system headers.
+
+2005-06-21 Kristian Høgsberg <krh@redhat.com>
+
+ * lib/xtrans/Xtranssock.c (TRANS(SocketINETConnect)): Apply patch
+ by Alan Coopersmith from #1605 to fix address resolution of
+ hostnames starting with a digit for 64 bit architechtures.
+
+Mon Jun 20 14:41:57 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/xkbui/XKBui.c: Cut and paste declaration of _XkbStrCaseCmp()
+ from XKBFileInt.h.
+
+2005-06-19 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/xdm/config/Imakefile:
+ * programs/xdm/config/Xreset:
+ * programs/xdm/config/Xstartup:
+ * programs/xdm/config/xdm-conf.cpp:
+ Bug #2959: Make sure displays other than :0 get entries in utmp when
+ started from xdm. (Tim Waugh)
+
+2005-06-18 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xhost/xhost.c:
+ Autotooling: Add #include "config.h" & use RETSIGTYPE if defined.
+
+Thu Jun 16 18:12:30 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/font/Type1/t1io.c: Put back accidentally removed #include.
+
+2005-06-16 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/font/Speedo/: Change includes to be <X11/foo.h> instead of
+ "foo.h" in some places.
+
+2005-06-16 Thomas Hellstr� <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.c:
+ (ViaInitXVMC), (ViaXvMCCreateContext), (ViaXvMCCreateSurface),
+ (ViaXvMCCreateSubpicture):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.h:
+ Fix and enable Unichrome XvMC for AMD64
+
+2005-06-16 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/font/Type1/: Change includes to be <X11/foo.h> instead of
+ "foo.h" in some places.
+
+2005-06-15 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONScreenInit), (RADEONGetMergedFBOptions):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c:
+ (RADEONFindWidestTallestCommonMode),
+ (RADEONGenerateModeListFromLargestModes), (RADEONGenerateModeList),
+ (RADEONRecalcDefaultVirtualSize), (RADEONUpdateXineramaScreenInfo),
+ (RADEONXineramaExtensionInit), (RADEONMergePointerMoved),
+ (RADEONAdjustFrameMergedHelper):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.h:
+ Sync up radeon mergedfb with Thomas' recent sis mergedfb changes
+ - support for non-rectangular mergedfb desktops
+ - support for display offsets
+
+2005-06-15 Ian Romanick <idr@us.ibm.com>
+
+ * extras/drm/shared/mga_drm.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+
+ Temporary fixes until updated client-side code is in the X.org tree.
+ The first is a compile fix. The second makes OldDmaInit=true the
+ default. This is required because the X.org tree contains "new" DDX,
+ "new" DRM, and "old" client-side driver. This is the *only*
+ combination that does not work with OldDmaInit=false.
+
+2005-06-15 Ian Romanick <idr@us.ibm.com>
+
+ * extras/drm/*:
+ Re-import from DRM CVS.
+
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmCompat.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/Imakefile:
+ * config/cf/xorg.cf:
+ * config/cf/OpenBSD.cf:
+ * config/cf/xfree86.cf:
+
+ The routines in xf86drmCompat are no longer need, and haven't been
+ needed for at least a release. Eliminate the file.
+
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.man:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c:
+ (MGADRIBootstrapDMA), (MGADRIScreenInit), (MGADRIFinishScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+
+ Bug #3259: Update MGA DDX to use new features of MGA DRM
+ version 3.2 to enable DRI support on PCI cards. Backwards
+ compatability with older client-side drivers is enabled with
+ new Device section settings. See mga.man for details.
+
+ reviewed by: Eric Anholt
+
+2005-06-14 Thomas Hellstr� <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_vbe.c:
+ (ViaVbeSetRefresh), (ViaVbeSetMode):
+ via: Customized refresh for VBE modes. (VIA)
+
+2005-06-14 Thomas Hellstr� <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_bios.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_i2c.c:
+ (ViaI2C3GetBit), (ViaI2CBus3Init):
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (ViaModePrimary):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vt162x.c:
+ (VT162xPrintRegs), (VT162xSave), (VT162xRestore), (VT1621ModeCrtc),
+ (VT1622ModeCrtc), (ViaVT162xInit):
+ via: Unichrome Pro TV-out fixes.
+
+2005-06-14 Branden Robinson <branden@debian.org>
+
+ * config/cf/linux.cf:
+ Fix typo that I introduced on 2005-03-06.
+
+Mon Jun 13 18:17:06 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/oldX/*.c: Conditionally include config.h
+
+Mon Jun 13 17:51:00 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/xkbfile/*.c: Conditionally include config.h
+
+2005-06-13 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/xf86config/Cards:
+ Correct the CHIPSET lines for the 3dfx cards so the tdfx driver will
+ recognize them. I'm not sure if this file is supposed to be maintained
+ still, but I'd like to close FreeBSD ports/32121 which has been around
+ for far too long.
+
+2005-06-14 Daniel Stone <daniel@freedesktop.org>
+
+ * lib/Xcursor/cursor.c:
+ Bug #1043: Fix leak when creating animated cursors.
+
+2005-06-13 Lars Knoll <lars@trolltech.com>
+
+ * add the convolution filter from xserver to xorg
+
+2005-06-12 Adam Jackson <ajax@freedesktop.org>
+
+ * include/Xfuncproto.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.h:
+ Bug #3528: Add _X_DEPRECATED tag.
+
+2005-06-12 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xnest/Events.c:
+ Bug #3513: Silence unhandled event messages from Xnest when running
+ with -parent. (Mark McLoughlin)
+
+2005-06-12 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_priv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ (viaOverlayGetV1V3Format), (viaOverlayGetSrcStartAddress),
+ (viaOverlayGetFetch), (ViaSwovSurfaceCreate),
+ (ViaSwovSurfaceDestroy), (Upd_Video), (VIAVidUpdateOverlay),
+ (ViaOverlayHide):
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c: (Flip),
+ (viaPutImage), (viaQueryImageAttributes):
+ Add Unichrome Pro Group A YUY2 Xv support. (Ivor Hewitt)
+ Add Via Xv RV15, RV16 image-format support.
+
+2005-06-12 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c:
+ (VIASetAgpMode), (VIADRIAgpInit):
+ Add more elaborate AGP mode setting for the via driver.
+
+2005-06-12 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ (viaWaitHQVFlip), (viaWaitHQVDone), (viaOverlayHQVCalcZoomWidth),
+ (viaOverlayHQVCalcZoomHeight), (viaCalculateVideoColor),
+ (viaSetColorSpace), (ViaInitVideoStatusFlag), (ViaSetVidCtl),
+ (AddHQVSurface), (ViaSwovSurfaceCreate), (SetFIFO_V3_64or32or32),
+ (SetFIFO_V3_64or32or16), (SetColorKey), (SetChromaKey),
+ (SetHQVFetch), (Upd_Video), (VIAVidUpdateOverlay),
+ (ViaOverlayHide):
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c:
+ (DecideOverlaySupport), (viaInitVideo), (viaSetupAdaptors), (Flip),
+ (nv12cp), (viaPutImage):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvpriv.h:
+ Preliminary YV12 Xv support for Unichrome Pro Group A
+ (PM800, CN400 and friends).
+ (Ivor Hewitt and myself)
+
+2005-06-09 Daniel Stone <daniel@freedesktop.org>
+
+ * lib/ICE/ICEutil.h:
+ Remove pointless inclusion of Xlib.h.
+
+ * lib/X11/OpenDis.c:
+ Fix bigreqstr.h inclusion.
+
+ * lib/Xrandr/Xrandr.c:
+ Bug #1976: Call XRRFindDisplay before we take the global lock, so we
+ don't get ruined by XextAddDisplay when running with threads.
+
+2005-06-09 Adam Jackson <ajax@freedesktop.org>
+
+ * include/extensions/shape.h
+ * include/extensions/shapestr.h
+ * lib/X11/CrWindow.c
+ * programs/Xserver/Xext/shape.c
+ * programs/Xserver/dix/dispatch.c
+ * programs/Xserver/dix/events.c
+ * programs/Xserver/dix/window.c
+ * programs/Xserver/include/windowstr.h
+ * programs/Xserver/xfixes/region.c
+ Bug #2799: Input shape. (Keith Packard)
+
+2005-06-09 Alexander Gottwald <ago@freedesktop.org>
+
+ * xc/programs/xrx/helper/GetUrl.c:
+ * xc/programs/lbxproxy/include/os.h:
+ * xc/programs/lbxproxy/os/connection.c:
+ * xc/programs/lbxproxy/os/io.c:
+ * xc/programs/xfs/os/config.c:
+ * xc/programs/xfs/os/connection.c:
+ * xc/programs/xfs/os/io.c:
+ * xc/programs/xfs/os/osglue.c:
+ * xc/lib/FS/FSOpenServ.c:
+ * xc/lib/FS/FSlibos.h:
+ * xc/lib/ICE/accept.c:
+ * xc/lib/ICE/connect.c:
+ * xc/lib/ICE/listen.c:
+ * xc/lib/ICE/listenwk.c:
+ * xc/lib/ICE/misc.c:
+ * xc/lib/ICE/shutdown.c:
+ * xc/lib/SM/sm_manager.c:
+ * xc/lib/X11/ClDisplay.c:
+ * xc/lib/X11/ConnDis.c:
+ * xc/lib/X11/OpenDis.c:
+ * xc/lib/X11/XlibInt.c:
+ * xc/lib/X11/imTrans.c:
+ * xc/lib/font/fc/fsconvert.c:
+ * xc/lib/font/fc/fserve.c:
+ * xc/lib/font/fc/fsio.c:
+ * xc/lib/font/fc/fslibos.h:
+ Replace <X11/Xtrans.h> with <X11/Xtrans/Xtrans.h>
+ * xc/lib/xtrans/Imakefile:
+ Copy Xtrans.h to exports/include/X11/Xtrans only
+
+2005-06-09 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_dri.c
+ Bug #3496 <https://bugs.freedesktop.org/show_bug.cgi?id=3496>
+ Remove a bogus check for DRM 1.2 for resume functionality as it's
+ been present since 1.1
+
+2005-06-08 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/sunos/agpgart.h:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_agp.c:
+ Add agpgart support for Solaris x86/x64. [Requires
+ Solaris "Nevada" build 16 or later to get kernel side for now.]
+ (Sophia Li - Sun Microsystems)
+
+2005-06-08 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Add HasWeakSymbols & MotifDir defines to fix libGLw build on Solaris.
+
+2005-06-08 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/miext/damage/damage.c:
+ Bug #2469: More accurate damage reports. (Jonathan Lennox)
+
+2005-06-08 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/Xext/panoramiX.c:
+ * programs/Xserver/os/utils.c:
+ Bug #1846: Add intentionally undocumented -disablexineramaextension
+ flag to the server to work around ignorant clients on large display
+ walls. (Kevin E. Martin)
+
+2005-06-08 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xnest/Display.c:
+ * programs/Xserver/hw/xnest/Display.h:
+ Bug #1880: Remove unused xnestConfineWindow. (Mark McLoughlin)
+
+2005-06-08 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/fb/fbpict.h:
+ Bug #3434: Don't define fbAddTraps twice. (Mike A. Harris)
+
+2005-06-08 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/Xrandr/Xrandr.c: Conditionally include config.h
+
+2005-06-08 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c
+ Fix the mode validation such that using function 5f05 to set
+ the refresh rate works again.
+
+2005-06-07 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Fix text restoration when display switching has been activated
+ and we could be potentially on a different display than the
+ initial one.
+
+2005-06-04 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_video.c
+ Bug #3054 <https://bugs.freedesktop.org/show_bug.cgi?id=3054>
+ Fix some offset, pitch and overlay scaler size problems with
+ the video overlay. Solves various spontaneous lockups.
+
+2005-06-04 Alan Coopersmith <alan.coopersmith@sun.com>
+ * lib/X11/ConnDis.c (GetAuthorization):
+ Bug #3436 <https://bugs.freedesktop.org/show_bug.cgi?id=3436>
+ Conndis.c uses incorrect type for args to XdmcpWrap()
+ (Mike Harris - mharris@www.linux.org.uk)
+
+2005-06-04 Alan Coopersmith <alan.coopersmith@sun.com>
+ * programs/Xserver/hw/xfree86/drivers/ati/ativga.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c:
+ Sync with 6.8.2 branch:
+ Bug #591 (https://bugs.freedesktop.org/show_bug.cgi?id=591)
+ attachment #308 (https://bugs.freedesktop.org/attachment.cgi?id=308):
+ Fix video timing problems with Sony PCG-C1VN Vaio Picturebook notebook
+ && co.
+ Patch by Marc Aurele La France
+
+2005-06-04 Alan Coopersmith <alan.coopersmith@sun.com>
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c (RADEONValidateFPModes):
+ Sync with 6.8.2 branch:
+ Bugzilla #1306 (https://bugs.freedesktop.org/show_bug.cgi?id=1306)
+ attachment #1291 (https://bugs.freedesktop.org/attachment.cgi?id=1291):
+ Fix SEGV in "radeon" driver.
+ Patch by Kevin E. Martin <kem@freedesktop.org>
+
+2005-06-04 Alan Coopersmith <alan.coopersmith@sun.com>
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_tcl.c
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_swtcl.c
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_tcl.c
+ Sync with 6.8.2 branch:
+ Bugzilla #2110 (https://bugs.freedesktop.org/show_bug.cgi?id=2110)
+ attachment #1569 (https://bugs.freedesktop.org/attachment.cgi?id=1569):
+ Fix build bustage in MESA/DRI code with gcc 2.96.
+ Patch by Kevin E. Martin <kem@freedesktop.org>
+
+2005-06-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_mouse.c:
+ Need to set initial screen size at device open time too.
+
+2005-06-01 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_mouse.c:
+ Solaris VUID mouse protocol updates:
+ - support for mouse-like devices that report absolute coordinates
+ - support for mouse-like devices that need to know screen size so
+ they can scale absolute coordinates to screen size
+ - fix 3-button emulation
+
+2005-05-30 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_memory.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_cursor.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_video.c
+ * programs/Xserver/hw/xfree86/drivers/i810/common.h
+ Add Intel(R) 945G support
+
+2005-05-30 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/loader/dixsym.c:
+ Bug #3368: Cosmetic cleanup to DIX export list.
+
+2005-05-30 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/XTrap/XEWrappers.c:
+ * programs/Xserver/GL/glx/glxext.c:
+ * programs/Xserver/GL/glx/glxscreens.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxext.c:
+ Bug #3407: Clean out ancient #ifdef X11R5 conditionals.
+
+2005-05-29 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/specs/programs/Imakefile (XFREE86_MANUALS):
+ Bugzilla Bug 3385 <https://bugs.freedesktop.org/show_bug.cgi?id=3385>
+ Patch #2758 <https://bugs.freedesktop.org/attachment.cgi?id=2758>
+ Fix xc/programs/Xserver/hw/xfree86/doc/man/Imakefile broken man page
+ installation due to Xxf86misc & Xxf86vm man page move to lib dirs.
+ (Donnie Berkholz)
+
+2005-05-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * xc/include/fonts/Imakefile:
+ Link more files to exports/ to fix the monolithic tree build.
+
+2005-05-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ Change hardcoded /usr/X11R6 to PROJECTROOT. Change hardcoded
+ XF86Config to XCONFIGFILE.
+
+2005-05-27 Josh Triplett <josh@freedesktop.org>
+
+ * xc/lib/font/FreeType/ftenc.c:
+ * xc/lib/font/FreeType/ftfuncs.c:
+ * xc/lib/font/FreeType/fttools.c:
+ * xc/lib/font/bitmap/bdfutils.c:
+ * xc/lib/font/builtins/builtin.h:
+ * xc/lib/font/fc/fsconvert.c:
+ * xc/lib/font/fc/fserve.c:
+ * xc/lib/font/fc/fsio.c:
+ * xc/lib/font/fontcache/fontcache.h:
+ * xc/lib/font/include/fntfilst.h:
+ * xc/lib/font/include/fontutil.h:
+ * xc/lib/font/include/fontxlfd.h:
+ * xc/lib/font/stubs/stubs.h:
+ * xc/lib/font/util/fontaccel.c:
+ * xc/lib/font/util/fontnames.c:
+ * xc/lib/font/util/fontutil.c:
+ * xc/lib/font/util/fontxlfd.c:
+ * xc/lib/font/util/format.c:
+ * xc/lib/font/util/patcache.c:
+ * xc/lib/font/util/private.c:
+ Reference X11/fonts header files using X11/fonts/ prefix.
+
+Wed May 25 17:41:00 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/FS/*.c: Conditionally include config.h
+ * lib/FS/FSlibint.h: Remove redundant include of FSproto.h
+
+2005-05-25 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c
+ Change the sequence on how refresh rates are set in the
+ i830 driver. This works much better with custom modelines.
+
+2005-05-25 Luc Verhaegen <libv@skynet.be>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c: (VIAProbe),
+ (VIAPreInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.c:
+ (ViaCheckCardId):
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.h:
+ Fix up some leftover strings pointing to unichrome.sf.net.
+
+2005-05-24 Alexander Gottwald <ago at freedesktop dot org>
+
+ * config/util/makestrs.c:
+ * config/util/makestrs.man:
+ Make source directory for templates configurable
+
+2005-05-23 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xdm/chooser.c:
+ * programs/xdm/Chooser.ad:
+ Bugzilla #2165 <https://bugs.freedesktop.org/show_bug.cgi?id=2165>
+ Patches #1599 & 2754
+ XDM Chooser enhancements: scrollwheel, no mouse (Thomas Reifferscheid)
+
+2005-05-23 Søren Sandmann <sandmann@redhat.com>
+
+ * xc/lib/Xaw/*.c: Conditionally include config.h
+
+2005-05-23 Thomas Hellstrom <unichrome-at-shipmail-dot-org>
+
+ * lib/XvMC/hw/via/viaLowLevel.c: (hwlLock), (hwlUnlock),
+ (timeDiff), (setAGPSyncLowLevel), (viaDMATimeStampLowLevel),
+ (viaDMAWaitTimeStamp), (viaDMAInitTimeStamp),
+ (viaDMACleanupTimeStamp), (viaMpegGetStatus), (viaMpegIsBusy),
+ (syncDMA), (syncVideo), (syncAccel), (syncMpeg), (pciFlush),
+ (agpFlush), (flushXvMCLowLevel), (flushPCIXvMCLowLevel),
+ (viaMpegSetSurfaceStride), (viaVideoSetSWFLipLocked),
+ (viaVideoSWFlipLocked), (viaMpegSetFB), (viaMpegBeginPicture),
+ (viaMpegReset), (viaMpegWriteSlice), (viaVideoSubPictureOffLocked),
+ (viaVideoSubPictureLocked), (viaBlit), (syncXvMCLowLevel),
+ (initXvMCLowLevel), (setLowLevelLocking), (closeXvMCLowLevel):
+ * lib/XvMC/hw/via/viaLowLevel.h:
+ * lib/XvMC/hw/via/viaXvMC.c: (releaseDecoder), (grabDecoder),
+ (releaseContextResources), (XvMCCreateContext),
+ (XvMCDestroyContext), (XvMCCreateSurface), (XvMCPutSlice2),
+ (XvMCPutSlice), (updateXVOverlay), (XvMCPutSurface),
+ (XvMCBeginSurface), (XvMCSyncSurface), (XvMCCreateSubpicture),
+ (XvMCSetSubpicturePalette), (XvMCClearSubpicture),
+ (XvMCCompositeSubpicture), (XvMCBlendSubpicture2),
+ (XvMCSyncSubpicture), (XvMCDestroySubpicture), (XvMCFlushSurface),
+ (XvMCHideSurface):
+ * lib/XvMC/hw/via/viaXvMCPriv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/via/via.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via.man:
+ * programs/Xserver/hw/xfree86/drivers/via/via_accel.c:
+ (dispatchCBufferAGP):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bandwidth.c:
+ (ViaSetPrimaryFIFO), (ViaSetSecondaryFIFO):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bios.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_bios.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_common.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_cursor.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_dga.c:
+ (VIADGASetMode), (VIADGASetViewport):
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c:
+ (VIADRIRingBufferCleanup), (VIADRIRingBufferInit), (VIADRIAgpInit),
+ (VIADRIFBInit), (VIADRIScreenInit), (VIADRICloseScreen),
+ (VIADRIKernelInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ (VIAGetRec), (VIAProbe), (kickVblank), (VIAPreInit), (VIAEnterVT),
+ (VIALeaveVT), (VIAMapFB), (VIAScreenInit), (VIAWriteMode),
+ (VIACloseScreen), (VIAAdjustFrame), (VIASwitchMode), (VIADPMS),
+ (VIAInitialize3DEngine):
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_drm.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_drmclient.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_i2c.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_memcpy.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_memcpy.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_memory.c:
+ (VIAFreeLinear), (VIAAllocLinear):
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (ViaTVDetect), (ViaTVInit), (ViaTVSetMode), (ViaTVPrintRegs),
+ (ViaTVModeValid), (ViaOutputsDetect), (ViaOutputsSelect),
+ (VIAGetPanelSize), (ViaPanelGetIndex), (ViaModesAttachHelper),
+ (ViaModesAttach), (ViaGetMemoryBandwidth),
+ (ViaModePrimaryVGAValid), (ViaModeSecondaryVGAValid),
+ (ViaValidMode), (ViaSetUseExternalClock), (ViaSetPrimaryDotclock),
+ (ViaSetSecondaryDotclock), (VIASetLCDMode), (ViaModePrimaryVGA),
+ (ViaModeDotClockTranslate), (ViaModePrimary),
+ (ViaModeSecondaryVGA), (ViaModeSecondary):
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_overlay.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_overlay.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_priv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_regrec.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_regrec.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_shadow.c:
+ (ViaShadowFBInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ (viaWaitHQVIdle), (viaWaitVideoCommandFire), (viaWaitHQVFlip),
+ (viaWaitHQVFlipClear), (viaWaitVBI), (viaWaitHQVDone),
+ (FlushVidRegBuffer), (ResetVidRegBuffer), (SaveVideoRegister),
+ (viaOverlayGetV1V3Format), (viaOverlayGetSrcStartAddress),
+ (viaOverlayGetYCbCrStartAddress), (viaOverlayHQVCalcZoomWidth),
+ (viaOverlayHQVCalcZoomHeight), (viaOverlayGetFetch),
+ (rangeEqualize), (vPackFloat), (viaCalculateVideoColor),
+ (viaSetColorSpace), (ViaInitVideoStatusFlag), (ViaSetVidCtl),
+ (AddHQVSurface), (CreateSurface), (ViaSwovSurfaceCreate),
+ (ViaSwovSurfaceDestroy), (SetFIFO_V3_64or32or32),
+ (SetFIFO_V3_64or32or16), (SetupFIFOs), (SetChromaKey),
+ (SetDisplayCount), (SetVideoWindow), (Upd_Video),
+ (VIAVidUpdateOverlay), (ViaOverlayHide):
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_vbe.c:
+ (ViaVbeAdjustFrame), (ViaVbeSetMode), (ViaVbeSaveRestore),
+ (ViaVbeModePreInit), (ViaVbePanelPower), (ViaVbePanelLowPower),
+ (ViaVbeDoDPMS), (ViaVbeDPMS):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vgahw.c:
+ (ViaVgahwPrint):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vgahw.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c:
+ (DecideOverlaySupport), (viaResetVideo), (viaExitVideo),
+ (viaInitVideo), (viaSetupAdaptors), (viaStopVideo),
+ (viaSetPortAttribute), (viaGetPortAttribute), (viaQueryBestSize),
+ (Flip), (viaPutImage), (viaQueryImageAttributes),
+ (VIAVidAdjustFrame):
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_vt162x.c:
+ (VT162xPrintRegs), (ViaVT162xDetect), (VT162xSave),
+ (VT162xRestore), (VT162xDACSenseI2C), (VT1621DACSense),
+ (VT1622DACSense), (VT1621ModeIndex), (VT1621ModeValid),
+ (VT1622ModeIndex), (VT1622ModeValid), (VT162xSetSubCarrier),
+ (VT1621ModeI2C), (VT1621ModeCrtc), (VT1622ModeI2C),
+ (VT1622ModeCrtc), (VT1621Power), (VT1622Power), (ViaVT162xInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vt162x.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.c:
+ (cleanupViaXvMC), (ViaInitXVMC), (ViaCleanupXVMC),
+ (ViaXvMCCreateContext), (ViaXvMCCreateSurface),
+ (ViaXvMCCreateSubpicture), (ViaXvMCDestroySurface),
+ (viaXvMCInitXv), (viaXvMCInterceptXvAttribute),
+ (viaXvMCInterceptXvGetAttribute), (viaXvMCDisplayAttributes),
+ (viaXvMCInterceptPutImage), (viaXvMCPutImageSize):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvpriv.h:
+
+ Sync with Unichrome CVS 2005-05-20. Highlights:
+ - Extensive output, Xv and XvMC cleanups.
+ - More general mode support, with a discrete set of dotclocks.
+ - TV-out noscale / overscan modeline support.
+ - DRI and Xv bugfixes.
+ - VBE modes for unsupported chipsets and hardware configurations.
+ - Initial Unichrome Pro mode support.
+ - K8M/N800 Xv and XvMC support.
+ - Increased pipelining in the XvMC client library using AGP DMA.
+
+ (Luc Verhaegen, Thomas Hellström, Terry Barnaby)
+ For detailed changelog, see http://unichrome.sourceforge.net.
+
+ Remove the old MTRR setup failure hack.
+ Make VBEModes option visible even when DEBUG is not defined.
+ Update dotclock table with tested Unichrome Pro dotclocks.
+ Disable XvMC on 64-bit architectures.
+ Patch #1172117 from the Unichrome site tracker.
+
+ (Thomas Hellström)
+
+2005-05-23 Adam Jackson <ajax@freedesktop.org>
+
+ * include/Xfuncproto.h:
+ Bug #3360: Add _X_EXPORT, _X_HIDDEN, and _X_INTERNAL visibility tags.
+
+2005-05-23 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONCloseScreen), (RADEONDisplayPowerManagementSet):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_macros.h:
+ Explicitely disable DPMS power states during close screen.
+ Fix macro that takes a value and a mask of bits to modify
+ to be behave evquvalently if the bits that should remain unchanged
+ are set or unset in the value (Bugzilla #3369).
+
+2005-05-21 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xmu/CvtStdSel.c:
+ Move #ifdef HAVE_CONFIG_H outside of #ifdef SYSVNET
+
+2005-05-21 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * include/extensions/Xevie.h:
+ * include/extensions/Xeviestr.h:
+ * lib/Xevie/Xevie.c:
+ Move request id definitions to Xeviestr.h, leaving Xevie.h for
+ client library definitions and Xeviestr.h for protocol definitions
+ to allow cleaner split in modularization.
+
+2005-05-21 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/dix/devices.c:
+ * programs/Xserver/hw/xfree86/loader/dixsym.c:
+ * programs/Xserver/dix/privates.c:
+ * programs/Xserver/dix/main.c:
+ * programs/Xserver/dix/events.c:
+ * programs/Xserver/Xext/xevie.c:
+ * include/extensions/XKBsrv.h:
+ * programs/Xserver/xkb/xkbActions.c:
+
+ Bugzilla #2800 <https://bugs.freedesktop.org/show_bug.cgi?id=2800>
+ Xevie extension crash with signal 11 on keyboard
+ Bugzilla #1205 <https://bugs.freedesktop.org/show_bug.cgi?id=1205>
+ Xevie client receives two KeyPress events on consumed keys when
+ XKB is enabled
+
+ Patch #2223 <https://bugs.freedesktop.org/attachment.cgi?id=2223>
+ Fixes for both of these and some other Xevie bugs
+ (Derek Wang - Sun Microsystems)
+
+2005-05-21 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/Imake.cf:
+ * config/cf/sun.cf:
+ * config/cf/svr4.cf:
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.h:
+ * programs/Xserver/hw/xfree86/os-support/sunos/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/sunos/solaris-amd64.S:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_kbdEv.c:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_mouse.c:
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_vid.c:
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ * programs/Xserver/include/servermd.h:
+ * programs/Xserver/mi/micoord.h:
+
+ Initial experimental support for AMD64 builds on Solaris 10 x86.
+ Improved support for 64-bit SPARC builds on Solaris as well.
+ (Andy Bowers, Andy Burrows, & Alan Coopersmith - Sun Microsystems)
+
+2005-05-20 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.c:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dri.c:
+ Bug #3346: Don't include DRI-internal headers from the drivers.
+ Pointed out by Kevin Martin.
+
+2005-05-20 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/Imakefile
+ * programs/Xserver/hw/xfree86/drivers/i810/common.h
+ * programs/Xserver/hw/xfree86/drivers/i810/i810.man
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830.h
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Bugzilla #3292: https://bugs.freedesktop.org/show_bug.cgi?id=3292
+ Add shadowFB support to the Intel driver (Dima Dorfman)
+
+2005-05-20 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830.h
+ Bugzilla #2339: https://bugs.freedesktop.org/show_bug.cgi?id=2339
+ Bugzilla #1064: https://bugs.freedesktop.org/show_bug.cgi?id=1064
+ Bugzilla #3055: https://bugs.freedesktop.org/show_bug.cgi?id=3055
+ Much better display switching support for mobile chipsets using
+ the Fn+F? combination keys.
+ Add DirectColor support.
+ Add gamma correction support.
+
+2005-05-20 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ * programs/Xserver/hw/xfree86/drivers/i810/common.h
+ Bugzilla #2585: https://bugs.freedesktop.org/show_bug.cgi?id=2585
+ Support the Intel E7221 server chipset.
+
+2005-05-19 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/Amoeba.cf:
+ * config/cf/WinLib.tmpl:
+ * config/cf/bsdi.cf:
+ * config/cf/bsdiLib.tmpl:
+ * config/cf/cray.cf:
+ * config/cf/cygwin.rules:
+ * config/cf/cygwin.tmpl:
+ * config/cf/dmx.cf:
+ * config/cf/gnuLib.tmpl:
+ * config/cf/hp.cf:
+ * config/cf/hpLib.tmpl:
+ * config/cf/ibmLib.tmpl:
+ * config/cf/luna.cf:
+ * config/cf/lynx.cf:
+ * config/cf/macII.cf:
+ * config/cf/mingw.rules:
+ * config/cf/mingw.tmpl:
+ * config/cf/os2def.db:
+ * config/cf/osf1.cf:
+ * config/cf/osfLib.tmpl:
+ * config/cf/sco5.cf:
+ * config/cf/sequent.cf:
+ * config/cf/sgi.cf:
+ * config/cf/sony.cf:
+ * config/cf/sun.cf:
+ * config/cf/sunLib.tmpl:
+ * config/cf/ultrix.cf:
+ * programs/Xserver/hw/xfree86/loader/dixsym.c:
+ * programs/Xserver/include/globals.h:
+ * programs/Xserver/mi/miinitext.c:
+ * programs/Xserver/os/utils.c:
+ * programs/xdpyinfo/Imakefile:
+ Bug #3334: Clean up remnants from the PEX, XIE, and BEZIER extensions.
+
+Thu May 19 10:57:32 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * xc/extras/Xpm/lib/*.c: Conditionally include config.h.
+
+Thu May 19 10:36:54 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/cxpm/Imakefile (INCLUDES): Add "../lib" to INCLUDES.
+
+ * programs/cxpm/cxpm.c: Replace #include "../lib/foo" with
+ #include "foo".
+
+2005-05-18 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageInitAccel):
+ Disable ScreentoScreenCopy on crtc2 at depth 24. Fixes
+ screen corruption.
+
+Wed May 18 21:20:35 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.c (fbCompositeSrc_8888x8x8888mmx):
+ s/dst/src that I missed in the previous patch. Pointed out by
+ Owen Taylor.
+
+Wed May 18 16:47:44 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.c (fbCompositeSrc_8888x8x8888mmx):
+ Actually assign the computed results. (Reported by Michael
+ Dänzer, patch by Owen Taylor).
+
+Wed May 18 16:26:20 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/Xp/*.c: Conditionally include config.h
+
+2005-05-18 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/GL/dri/dri.c:
+ * programs/Xserver/GL/dri/dri.h:
+ Bug #3066: Promote frameBufferPhysicalAddress to pointer from CARD32;
+ bump DRIINFO version to match. Fix various pointer printfs in libdri
+ to be 64-bit aware. Silence a warning about redefining
+ noXFree86DRIExtension. (Jesse Barnes)
+
+Wed May 18 15:04:23 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/Xmu/*.c: Conditionally include config.h
+
+Wed May 18 14:42:45 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/Xext/*.c: Conditionally include config.h
+
+ * lib/Xext/XShm.c: Remove unnecessary include of ImUtil.h
+
+ * Xt/*.c: Conditionally include config.h
+
+2005-05-18 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/GL/dri/dri.c:
+ * programs/Xserver/GL/dri/dri.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atidri.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c:
+ Bug #3163: Create new DRIINFO_*_VERSION macros to indicate the
+ version number of the DRIInfoRec, disambiguating it from the XF86DRI
+ protocol version number. Modify DRIQueryVersion to return the libdri
+ version number, which all DDXes were requesting implicitly. Fix the
+ DDXes to check for the DRIINFO version they were compiled against.
+
+2005-05-18 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/vbe/vbe.c: (VBESetVBEMode):
+ VBESetVBEMode() calls int10 0x4f02 to set a VBE video mode. This
+ can be a standard mode solely determined by the mode ID or it may
+ be a detailed mode with almost arbitrary mode parameters. The mode
+ parameters are passed to the BIOS in a memory area pointed to by
+ es:di. If bit 11 in the video mode is set this memory area is
+ evaluated.
+ When we don't have such an area (passed to VBESetVBEMode() this
+ function should unset this bit for sanity reasons.
+ (Bugzilla #3329)
+
+2005-05-18 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c: (configMonitor):
+ Avoid segfaults if the number of user supplied monitor ranges
+ exceed the number of preallocated slots. We should really make this
+ dynamic - but I don't think this ever caused a problem so it's
+ more or less academic.
+ * programs/Xserver/hw/xfree86/common/xf86Mode.c: (ModeHSync),
+ (ModeVRefresh), (xf86SetModeCrtc), (xf86CheckModeForMonitor),
+ (xf86InitialCheckModeForDriver), (xf86ValidateModes),
+ (xf86PrintModes):
+ A. Avoid that *SyncStart starts before *BlankStart. If *BlankStart >
+ *SyncStart it is made = *SyncStart and its width is made maximal
+ but such that the blank does not exceed *Total. Since the Sync
+ width has the same restrictions as the Blank width monitors
+ should still be able to clamp after the sync pulse.
+ B. Over time mode validation has become inconsistent when people
+ started to add additional features to the mode validation. One
+ such feature is that the mode->Crtc* values have been (ab)used
+ to allow the driver ValidMode() function to pass driver
+ normalized timing values back to the validation function.
+ The introduction of these features made the code less readable
+ and created numerous possibly unintended side effects in the
+ validation semantics.
+ I've attempted to consolidate these changes making the code
+ more consistent and eliminating a number of side effects.
+ This should not cause problems for the majority of drivers,
+ still it should receive testing - especially with ATi Mach64
+ and Radeon code.
+ (Bugzilla #3325).
+
+Tue May 17 17:24:09 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/SM/*.c: Conditionally include config.h
+
+2005-05-17 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_cursor.c:
+ (SavageHWCursorInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ Set the hardware to 8bit CLUT mode in 8 bpp. We used to flag an
+ 8 bit DAC to DDX but did not make sure it actually was running
+ in 8 bit mode.
+ On Savage4 the HW cursor doesn't seem to be truecolor in 8bpp
+ - not even with the streams engine running.
+ Fix SavageProbeDDC() to load vbe module and initialize it before
+ using it (Bugzilla #3309).
+
+2005-05-17 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * include/Xfuncproto.h:
+ * lib/X11/Xlib.h:
+ * lib/Xt/Intrinsic.h:
+ * lib/Xt/IntrinsicI.h:
+
+ gcc4 allows to check if sentinels are correct (a sentinel is the
+ terminating element in a varargs list). A sentinel needs to be
+ NULL, not 0 - which doesn't make a difference on 32bit but
+ matters on 64bit.
+ Furthermore it can be told that functions have a printf-like
+ format string and argument list so that they can verify that
+ both match.
+ To use these features certain attributes need to be set - which
+ are compiler specific. To do this we define macros which are
+ expanded depending on the compiler version.
+ For now we put those in include/Xfuncproto.h (the XFree86 DDX
+ layer contains a file compiler.h which however is not visible
+ outside the DDX) (Bugzilla #3268).
+
+
+2005-05-15 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/makedepend/main.c:
+ * config/util/makestrs.c:
+ [Modularization/autotooling project]
+ Add support for building with autoconf #ifdefs if present.
+ #include "makedepend-config.h" if HAVE_CONFIG_H is defined.
+
+2005-05-15 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sun.cf:
+ Add settings to bring Solaris builds closer to the ones Sun
+ packages in Solaris. Adds "BuildLikeSun" options for areas
+ Sun deviates from the way Xorg is packaged on other platforms.
+ See comment in sun.cf for details.
+ Also, use system-provided Expat on Solaris 10 and other cleanups.
+ * config/cf/sunLib.tmpl:
+ Set shared library versions for Solaris builds to match versions
+ used in Solaris. Add missing SharedXfixesReqs and SharedXdamageReqs.
+ * config/util/makestrs.c:
+ Add -solarisabi option to create XtStrings code compatibile with
+ existing Solaris binaries. (Off by default, on if "BuildLikeSun"
+ is set in sun.cf)
+
+2005-05-15 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c:
+ (mtrr_remove_offending):
+ Bug #2750: Prevent mtrr_remove_offending from ending up in an
+ endless loop if an offending mtrr region refuses to be removed
+
+2005-05-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/fb/fbcompose.c:
+ Change return statements to fix compiler errors:
+ "fbcompose.c", line 2815: void function cannot return value
+ "fbcompose.c", line 2861: void function cannot return value
+
+2005-05-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xxf86vm/Imakefile:
+ * lib/Xxf86vm/XF86VM.man:
+ * lib/Xxf86misc/Imakefile:
+ * lib/Xxf86misc/XF86Misc.man:
+ * programs/Xserver/hw/xfree86/doc/Imakefile:
+ * programs/Xserver/hw/xfree86/doc/man/Imakefile:
+ Move man pages for libXxf86vm & libXxf86misc to the directory for
+ the libraries.
+
+Fri May 13 18:35:12 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/X11/*.c: Conditionally include config.h
+
+Thu May 12 12:24:16 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/Xdmcp/*.c: Conditionally include config.h
+
+Wed May 11 17:00:59 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * lib/Xau/*.c: Conditionally include config.h
+
+2005-05-10 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/linux.cf:
+ * programs/Xserver/hw/xfree86/input/evdev/evdev.c:
+ Bug #968: Grab the event device used by the evdev driver to avoid
+ weird issues when input goes to multiple places. Restrict building
+ the evdev driver to 2.6 kernels since EVIOCGRAB didn't exist in 2.4.
+
+2005-05-09 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c: (PostKbdEvent):
+ * programs/Xserver/hw/xfree86/os-support/shared/at_scancode.c:
+ (ATScancode):
+ Bugzilla #2561: Disable some keycode translations on PC98, which had
+ various bad effects including modifier keys not working.
+
+2005-05-09 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c:
+ Bugzilla #2429: Correct the sysarch prototype for FreeBSD/alpha.
+
+2005-05-09 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.man:
+ Bugzilla #2389: Document the maximum number of buttons a mouse can have.
+ Correct a missing period I noticed while I was here.
+
+2005-05-09 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h:
+ Increase the maximum number of buttons from 12 to 24. Helps with
+ button-happy mice like the Logitech MediaPlay.
+ (Bugzilla #2390)
+
+2005-05-09 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.c: (VESAPreInit),
+ (VESASwitchMode), (VESASetMode):
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.h:
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.man:
+ VBE Set Mode (0x02) to not clear the screen causes problems
+ on some BIOSes. This fix adds an option to disable it
+ (Bugzilla #3246).
+
+2005-05-09 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.c: (VESASetMode):
+ Setting the DAC Palette format with VBE function 0x08 causes
+ problems on some BIOSes when depth > 8.
+ The attached patch avoids this setting (Bugzilla #3247).
+
+2005-05-08 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/fb/fbcompose.c:
+ * programs/Xserver/fb/fbpict.c:
+ * programs/Xserver/fb/fbpict.h:
+ * programs/Xserver/render/picture.h:
+ Render performance improvements. (Lars Knoll, Zack Rusin)
+
+2005-05-08 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/README.dps
+ * programs/Xserver/hw/xfree86/doc/RELNOTES
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml
+ * programs/Xserver/hw/xfree86/doc/sgml/dps.sgml
+ Bugzilla #3080: https://bugs.freedesktop.org/show_bug.cgi?id=3080
+ Patch #2636: https://bugs.freedesktop.org/attachment.cgi?id=2636
+ Clearly document impending demise of DPS.
+
+2005-05-08 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/config/cf/sun.cf:
+ * xc/config/cf/sunLib.tmpl:
+ * xc/config/cf/sv4Lib.rules:
+ Bugzilla #3243: https://bugs.freedesktop.org/show_bug.cgi?id=3243
+ Patch #2635: https://bugs.freedesktop.org/attachment.cgi?id=2635
+ libGLU/glxinfo build fixes for Sun C++ compiler on Solaris:
+ - Set C++ runtime library to -lCrun when using Sun C++ 5.0 or newer
+ - Make .so -> .so.$REV links in $TOP/export/lib for C++ libraries on
+ SVR4 in the same way we already do for C libraries
+ - Set libGLU required libraries list for Solaris
+
+2005-05-08 Bogdan Diaconescu <b_diaconescu@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ Bugzilla #3192: https://bugs.freedesktop.org/show_bug.cgi?id=3192
+ Fixed SDK install
+
+2005-05-05 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * lib/GL/apple/dri_driver.c:
+ * programs/Xserver/hw/darwin/darwinKeyboard.c:
+ * programs/Xserver/hw/darwin/quartz/xpr/x-hash.c:
+ (hash_table_modify):
+ Fix build issues on Mac OS X 10.4.0.
+
+2005-05-05 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/dmx/doc/Imakefile:
+ Bugzilla #3182: https://bugs.freedesktop.org/show_bug.cgi?id=3182
+ Patch #2612: https://bugs.freedesktop.org/attachment.cgi?id=2612
+ Protect the doc target with BuildSgmlDocs.
+
+2005-05-03 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/FreeBSD.cf:
+ * config/cf/Imake.cf:
+ * programs/Xserver/hw/xfree86/common/compiler.h:
+ * programs/Xserver/hw/xfree86/loader/loader.c: (_LoaderFileToMem):
+ * programs/Xserver/hw/xfree86/os-support/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bus/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.h:
+ Port X.Org to FreeBSD/powerpc. This makes a bit of math for sysmouse
+ in mouse.c explicitly signed, avoiding the need for -fsigned-chars.
+ (Peter Grehan, grehan at FreeBSD dot org)
+
+2005-05-03 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/Imakefile:
+ Install the xorg.conf.eg file referred to by xorg.conf(5). Its
+ installation was disabled before 6.7.0 when it was called XF86Config.eg.
+ (FreeBSD ports/73915)
+
+2005-04-28 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/X11.tmpl:
+ Bug #3080: Disable DPS in the default build.
+
+2005-04-28 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * include/Xosdefs.h:
+ Don't define X_NOT_STDC_ENV on Solaris x86.
+ Bugzilla #3158: https://bugs.freedesktop.org/show_bug.cgi?id=3158
+ Patch #2588: https://bugs.freedesktop.org/attachment.cgi?id=2588
+ (Henry Zhao, Sun Microsystems)
+
+2005-04-27 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/os/utils.c: (OsBlockSignals):
+ Catch SIGCHLD in OsBlockSignals() too to make sure this
+ signal doesn't intercept reading the authority file (Fabian Franz,
+ Bugzilla #3137).
+
+2005-04-26 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Init.c
+ * xc/programs/Xserver/Xprint/ps/PsInit.c
+ bugzilla #2879 (https://bugs.freedesktop.org/show_bug.cgi?id=2879)
+ attachment #2556 (https://bugs.freedesktop.org/attachment.cgi?id=2556)
+ Refix for bug 2879 - downgrade 15bit PseudoColor to 14bit - the current
+ datatype for the |ColormapEntries| is a |signed short| which is too
+ small for |32768| colors (=integer overflow).
+
+2005-04-26 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xdpyinfo/xdpyinfo.c
+ bugzilla #2705 (https://bugs.freedesktop.org/show_bug.cgi?id=2705)
+ attachment #2555 (https://bugs.freedesktop.org/attachment.cgi?id=2555)
+ bug 2705 part II: Fix build to work with |#define BuildXprint NO|
+ Patch by Kevin E. Martin <kem@freedesktop.org>
+
+2005-04-25 Alexander Gottwald <ago at freedesktop dot org>
+
+ * config/xf/X11.tmpl:
+ Bug #3069: Reenable DefaultFontPath and DefaultFSFontPath which got
+ removed in the BuildLowMem commit
+
+2005-04-23 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/loader/loadmod.c:
+ Bug #2138: When the server is built with MakeDllModules YES, prefer
+ dlloader modules to elfloader modules, and vice versa when
+ MakeDllModules is NO. Based on 028_loader_speed_hack.diff from
+ Ubuntu (Daniel Stone).
+
+2005-04-23 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_apm.c:
+ Bug #2141: Rework misleading warning message when APM support is
+ unavailable. (Previous patch on 2005-04-14 changed the wrong message.)
+
+2005-04-23 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/xorg.cf:
+ Bug #2072: Always define LargePositionIndependentCFlags on sparc
+ systems using gcc. (Ferris McCormick)
+
+2005-04-23 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ * xc/programs/Xserver/Xext/Imakefile
+ * xc/programs/Xserver/dix/Imakefile
+ * xc/programs/Xserver/dix/main.c
+ * xc/programs/Xserver/dix/xpstubs.c
+ * xc/programs/Xserver/mi/miinitext.c
+ * xc/programs/Xserver/os/utils.c
+ bugzilla #2792 (https://bugs.freedesktop.org/show_bug.cgi?id=2792)
+ attachment #2526 (https://bugs.freedesktop.org/attachment.cgi?id=2526)
+ bug 2792 part II: Make Xprint headers in dix/, mi/, os/ and Xext/
+ conditional on whether the Xprint extension is build or not.
+ Patch by Egbert Eich <eich@freedesktop.org> and Roland Mainz
+ <roland.mainz@nrubsig.org>.
+
+2005-04-23 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/dix/main.c
+ bugzilla #3118 (https://bugs.freedesktop.org/show_bug.cgi?id=3118)
+ attachment #2525 (https://bugs.freedesktop.org/attachment.cgi?id=2525)
+ Get Xprint server working again which was broken by the
+ 05/04/20 05:49:46 commit commit (the CPP symbol |XPRINT| is not
+ universally available when building the Xserver and should be used
+ with care).
+
+2005-04-23 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/linux.cf
+ * xc/config/cf/sun.cf
+ bugzilla #3023 (https://bugs.freedesktop.org/show_bug.cgi?id=3023)
+ attachment #2523 (https://bugs.freedesktop.org/attachment.cgi?id=2523)
+ Make the Xserver and libraries (X11, Xt, Xaw etc.) and client
+ applications largefile-aware by default on Linux and Solaris (*BSD
+ platforms and IRIX are aready largefile-aware by default, only the
+ status of AIX+HP/UX is currently unknown). The change does not
+ affect Xserver modules loaded via the ELF loader which would either
+ require an ABI change or a port of the whole lf64(5) API (both steps
+ may not be required as the ELF loader may go away in favour of the DL
+ loader where the libc wrapper is no longer needed to access files).
+
+2005-04-23 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/X11.tmpl:
+ Bug #2606: Force the Security extension to be built if the Appgroup
+ extension is requested.
+
+2005-04-23 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/loader/loadmod.c:
+ Bug #3016: Don't complain as loudly about failing to load a module
+ that's already loaded.
+
+2005-04-23 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/loader/elf.h:
+ * programs/Xserver/hw/xfree86/loader/elfloader.c:
+ Bug #3109: Handle R_ALPHA_BRSGP relocations in elfloader.
+ (Sergey Tikhonov)
+
+2005-04-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/xf86_libc.h:
+ Work around clash between Solaris headers and module loader headers
+ over definition of FILE.
+
+2005-04-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * extras/ogl-sample/main/gfx/lib/glu/libnurbs/internals/simplemath.h:
+ Add Sun CC to the list of compilers for which abs() should not be
+ redefined.
+
+2005-04-22 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/X11.tmpl:
+ * lib/font/fontfile/ffcheck.c:
+ * lib/font/fontfile/register.c:
+ * programs/Xserver/Imakefile:
+ * programs/Xserver/cfb/cfbgc.c:
+ * programs/Xserver/cfb/cfbimage.c:
+ * programs/Xserver/cfb/cfbpush8.c:
+ * programs/Xserver/hw/sun/Imakefile:
+ * programs/Xserver/hw/sun/sunCfb.c:
+ * programs/Xserver/hw/sun/sunCursor.c:
+ * programs/Xserver/hw/sun/sunInit.c:
+ * programs/Xserver/hw/xfree86/xf8_32bpp/cfbgc.c:
+ * programs/Xserver/hw/xfree86/xf8_32bpp/cfbgcunder.c:
+ * programs/Xserver/lmfcfb/Imakefile:
+ * programs/Xserver/mfb/Imakefile:
+ * programs/Xserver/mfb/maskbits.c:
+ * programs/Xserver/mfb/mfbbitblt.c:
+ * programs/Xserver/mfb/mfbgc.c:
+ * programs/Xserver/mfb/mfbimggblt.c:
+ * programs/Xserver/mfb/mfbpixmap.c:
+ * programs/Xserver/mfb/mfbscrinit.c:
+ * programs/xfs/difs/Imakefile:
+ * programs/xfs/difs/initfonts.c:
+ Bug #3069: Drop the BuildLowMem hack, it doesn't compile and isn't
+ useful.
+
+2005-04-22 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/common/compiler.h:
+ * programs/Xserver/hw/xfree86/common/xf86Bus.c:
+ * programs/Xserver/hw/xfree86/common/xf86pciBus.c:
+ * programs/Xserver/hw/xfree86/loader/xf86sym.c:
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSproc.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_ia64.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_pci.c:
+ * programs/Xserver/hw/xfree86/os-support/shared/ia64Pci.c:
+ * programs/Xserver/hw/xfree86/os-support/shared/ia64Pci.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/altixPCI.c:
+ * programs/Xserver/hw/xfree86/os-support/bus/altixPCI.h:
+ Bug #2373: SGI Altix platform support. (Shrijeet Mukherjee,
+ Jesse Barnes, Bjorn Helgaas, Egbert Eich.)
+
+2005-04-21 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_type.h
+ Bugzilla #3095 <https://bugs.freedesktop.org/show_bug.cgi?id=3095>
+ Patch #2501 <https://bugs.freedesktop.org/attachment.cgi?id=2501>
+ nv DPMS panel fixes (Mark Vojkovich)
+
+2005-04-21 Thomas Winischhofer <thomas@winischhofer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/sis/*
+ SiS driver:
+ - Add SISCTRL extension
+ - Declare Xv interface for SiSCtrl deprecated
+ - Remove useless GammaPreBrightness feature
+ - Fix LCD+TV mode for dual link panels
+ - Add support for LCD-via-CRT1 for 315PRO
+ - Add "TVBlueWorkAround" option
+ - Various minor fixes
+
+ * programs/Xserver/hw/xfree86/drivers/sisusb/*
+ SiSUSB driver:
+ - Add SISCTRL extension
+ - Declare Xv interface for SiSCtrl deprecated
+
+2005-04-20 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/theatre.h
+ Build fix for DoLoadableServer = NO systems.
+
+2005-04-20 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/xinit/startx.cpp:
+ Separate server auth and client .Xautority file in startx.
+ .Xautority might have credentials from other Xservers which
+ we might not want to enable on ours Bugzilla #3078).
+
+2005-04-20 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/GL/windows/glwindows.h:
+ * programs/Xserver/GL/windows/glwrap.c:
+ * programs/Xserver/os/auth.c:
+ * programs/Xserver/os/xdmcp.c:
+ * programs/Xserver/xkb/ddxLoad.c:
+ Fix includes right throughout the Xserver tree:
+ * apply changes to windows specific includes
+ * programs/Xserver/os/xdmauth.c:
+ Fix includes right throughout the Xserver tree:
+ * apply changes to Xdmcp.h
+
+2005-04-20 Alexander Gottwald <ago at freedesktop dot org>
+
+ * lib/xtrans/Imakefile:
+ Fix includes right throughout the Xserver tree:
+ * Create both X11/Xtrans/Xtrans.h and X11/Xtrans.h in exports/include.
+ The first is for Xserver, the second is for libX11 and friends.
+
+2005-04-20 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/xedit/util.c:
+ Move variable declaration to top. Makes gcc2 happy.
+
+2005-04-20 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/*:
+ Fix includes right throughout the Xserver tree:
+ * change "foo.h" to <X11/foo.h> for core headers, e.g. X.h, Xpoll.h;
+ * change "foo.h", "extensions/foo.h" and "X11/foo.h" to
+ <X11/extensions/foo.h> for extension headers, e.g. Xv.h;
+ * change "foo.[ch]" to <X11/Xtrans/foo.[ch]> for Xtrans files.
+ * programs/Xserver/dix/main.c (InitOutput):
+ Conditionalise usage of Xprint headers and functions.
+
+2005-04-20 Alexander Gottwald <ago at freedesktop dot org>
+
+ * lib/Xt/Initialize.c:
+ Bugzilla #3072 (https://bugs.freedesktop.org/show_bug.cgi?id=3072)
+ attachment #2469 (https://bugs.freedesktop.org/attachment.cgi?id=2469):
+ fix uninitialized pointer in libXt on Win32. Reported by Dave Williss
+
+2005-04-18 Bogdan Diaconescu <b_diaconescu@yahoo.com>
+ Added support for RageTheatre200 see BugZilla #2778
+ https://bugs.freedesktop.org/show_bug.cgi?id=2778
+
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/generic_bus.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInit): Added new option for the ATI driver:
+ RageTheatreMicrocPath - file path for microcode,
+ RageTheatreMicrocType - BINARY or ASCII. When RT200 is
+ detected, microcode is uploaded from the specified file.
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mm_i2c.c:
+ (RADEONInitI2C): Changed the i2c bus access method for
+ GPUs newer than R100. Added detection code for PAL tuners FM1216MK3.
+ Added detection for UDA1380 sound processor.
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (RADEONAllocAdaptor), (RADEONStopVideo), (RADEONSetPortAttribute),
+ (RADEON_TDA9885_SetEncoding): TDA9885 exists on the MK3 tuners.
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.h:
+ Added UDA1380 object to the RADEONPortPrivRec.
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_vip.c:
+ (RADEONVIP_fifo_idle), (RADEONVIP_fifo_read),
+ (RADEONVIP_fifo_write), (RADEONVIP_reset), (RADEONVIP_init):
+ Added new functions for the VIP bus regarding the FIFO transfer.
+ Changed the values at reset for processors newest than R200.
+ * programs/Xserver/hw/xfree86/drivers/ati/theatre.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/theatre.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/theatre_reg.h:
+ The theatre chip detection is now in a separate module called
+ theatre_detect. Upon detecting the theatre chip type,
+ the coresponding theatre module will be loaded. For RageTheatre200
+ a new module is created called theater200.
+ * programs/Xserver/hw/xfree86/drivers/i2c/Imakefile:
+ Added new module uda1380 for the sound chip existing on
+ boards featuring RT200.
+ * programs/Xserver/hw/xfree86/drivers/i2c/fi1236.c:
+ (FI1236_get_afc_hint), (FI1236_tune), (FI1236_AFC):
+ The MK3 tuners (PAL/NTSC/SECAM) now have the AFC signal comming
+ from the TDA98xx chip. The AFC hint can be gotten now from I2C.
+ * programs/Xserver/hw/xfree86/drivers/i2c/fi1236.h:
+ * programs/Xserver/hw/xfree86/drivers/i2c/tda9885.c:
+ (tda9885_setparameters): Tweaks for new MK3 tuners.
+
+2005-04-15 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * lib/GL/apple/dri_glx.c: (GetDriverName), (glXGetDriverConfig):
+ * programs/Xserver/hw/darwin/quartz/applewmExt.h:
+ Fix cases in Darwin build where a variable is declared static and
+ later as extern (XFree86 Bug #1576, Jordan Frank).
+
+2005-04-15 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h
+ bugzilla #2885 (https://bugs.freedesktop.org/show_bug.cgi?id=2885)
+ attachment #2434 (https://bugs.freedesktop.org/attachment.cgi?id=2434)
+ Fix Solaris build bustage caused by namespace collision between symbols
+ defined in <sys/kbd.h> and those in "xf86_OSlib.h".
+ Patch by Alan Coopersmith <alan.coopersmith@sun.com>.
+
+2005-04-14 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_apm.c:
+ Bug #2141: Rework misleading warning message when APM support is
+ unavailable.
+
+2005-04-14 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Fix initial DDC parameters when validating modes.
+
+2005-04-14 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/cfb/cfbgc.c:
+ Bug #3025: gcc4 build fix.
+
+2005-04-14 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ User reports indicate that both command and vertex DMA on
+ SuperSavages lock up the engine. Disabling DMA on SuperSavages
+ until someone figures out how to make it work.
+
+2005-04-12 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/ps/psout.c
+ bugzilla #3001 (https://bugs.freedesktop.org/show_bug.cgi?id=3001)
+ attachment #2404 (https://bugs.freedesktop.org/attachment.cgi?id=2404)
+ Improve rendering performance when glXSwapBuffers()| or |XPutImage()|
+ are called for the PostScript DDX via optimizing the codepath around
+ |PsOut_OutImageBytes()|.
+ Patch by Simon Toedt <simon.toedt@gmail.com> and Roland Mainz
+ <roland.mainz@nrubsig.org>.
+
+2005-04-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/vfb/InitOutput.c: (vfbScreenInit):
+ Reenable BackingStore in Xvfb.
+
+2005-04-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/linux.cf:
+ Removing the compiler flag -fsigned-char which is only used
+ for a few BE platforms. This still needs some testing - which
+ can only be done when in the tree, but since most platforms
+ don't need I strongly assume it's not needed. Ticket remains
+ open for discussion (Bugzilla #2964).
+
+2005-04-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/os-support/bus/xf86Pci.h:
+ Correct the mask bits when checking for a 64bit memory base
+ in PCI config space (bugzilla #2963).
+
+2005-04-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c:
+ (NEOPreInit), (NEOValidMode), (neoRestore), (neoModeInit),
+ (neoCalcVCLK):
+ Fix several mode setting issues:
+ - eliminates DoubleScan modes above height == 1024.
+ - eliminates interlaced modes as we don't know how to turn
+ on interlace.
+ - Fixes clock calculation to prevent lockups.
+ (Bugzilla # 2627)
+
+2005-04-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/mi/miwideline.c:
+ Preventing hight for drawing from becoming negative when
+ face->dy < 0. The height value is used in miFillPolyHelper()
+ to calculate the size of memory to be allocated. A negative
+ value will lead to a crash (Bugzilla #2690, Keith Packard,
+ Egbert Eich).
+
+2005-04-10 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/attributes.c
+ * xc/programs/glxgears/glxgears.c
+ * xc/programs/xdbedizzy/xdbedizzy.c
+ * xc/programs/xedit/Imakefile
+ * xc/programs/xedit/Xedit-xprint.ad
+ * xc/programs/xedit/util.c
+ * xc/programs/xedit/xedit.h
+ * xc/programs/xlogo/print.c
+ * xc/programs/xlogo/xlogo.c
+ * xc/programs/xlogo/xlogo.h
+ * xc/programs/xman/Imakefile
+ * xc/programs/xman/print.h
+ * xc/programs/xmore/Imakefile
+ * xc/programs/xmore/print.c
+ * xc/programs/xmore/print.h
+ * xc/programs/xmore/printdialog.c
+ * xc/programs/xphelloworld/xpawhelloworld/xpawhelloworld.c
+ * xc/programs/xphelloworld/xphelloworld/xphelloworld.c
+ * xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.c
+ * xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.c
+ * xc/programs/xphelloworld/xpxthelloworld/xpxthelloworld.c
+ bugzilla #790 (https://bugs.freedesktop.org/show_bug.cgi?id=790)
+ attachment #2379 (https://bugs.freedesktop.org/attachment.cgi?id=2379)
+ Implement support client+Xserver support for passing output
+ (stdout+stderr) of the spooler command started by the Xprint
+ server back to the application using the "xp-spooler-command-results"
+ XPJobAttr attribute (applications can fetch the attribute value after
+ the XPEndJobNotify event was received; more details can be found
+ in http://xprint.mozdev.org/docs/dtprint_fspec.ps).
+
+2005-04-09 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xman/buttons.c
+ bugzilla #2942 (https://bugs.freedesktop.org/show_bug.cgi?id=2942)
+ attachment #2360 (https://bugs.freedesktop.org/attachment.cgi?id=2360)
+ Fix possible crash due uninitalised structure when "xman" opens the
+ print dialog.
+
+2005-04-05 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ Release SDA/SDL I2C lines from an asserted-low state after a DDC probe,
+ which caused Apple Studio Display monitors to shut off after a second
+ or so (Ben Herrenschmidt).
+
+2005-04-04 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageInitAccel):
+ Add ROP_NEEDS_SOURCE to Mono8x8PatternFill as S3 chips tend
+ to lock up without it (Helmut Fahrion).
+
+2005-04-04 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/xf86cfg/accessx.c:
+ (CreateAccessXHelpDialog), (AccessXInitialize):
+ * programs/Xserver/hw/xfree86/xf86cfg/card-cfg.c:
+ (CardModelCallback), (CardModel):
+ * programs/Xserver/hw/xfree86/xf86cfg/config.c: (StartConfig):
+ * programs/Xserver/hw/xfree86/xf86cfg/expert.c:
+ (ExpertConfigureStart), (ExpertConfigureEnd), (CreateFiles),
+ (CreateFilesField), (UpdateFiles), (CreateFontPathField),
+ (CreateModulePathField), (CreateModuleField), (CreateModesField),
+ (CreateModeLineField), (CreateVideoAdaptorField),
+ (VideoAdaptorUpdate), (CreateVideoPortField), (CreateMonitorField),
+ (MonitorUpdate), (CreateMonitorModesField), (CreateDeviceField),
+ (DeviceUpdate), (CreateScreenField), (ScreenUpdate),
+ (CreateScreenAdaptorField), (CreateScreenDisplayField),
+ (ScreenDisplayUpdate), (CreateDisplayModeField),
+ (CreateInputField), (InputUpdate), (CreateLayoutField),
+ (CreateAdjacencyField), (AdjacencyMenuCallback),
+ (AdjacencyToggleCallback), (CreateInputrefField),
+ (CreateVendorField), (CreateVendorSubField), (VendorSubUpdate),
+ (CreateDRIField), (DRIUpdate), (CreateBuffersField),
+ (BuffersUpdate), (DeleteNode), (ToggleNodeRecursive), (ToggleNode),
+ (ExpertInitialize):
+ * programs/Xserver/hw/xfree86/xf86cfg/help.c: (Help), (StartHelp),
+ (Html_ModeStart), (Html_ModeEnd):
+ * programs/Xserver/hw/xfree86/xf86cfg/interface.c: (main),
+ (AskConfig), (QuitCallback), (AddDevice), (SelectLayoutCallback),
+ (DefaultLayoutCallback):
+ * programs/Xserver/hw/xfree86/xf86cfg/keyboard-cfg.c:
+ (UpdateRulesPopups), (KeyboardModelAndLayout):
+ * programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c:
+ (MonitorLayout):
+ * programs/Xserver/hw/xfree86/xf86cfg/mouse-cfg.c:
+ (MouseDeviceAndProtocol):
+ * programs/Xserver/hw/xfree86/xf86cfg/options.c:
+ (ModuleOptionsPopup), (OptionsPopup):
+ * programs/Xserver/hw/xfree86/xf86cfg/screen-cfg.c: (ScreenDialog):
+ * programs/Xserver/hw/xfree86/xf86cfg/vidmode.c:
+ (VideoModeInitialize), (VideoModeConfigureStart), (GetModes),
+ (ForceAddMode), (AddMode), (TestCallback):
+ * programs/editres/widgets.c:
+ * programs/xedit/ispell.c: (InitIspell):
+ * programs/xedit/options.c: (CreateColumnsShell):
+ Fixed sentinels in Xt, editres and xedit to reduce number of
+ warnings with gcc4 (Andreas Schwab).
+
+2005-04-04 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/xf86cfg/screen.c: (AdjustScreenUI):
+ Fix typo leading to bogus code in xorgcfg (Andreas Schwab).
+
+2005-04-04 Egbert Eich <eich-at-freedesktop-dot-org>
+ * programs/Xserver/hw/xfree86/common/xf86PciInfo.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c:
+ (xf86PreScanZX1), (xf86PostScanZX1):
+ Support for HP's IPF ZX1 systems (Alex Williamson).
+
+2005-04-04 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/compiler.h:
+ * programs/Xserver/hw/xfree86/loader/elfloader.c:
+ (ELFCollectSections):
+ When not using dlopen ia64 needs an extra cache
+ flush to ensure the icache is coherent when modules
+ are loaded (Alex Williamson).
+
+2005-04-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xevie/Xevie.man:
+ Clean up text and formatting of Xevie man page
+
+2005-04-03 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/SM/sm_process.c:
+ Bug #1447: Fix a use-after-free case in libSM. (Mark McLoughlin)
+
+2005-04-02 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/xorg.tmpl:
+ Bug #2884: Canonicalize BUILDERADDR to point to
+ @lists.freedesktop.org.
+
+2005-04-01 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/quartz/XServer.m:
+ Fix XDarwin's handling of Wacom tablet mouse buttons (Based on patch
+ suggested by Daphne Pfister).
+
+2005-04-01 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Init.c
+ * xc/programs/Xserver/Xprint/ps/Imakefile
+ * xc/programs/Xserver/Xprint/ps/Ps.h
+ * xc/programs/Xserver/Xprint/ps/PsArea.c
+ * xc/programs/Xserver/Xprint/ps/PsColor.c
+ * xc/programs/Xserver/Xprint/ps/PsImageUtil.c
+ * xc/programs/Xserver/Xprint/ps/PsInit.c
+ * xc/programs/Xserver/Xprint/ps/psout.h
+ bugzilla #2879 (https://bugs.freedesktop.org/show_bug.cgi?id=2879)
+ attachment #2287 (https://bugs.freedesktop.org/attachment.cgi?id=2287)
+ Follow-up to bugzilla #1299: Add new visuals in the Postscript DDX
+ (including TrueColor 16bit, PseudoColor 15bit/12bpg(12 bits per R-,
+ G-, B-channel as in PostScript Level 2 (and above) colors can have 12
+ bits per component (36 bit for RGB)), PseudoColor+GrayScale+StaticGray
+ 12bit/12bpg) and switch the default visual from PseudoColor 8bit/8bpg
+ to PseudoColor 12bit/12bpg.
+
+2005-04-01 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/loader/xf86sym.c
+ * programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c
+ Fix setjump0 declaration for DllLoader.
+
+2005-04-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/int10/helper_exec.c: (x_inl),
+ (x_outl), (pciCfg1out):
+ bugzilla #2880 (https://bugs.freedesktop.org/show_bug.cgi?id=2880)
+ attachment #2285 (https://bugs.freedesktop.org/attachment.cgi?id=2285)
+ Use system method to access PCI config space.
+
+2005-04-01 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/loader/dixsym.c:
+ Bug #2835: Add symbol exports to support the ReadDisplay extension.
+
+2005-04-01 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Check the VESA BIOS scanline requirements and adjust the
+ displayWidth accordingly. Fixes an assumption that the screen width
+ was always used as the displayWidth.
+
+2005-03-31 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * config/cf/darwin.cf:
+ Reenable default build of xterm since Darwin does not provide
+ an alternate source for it.
+
+2005-03-31 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86PciInfo.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_chipset.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c:
+ - Add new Radeon pci ids (ATI devrel), bug 2827
+
+2005-03-31 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c
+
+ Patch from Antti Ajanki - provide VBI capture support for
+ PAL and SECAM (You need GATOS km module to actually get at the
+ data, the change merely configures the hardware to handle it
+ correctly).
+
+2005-03-29 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c:
+ bugzilla #2844 (https://bugs.freedesktop.org/show_bug.cgi?id=2844)
+ attachment #2230 (http://bugs.freedesktop.org/attachment.cgi?id=2230)
+ Wait for idle before uploading HW cursor data to the framebuffer to
+ avoid lockups when moving the mouse on some machines.
+
+2005-03-28 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPllErrataAfterIndex), (RADEONPllErrataAfterData),
+ (RADEONOUTPLL), (RADEONPLLWriteUpdate), (RADEONPLL2WriteUpdate),
+ (RADEONRestorePLL2Registers):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_macros.h:
+ bugzilla #2840 (https://bugs.freedesktop.org/show_bug.cgi?id=2840)
+ attachment #2227 (https://bugs.freedesktop.org/attachment.cgi?id=2227)
+ Fix build problems introduced by previous Radeon PLL errata
+ workarounds.
+
+2005-03-28 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/xvinfo/xvinfo.man:
+ Change hardcoded "1" to __appmansuffix__ and remove initial
+ blank line that confused Solaris nroff.
+
+Sat Mar 26 19:00:30 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbpict.h: Remove accidentally committed
+ prototype.
+
+Sat Mar 26 18:49:21 2005 Soeren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.h
+ * programs/Xserver/fb/fbmmx.c (fbCompositeSrc_8888x8888mmx): New
+ function.
+
+ * programs/Xserver/fb/fbpict.c (fbComposite): Hook it up here
+
+2005-03-25 Dave Airlie <airlied@linux.ie>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/aticonfig.c:
+ (ATIProcessOptions):
+ * programs/Xserver/hw/xfree86/drivers/ati/aticonsole.c:
+ (ATIProbeAndSetActiveDisplays), (ATIEnterGraphics),
+ (ATILeaveGraphics):
+ * programs/Xserver/hw/xfree86/drivers/ati/atilock.c: (ATIUnlock),
+ (ATILock):
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64.c:
+ (ATIMach64Calculate):
+ * programs/Xserver/hw/xfree86/drivers/ati/atimode.c:
+ (ATIModeCalculate), (ATISetVBEMode), (ATIModeSet):
+ * programs/Xserver/hw/xfree86/drivers/ati/atioption.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atioption.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c:
+ (ATIPreInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/atiscreen.c:
+ (ATIScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/atistruct.h:
+ bugzilla #2057 (https://bugs.freedesktop.org/show_bug.cgi?id=2057)
+ attachment #1516 (https://bugs.freedesktop.org/attachment.cgi?id=1516)
+ Add TVOUT Support for Mach64 (Leif Delgass, fixed up for Xorg by me).
+
+2005-03-24 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/ps/Imakefile
+ * xc/programs/Xserver/Xprint/ps/PsInit.c
+ bugzilla #2821 (https://bugs.freedesktop.org/show_bug.cgi?id=2821)
+ attachment #2215 (https://bugs.freedesktop.org/attachment.cgi?id=2215)
+ Remove the cfb dependicy from the PostScript DDX as this is not needed
+ in a vector DDX (mfb is still needed to fill the |BitmapToRegion()|
+ callback with |mfbPixmapToRegion()|).
+
+2005-03-24 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineReset):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_bios.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONINPLL), (RADEONOUTPLL), (RADEONProbePLLParameters),
+ (RADEONGetPanelInfoFromReg), (RADEONPreInitConfig),
+ (RADEONRestoreFPRegisters), (RADEONRestorePLLRegisters),
+ (RADEONRestorePLL2Registers), (RADEONSave), (RADEONRestore),
+ (RADEONDisplayPowerManagementSet), (RADEONSetDynamicClock):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_macros.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mm_i2c.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (RADEONAllocAdaptor), (RADEONDisplayVideo):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_vip.c:
+ - radeon PLL access errata workarounds (Benjamin Herrenschmidt, acked by Hui Yu)
+
+2005-05-23 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * config/cf/OpenBSD.cf:
+ OpenBSD doesn't have libpng in base system.
+ * config/cf/OpenBSDLib.tmpl
+ Bump libfreetype2 minor after update to 2.1.9
+ * config/cf/X11.tmpl
+ Update freetype version in comments
+ * programs/Xserver/Xext/saver.c:
+ bugzilla #2194: fix an alignement problem on 64 bit architectures.
+
+2005-03-23 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c:
+ (mtrr_cull_wc_region), (mtrr_remove_offending),
+ (mtrr_add_wc_region):
+ Bugzilla #2750 (https://bugs.freedesktop.org/show_bug.cgi?id=2750)
+ Linux-only fixes:
+ Fix case where a smaller write-combining region blocks write-combining
+ setting of the whole frame buffer.
+ Fix bug in wc setting code when regions are first splitted
+ and setting of write-combining then fails.
+
+2005-03-23 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/hw/vfb/InitOutput.c
+ * xc/programs/Xserver/hw/vfb/Xvfb.man
+ bugzilla #2791 (https://bugs.freedesktop.org/show_bug.cgi?id=2791)
+ attachment #2197 (https://bugs.freedesktop.org/attachment.cgi?id=2197)
+ Add support for 12bit PseudoColor and 30bit TrueColor to Xvfb.
+
+2005-03-23 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Imakefile
+ * xc/programs/Xserver/Xprint/DiPrint.h
+ * xc/programs/Xserver/Xprint/Imakefile
+ * xc/programs/Xserver/Xprint/Init.c
+ * xc/programs/Xserver/Xprint/ddxInit.c
+ * xc/programs/Xserver/dix/Imakefile
+ * xc/programs/Xserver/dix/main.c
+ * xc/programs/Xserver/dix/xpstubs.c
+ * xc/programs/Xserver/os/Imakefile
+ * xc/programs/Xserver/os/utils.c
+ bugzilla #2792 (https://bugs.freedesktop.org/show_bug.cgi?id=2792)
+ attachment #2193 (https://bugs.freedesktop.org/attachment.cgi?id=2193)
+ Fix build bustage when |PrintOnlyServer| is set to |NO|.
+ Patch by Roland Mainz <roland.mainz@nrubsig.org> and Julien
+ Lafon <julien.lafon@gmail.com>.
+
+2005-03-22 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/hw/vfb/InitOutput.c
+ bugzilla #2789 (https://bugs.freedesktop.org/show_bug.cgi?id=2789)
+ attachment #2187 (https://bugs.freedesktop.org/attachment.cgi?id=2187)
+ Fix Xvfb to honor the "-dpi" option (instead of using a hardcoded
+ value of 100DPI).
+
+2005-03-22 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/xorg.conf.man:
+ Bug #1821: Typo fix in xorg.conf man page (Jens Schweikhardt)
+
+Tue Mar 22 12:47:16 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/miext/damage/damage.c (damageCopyPlane): Only
+ validate the source if it is a viewable window. Stops the cursor
+ flickering when it is above an unviewable window.
+
+2005-03-21 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_memory.c
+ Fix some bad alignment problems when allocating memory from
+ the end of AGP space.
+ Bugzilla #2764 (https://bugs.freedesktop.org/show_bug.cgi?id=2764)
+
+2005-03-20 Alan Coopersmith <alan.coopersmith@sun.com>
+ * xc/lib/X11/ErrDes.c
+ * xc/lib/X11/XKBSetGeom.c
+ Bugzilla #132 (https://bugs.freedesktop.org/show_bug.cgi?id=132)
+ Patch #2168 (https://bugs.freedesktop.org/attachment.cgi?id=2168)
+ Replace a couple of BUFSIZE uses with better values to check against.
+ Fixes by Stuart Anderson <anderson@netsweng.com>
+
+2005-03-20 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xset/xset.c
+ bugzilla #2258 (https://bugs.freedesktop.org/show_bug.cgi?id=2258)
+ attachment #2166 (https://bugs.freedesktop.org/attachment.cgi?id=2166)
+ "xset q" (query) should not print an error message ('Xlib: extension
+ "XFree86-Misc" missing on display ":35.0".') when the "XFree86-Misc"
+ is not available on the Xserver.
+
+2005-03-19 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/nls/Compose/iso8859-2
+ * xc/nls/Compose/iso8859-3
+ * xc/nls/Compose/iso8859-9
+ * xc/nls/Compose/iso8859-9e
+ bugzilla #2592 (https://bugs.freedesktop.org/show_bug.cgi?id=2592)
+ attachment #2156 (https://bugs.freedesktop.org/attachment.cgi?id=2156)
+ Fix a couple of typos in ISO8859-* Compose files
+ ("asciicircum" instead "of asciicirum").
+ Patch by Matthias Hopf <mhopf@suse.de>.
+
+2005-03-19 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/mi/miinitext.c
+ bugzilla #2771 (https://bugs.freedesktop.org/show_bug.cgi?id=2771)
+ attachment #2148 (https://bugs.freedesktop.org/attachment.cgi?id=2148)
+ Remove RENDER extension from exclusion list for the standalone print
+ server (Xprt) to get this extension enabled if the print DDX support
+ it.
+
+2005-03-18 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/common/xf86PciInfo.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_chipset.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c:
+ Add support for production version of ATI RN50/ES1000. (ATI
+ Technologies Inc.)
+
+2005-03-17 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavageEnterVT):
+ Invalidate 3D hardware state in SavageEnterVT. This fixes 3D
+ applications running during a suspend-resume cycle.
+
+2005-03-16 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c
+ Back out RadeonWaitForIdleMMIO that I put in earlier.
+
+ From discussion on dri-devel we do not need to be as
+ careful with INREG() access on Radeons as we are on mach64
+ chips.
+
+ The fix is backed out due to:
+ * it breaks DRI on SMP systems (due to absense of the
+ lock in mouse handling functions)
+ * I am no longer able to reproduce the lockup I saw before
+
+2005-03-16 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * config/cf/darwin.cf:
+ * programs/Xserver/cfb/cfballpriv.c:
+ Fix build on stock Mac OS X: Out of the box, Mac OS X does not include
+ Freetype2, Expat, or PNG. Also global variables should be initalized
+ in the Xserver.
+
+2005-03-17 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIMapInit):
+ Fixed PCI ShadowStatus initialization for the case that
+ ShadowStatus is explicitly enabled in the configuration file.
+
+Wed Mar 16 16:17:43 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/miext/damage/damage.c (damageCopyArea): Only
+ validate the source if it is a viewable window. Stops the cursor
+ flickering when it is above an unviewable window.
+
+2005-03-16 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86RandR.c:
+ (xf86RandRGetInfo), (xf86RandRSetConfig):
+ Don't fail calling function when DriverFunc() for RandR
+ fails as DriverFunc() also returns FALSE when the
+ specific sub function isn't supported.
+ In the case of xf86RandRGetInfo() we simply rely on what
+ has been set before and return TRUE.
+ In the case of xf86RandRSetConfig() we only bail with
+ FALSE if we have to do a rotation and the call fails.
+ We presently cannot do rotation on the fly without the
+ help of a driver function (Bugzilla #2745).
+
+
+2005-03-16 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/loader/loader.c: (ARCHIVELoadModule):
+ Make message that gets printed when loader encounters a .o
+ with no symbols less conspicuous (Bugzilla #2744).
+
+2005-03-15 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.c:
+ (SavageInitStreamsOld), (SavageInitStreams2000),
+ (PatchEnableSPofPanel):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_video.c:
+ (GetBlendForFourCC), (GetBlendForFourCC2000),
+ (SavageSetColorKey2000), (SavageSetColor2000), (SavageSetBlend),
+ (SavageDisplayVideoOld), (SavageDisplayVideo2000),
+ (SavagePutImage):
+ - small fixups for old streams
+ - more work on Xv support for savage2000 (still not working 100%)
+
+2005-03-15 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_video.c
+ LFP's may exist on Pipe A in older i830's. Check that case so
+ that Panel ID can be obtained and Xvideo is correctly setup for
+ panel fitting.
+
+2005-03-15 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c
+ Enforce DDC monitor ranges usage if we have them and reject bad
+ modes. Use NoDDC option to override DDC timings. We currently
+ only use DS_RANGES, but could use other DDC information, as does
+ the common layer, to deduce the h/v ranges.
+
+2005-03-13 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIAgpInit), (SAVAGEDRIScreenInit),
+ (SAVAGEDRIFinishScreenInit):
+ Fixed fallback to PCI mode when AGP initialization fails.
+
+2005-03-13 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGECreateContext), (SAVAGEDestroyContext), (SAVAGEDRIAgpInit),
+ (SAVAGEDRIScreenInit), (SAVAGEDRICloseScreen):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ - Removed lots of dead code.
+ - Moved driver-private definitions from savage_dri.h to
+ savage_driver.h. savage_dri.h should only contain the public
+ interface between DDX and DRI drivers.
+ - Don't forget to remove the command DMA mapping in
+ SAVAGEDRICloseScreen.
+
+2005-03-11 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/twm/Imakefile
+ * xc/programs/twm/twm.c
+ * xc/programs/xdpyinfo/xdpyinfo.c
+ bugzilla #2705 (https://bugs.freedesktop.org/show_bug.cgi?id=2705)
+ attachment #2087 (https://bugs.freedesktop.org/attachment.cgi?id=2087)
+ Make twm ignore print screens to avoid that users accidentally warp
+ on a non-video screen (which are not visible on any monitor) when
+ the Xserver has both video and print screens.
+ (This includes also a small cleanup of xdpyinfo where parts of the
+ print screen test code comes from)
+ Patch by Julien Lafon <julien.lafon@gmail.com> (MIT/X.org license).
+
+2005-03-11 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/twm/add_window.c
+ * xc/programs/twm/cursor.c
+ * xc/programs/twm/events.c
+ * xc/programs/twm/gc.c
+ * xc/programs/twm/gram.y
+ * xc/programs/twm/iconmgr.c
+ * xc/programs/twm/icons.c
+ * xc/programs/twm/list.c
+ * xc/programs/twm/menus.c
+ * xc/programs/twm/parse.c
+ * xc/programs/twm/resize.c
+ * xc/programs/twm/twm.c
+ * xc/programs/twm/util.c
+ bugzilla #2566 (https://bugs.freedesktop.org/show_bug.cgi?id=2566)
+ attachment #2083 (https://bugs.freedesktop.org/attachment.cgi?id=2083)
+ ANSI-fy twm window manager code.
+ The conversion preserves the comments which annotate variables and
+ function arguments (these have been moved into doxygen(esque?) "stubs"
+ above each function.
+ Patch by Mike Owens <etc@filespanker.com>.
+
+2005-03-11 Thomas Winischhofer <thomas@winischhofer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/sis/*
+ SiS driver:
+ - MergedFB/Xinerama: Added support for non-rectangular layouts
+ (no panning into dead areas, mouse restriced to accessible
+ areas)
+ - MergedFB/Xinerama: Added support for RandR.
+ - MergedFB: Improved "physical alignment compensation" Offset
+ by disallowing panning and mouse movements into dead areas.
+ - Added "Reflect" feature: Reflect screen in x, y or x+y direction
+ - Added aspect ratio detection for analog (VGA) devices.
+ - Fixed FSTN support on SiS55x (for 320x240 xSTN panels)
+ - Workaround for SiS76x memory access latency issues if no local
+ framebuffer memory is present.
+ - Fixed bug in SaveScreen() causing a sig 11 sometimes.
+ - Minor others.
+
+2005-03-08 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/lbxproxy/os/connection.c:
+ Bugzilla Bug 2678 (https://bugs.freedesktop.org/show_bug.cgi?id=2678)
+ Patch #2051 (https://bugs.freedesktop.org/attachment.cgi?id=2051)
+ lbxproxy core dumps on exit if clients have had authentication failures
+ (Sun bug #5074303 - Fix by Derek Wang <derek.wang@sun.com>)
+
+2005-03-09 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONScreenInit): Fix accidentally removed depth pitch
+ adjustment if displayWidth is not a multiple of 32 pixels
+ (bug #788)
+
+2005-03-08 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c:
+ (xf86open), (xf86strerror), (xf86GetErrno):
+ * programs/Xserver/hw/xfree86/os-support/xf86_libc.h:
+ Adding more errnos to the libc wrapper (Bugzilla #2672).
+
+2005-03-07 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/lib/X11/imEvToWire.c:
+ Bugzilla Bug 2006 (https://bugs.freedesktop.org/show_bug.cgi?id=2006)
+ Patch #2031 (https://bugs.freedesktop.org/attachment.cgi?id=2031)
+ XEmbed client doesn't receive key events from XIM: Use | to set a bit,
+ not &. Patch by Hidetoshi Tajima <hidetoshi.tajima@sun.com>.
+
+2005-03-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/dix/atom.c
+ * xc/programs/Xserver/dix/colormap.c
+ * xc/programs/Xserver/dix/cursor.c
+ * xc/programs/Xserver/dix/devices.c
+ * xc/programs/Xserver/dix/dispatch.c
+ * xc/programs/Xserver/dix/dixfonts.c
+ * xc/programs/Xserver/dix/dixutils.c
+ * xc/programs/Xserver/dix/events.c
+ * xc/programs/Xserver/dix/extension.c
+ * xc/programs/Xserver/dix/gc.c
+ * xc/programs/Xserver/dix/glyphcurs.c
+ * xc/programs/Xserver/dix/grabs.c
+ * xc/programs/Xserver/dix/main.c
+ * xc/programs/Xserver/dix/pixmap.c
+ * xc/programs/Xserver/dix/privates.c
+ * xc/programs/Xserver/dix/property.c
+ * xc/programs/Xserver/dix/resource.c
+ * xc/programs/Xserver/dix/swaprep.c
+ * xc/programs/Xserver/dix/swapreq.c
+ * xc/programs/Xserver/dix/window.c
+ bugzilla #2560 (https://bugs.freedesktop.org/show_bug.cgi?id=2560)
+ attachment #2037 (https://bugs.freedesktop.org/attachment.cgi?id=2037)
+ ANSI-fy Xserver/dix code.
+ The conversion preserves the comments which annotate variables.
+ These have been moved into doxygen(esque?) "stubs" above each
+ function.
+ Patch by Mike Owens <etc@filespanker.com>.
+
+2005-03-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/glxgears/glxgears.c
+ bugzilla #2220 (https://bugs.freedesktop.org/show_bug.cgi?id=2220)
+ attachment #2035 (https://bugs.freedesktop.org/attachment.cgi?id=2035)
+ Backout of attachment #1630 (https://bugs.freedesktop.org/attachment.cgi?id=1630)
+ as the described issue should be fixed in the GLX implementation of
+ the server side (per discussion in xorg@freedesktop.org).
+
+2005-03-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/Imake.rules
+ * xc/programs/Xserver/hw/xfree86/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/apm/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/ark/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/chips/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/cirrus/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/cyrix/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/dummy/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/fbdev/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/glide/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/glint/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/i128/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/i2c/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/i740/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/imstt/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/mga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/newport/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/nsc/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/rendition/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/s3/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/s3virge/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/savage/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/sis/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/sisusb/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/sunbw2/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/suncg14/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/suncg3/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/suncg6/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/sunffb/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/sunleo/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/suntcx/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/tdfx/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/tga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/trident/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/tseng/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/v4l/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/vesa/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/vga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/via/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/vmware/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/voodoo/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/wsfb/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/acecad/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/aiptek/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/calcomp/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/citron/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/digitaledge/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/dmc/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/dynapro/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/elo2300/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/elographics/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/evdev/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/fpit/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/hyperpen/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/jamstudio/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/joystick/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/keyboard/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/magellan/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/magictouch/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/microtouch/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/mouse/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/mutouch/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/palmax/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/penmount/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/sample/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/spaceorb/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/summa/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/tek4957/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/ur98/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/void/Imakefile
+ * xc/programs/Xserver/hw/xfree86/input/wacom/Imakefile
+ Bugzilla #2663 (https://bugs.freedesktop.org/show_bug.cgi?id=2663)
+ attachment #2034 (https://bugs.freedesktop.org/attachment.cgi?id=2034):
+ Cleanup Xorg server module installation.
+
+2005-03-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ * xc/extras/freetype2/ChangeLog
+ * xc/extras/freetype2/Jamfile
+ * xc/extras/freetype2/README
+ * xc/extras/freetype2/builds/freetype.mk
+ * xc/extras/freetype2/builds/unix/configure
+ * xc/extras/freetype2/builds/unix/configure.ac
+ * xc/extras/freetype2/builds/win32/visualc/freetype.dsp
+ * xc/extras/freetype2/builds/win32/visualc/freetype.vcproj
+ * xc/extras/freetype2/builds/win32/visualc/index.html
+ * xc/extras/freetype2/devel/ftoption.h
+ * xc/extras/freetype2/docs/CHANGES
+ * xc/extras/freetype2/docs/VERSION.DLL
+ * xc/extras/freetype2/docs/formats.txt
+ * xc/extras/freetype2/include/freetype/cache/ftcmru.h
+ * xc/extras/freetype2/include/freetype/config/ftmodule.h
+ * xc/extras/freetype2/include/freetype/config/ftoption.h
+ * xc/extras/freetype2/include/freetype/freetype.h
+ * xc/extras/freetype2/include/freetype/ftcache.h
+ * xc/extras/freetype2/include/freetype/ftmm.h
+ * xc/extras/freetype2/include/freetype/internal/ftmemory.h
+ * xc/extras/freetype2/include/freetype/internal/ftstream.h
+ * xc/extras/freetype2/include/freetype/internal/fttrace.h
+ * xc/extras/freetype2/include/freetype/internal/psaux.h
+ * xc/extras/freetype2/include/freetype/internal/services/svmm.h
+ * xc/extras/freetype2/include/freetype/internal/tttypes.h
+ * xc/extras/freetype2/include/freetype/t1tables.h
+ * xc/extras/freetype2/include/freetype/tttables.h
+ * xc/extras/freetype2/include/freetype/tttags.h
+ * xc/extras/freetype2/src/autofit/afangles.c
+ * xc/extras/freetype2/src/autofit/afdummy.c
+ * xc/extras/freetype2/src/autofit/afglobal.c
+ * xc/extras/freetype2/src/autofit/afhints.c
+ * xc/extras/freetype2/src/autofit/afhints.h
+ * xc/extras/freetype2/src/autofit/aflatin.c
+ * xc/extras/freetype2/src/autofit/aflatin.h
+ * xc/extras/freetype2/src/autofit/afloader.c
+ * xc/extras/freetype2/src/autofit/afmodule.c
+ * xc/extras/freetype2/src/autofit/aftypes.h
+ * xc/extras/freetype2/src/autohint/ahhint.c
+ * xc/extras/freetype2/src/autohint/ahmodule.c
+ * xc/extras/freetype2/src/base/ftbbox.c
+ * xc/extras/freetype2/src/base/ftdbgmem.c
+ * xc/extras/freetype2/src/base/ftexcept.c
+ * xc/extras/freetype2/src/base/ftgloadr.c
+ * xc/extras/freetype2/src/base/ftglyph.c
+ * xc/extras/freetype2/src/base/fthash.c
+ * xc/extras/freetype2/src/base/ftlist.c
+ * xc/extras/freetype2/src/base/ftmm.c
+ * xc/extras/freetype2/src/base/ftobject.c
+ * xc/extras/freetype2/src/base/ftobjs.c
+ * xc/extras/freetype2/src/base/ftstream.c
+ * xc/extras/freetype2/src/base/ftsysio.c
+ * xc/extras/freetype2/src/base/ftsysmem.c
+ * xc/extras/freetype2/src/base/ftutil.c
+ * xc/extras/freetype2/src/bdf/bdf.h
+ * xc/extras/freetype2/src/bdf/bdfdrivr.c
+ * xc/extras/freetype2/src/bdf/bdfdrivr.h
+ * xc/extras/freetype2/src/bdf/bdflib.c
+ * xc/extras/freetype2/src/cache/ftcbasic.c
+ * xc/extras/freetype2/src/cache/ftccache.c
+ * xc/extras/freetype2/src/cache/ftccback.h
+ * xc/extras/freetype2/src/cache/ftccmap.c
+ * xc/extras/freetype2/src/cache/ftcglyph.c
+ * xc/extras/freetype2/src/cache/ftcimage.c
+ * xc/extras/freetype2/src/cache/ftcmanag.c
+ * xc/extras/freetype2/src/cache/ftcsbits.c
+ * xc/extras/freetype2/src/cff/cffdrivr.c
+ * xc/extras/freetype2/src/cff/cffgload.c
+ * xc/extras/freetype2/src/cff/cffgload.h
+ * xc/extras/freetype2/src/cff/cffload.c
+ * xc/extras/freetype2/src/cff/cffobjs.c
+ * xc/extras/freetype2/src/cff/cffobjs.h
+ * xc/extras/freetype2/src/cff/cffparse.c
+ * xc/extras/freetype2/src/cid/cidgload.c
+ * xc/extras/freetype2/src/cid/cidgload.h
+ * xc/extras/freetype2/src/cid/cidobjs.c
+ * xc/extras/freetype2/src/cid/cidobjs.h
+ * xc/extras/freetype2/src/cid/cidriver.c
+ * xc/extras/freetype2/src/gzip/ftgzip.c
+ * xc/extras/freetype2/src/lzw/zopen.c
+ * xc/extras/freetype2/src/pcf/pcfdrivr.c
+ * xc/extras/freetype2/src/pcf/pcfread.c
+ * xc/extras/freetype2/src/pcf/pcfutil.c
+ * xc/extras/freetype2/src/pcf/pcfutil.h
+ * xc/extras/freetype2/src/pfr/pfrdrivr.c
+ * xc/extras/freetype2/src/pfr/pfrobjs.c
+ * xc/extras/freetype2/src/pfr/pfrobjs.h
+ * xc/extras/freetype2/src/psaux/psobjs.c
+ * xc/extras/freetype2/src/psaux/t1decode.c
+ * xc/extras/freetype2/src/raster/ftraster.c
+ * xc/extras/freetype2/src/sfnt/sfobjs.c
+ * xc/extras/freetype2/src/sfnt/ttload.c
+ * xc/extras/freetype2/src/tools/cordic.py
+ * xc/extras/freetype2/src/truetype/Jamfile
+ * xc/extras/freetype2/src/truetype/rules.mk
+ * xc/extras/freetype2/src/truetype/truetype.c
+ * xc/extras/freetype2/src/truetype/ttdriver.c
+ * xc/extras/freetype2/src/truetype/ttgload.c
+ * xc/extras/freetype2/src/truetype/ttgxvar.c
+ * xc/extras/freetype2/src/truetype/ttgxvar.h
+ * xc/extras/freetype2/src/truetype/ttobjs.c
+ * xc/extras/freetype2/src/truetype/ttobjs.h
+ * xc/extras/freetype2/src/truetype/ttpload.c
+ * xc/extras/freetype2/src/type1/t1driver.c
+ * xc/extras/freetype2/src/type1/t1gload.c
+ * xc/extras/freetype2/src/type1/t1load.c
+ * xc/extras/freetype2/src/type1/t1load.h
+ * xc/extras/freetype2/src/winfonts/winfnt.c
+ Bugzilla #878 (https://bugs.freedesktop.org/show_bug.cgi?id=878)
+ attachment #2032 (https://bugs.freedesktop.org/attachment.cgi?id=2032):
+ Update Freetype2 version in xc/extras/freetype2/ from V2.1.8 to
+ V2.1.9.
+
+2005-03-06 Branden Robinson <branden@debian.org>
+
+ * config/cf/linux.cf
+ Shut up (tons of) Imake warnings on Debian systems by testing for
+ variable being defined before testing its value. (Presumably the
+ fallback definition of NothingOutsideProjectRoot in Imake.tmpl was
+ intended to prevent this, but it apparently is not in effect yet
+ when linux.cf is parsed.)
+
+2005-03-06 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage.man:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIAgpInit), (SAVAGEDRIMapInit), (SAVAGEDRIBuffersInit),
+ (SAVAGEDRIKernelInit), (SAVAGEDRIScreenInit),
+ (SAVAGEDRIFinishScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ - Support for the new DRM version 2.4 with command DMA.
+ - Added an option "DmaMode" to choose between vertex and command DMA.
+ - Allow ShadowStatus to be explicitly disabled even with DRI enabled.
+ - Updated the man page.
+
+2005-03-05 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Imakefile
+ * xc/programs/Xserver/hw/xnest/Imakefile
+ * xc/programs/Xserver/hw/xnest/Init.c
+ Bugzilla #2653 (https://bugs.freedesktop.org/show_bug.cgi?id=2653)
+ attachment #2020 (https://bugs.freedesktop.org/attachment.cgi?id=2020):
+ Cleanup Xnest usage of the DPMS dummy stub functions from dpmsstubs.c
+ instead of using it's own copy of these functions.
+
+2005-03-05 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/hw/xfree86/common/xf86Events.c
+ Bugzilla #2543 (https://bugs.freedesktop.org/show_bug.cgi?id=2543)
+ attachment #2019 (https://bugs.freedesktop.org/attachment.cgi?id=2019):
+ Fix |xf86SignalHandler()| which resets the signal handler
+ before setting the flag indicating a signal has been caught,
+ theoretically allowing the possibility of infinite recursion.
+ Patch by Andrew Church <xzilla@achurch.org>.
+
+2005-03-04 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
+ Let through all chips R300 and above - presumably the filtering
+ should take place at the DRM driver level.
+ Correct cut'n'paste position misprint.
+ Big thanks for Michel Danzer for pointing out both improvements.
+
+2005-03-04 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
+ Turns out Radeon R420 chips work fine with R300 microcode.
+ Thanks go to Rune Petersen for careful investigation.
+
+2005-03-03 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Limit the maximum refresh rate to 85Hz and remove the bogus
+ 100Hz and 120Hz settings as they don't match close enough and
+ are really unsupported.
+
+2005-03-02 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/include/Xos_r.h:
+ Patch #2007 <https://bugs.freedesktop.org/attachment.cgi?id=2007>
+ 1) Fix Solaris #ifdefs to choose between UI/SVR4 (early POSIX draft)
+ and POSIX standard thread API's correctly.
+ 2) Fix calls to POSIX standard versions to check errors correctly.
+ (POSIX defines a return value of 0 on success, errno value on error,
+ but the macros were checking for -1 on error.)
+
+2005-03-02 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/hw/xnest/Screen.c
+ * xc/programs/Xserver/hw/xnest/Window.c
+ * xc/programs/Xserver/hw/xnest/XNWindow.h
+ Bugzilla #2546 (https://bugs.freedesktop.org/show_bug.cgi?id=2546)
+ attachment #2005 (https://bugs.freedesktop.org/attachment.cgi?id=2005):
+ Fix Xnest to update the shape regions in the backend server whenever
+ a client changes them in Xnest (the fix is to add a new wrapper which
+ calls |xnestShapeWindow()| before calling |miSetShape()|).
+ Patch by Mark McLoughlin <mark@skynet.ie>
+
+2005-03-02 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/DragonFly.cf
+ * xc/config/cf/Imake.cf
+ * xc/config/cf/Imakefile
+ * xc/config/imake/imake.c
+ * xc/config/imake/imakemdep.h
+ * xc/extras/drm/shared/drm.h
+ * xc/include/Xos_r.h
+ * xc/lib/xtrans/Xtranssock.c
+ * xc/programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h
+ * xc/programs/Xserver/hw/xfree86/os-support/xf86_libc.h
+ * xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_agp.c
+ * xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmCompat.c
+ Bugzilla #1712 (https://bugs.freedesktop.org/show_bug.cgi?id=1712)
+ attachment #2004 (https://bugs.freedesktop.org/attachment.cgi?id=2004):
+ Add support for DragonFly/BSD platform.
+ Patch by Jeroen Ruigrok <asmodai@tendra.org> and Mike Verona
+ <firedragonfly@gmail.com>.
+
+2005-03-01 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_video.c
+ Fix an off by one error when scaling which caused occasional
+ overlay color lines at the far right and bottom of the window.
+
+2005-03-01 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/GL/glx/Imakefile:
+ Remove stdcall objects in clean rule
+
+2005-02-26 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIMapInit), (SAVAGEDRICloseScreen):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ Fixed ShadowStatus handling with DRI:
+ - always enable ShadowStatus when DRI is enabled
+ - if DRI initialization fails, reset ShadowStatus to configured setting
+ - if DRI initialization fails, fall back to ShadowStatus in framebuffer
+
+2005-02-25 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/cyrix/cyrix_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/dummy/dummy_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/tga/tga_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c:
+ Bug #2605: Make the cyrix, dummy, glint, neomagic, tga, and trident
+ drivers build when BuildXF86DGA NO.
+
+2005-02-24 Alexander Gottwald <ago at freedesktop dot org>
+
+ * config/imake/imake.c:
+ enable detection of gcc compiler for cygwin and mingw
+
+2005-02-24 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/hw/xnest/Screen.c:
+ Bugzilla #2599 (https://bugs.freedesktop.org/show_bug.cgi?id=2599)
+ attachment #1964 (https://bugs.freedesktop.org/attachment.cgi?id=1964):
+ move miScreenInit in front of pScreen->function initializations to
+ prevent it from resetting ClipNotify.
+
+2005-02-22 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ Fix building radeon driver with BuildXF86DRI set to NO,
+ the breakage was caused by the tiling support (bug #2481)
+
+2005-02-21 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * lib/Xt/ActionHook.c
+ * lib/Xt/Alloc.c:
+ * lib/Xt/ArgList.c:
+ * lib/Xt/Callback.c:
+ * lib/Xt/ClickTime.c:
+ * lib/Xt/Composite.c:
+ * lib/Xt/Constraint.c:
+ * lib/Xt/Convert.c:
+ * lib/Xt/Converters.c:
+ * lib/Xt/Core.c:
+ * lib/Xt/Create.c:
+ * lib/Xt/Destroy.c:
+ * lib/Xt/Display.c:
+ * lib/Xt/Error.c:
+ * lib/Xt/Event.c:
+ * lib/Xt/EventI.h:
+ * lib/Xt/EventUtil.c:
+ * lib/Xt/Functions.c:
+ * lib/Xt/GCManager.c:
+ * lib/Xt/Geometry.c:
+ * lib/Xt/GetActKey.c:
+ * lib/Xt/GetValues.c:
+ * lib/Xt/HookObj.c:
+ * lib/Xt/Hooks.c:
+ * lib/Xt/Initialize.c:
+ * lib/Xt/Intrinsic.c:
+ * lib/Xt/Intrinsic.h:
+ * lib/Xt/IntrinsicI.h:
+ * lib/Xt/IntrinsicP.h:
+ * lib/Xt/Keyboard.c:
+ * lib/Xt/Manage.c:
+ * lib/Xt/NextEvent.c:
+ * lib/Xt/Object.c:
+ * lib/Xt/PassivGrab.c:
+ * lib/Xt/Pointer.c:
+ * lib/Xt/Popup.c:
+ * lib/Xt/PopupCB.c:
+ * lib/Xt/RectObj.c:
+ * lib/Xt/ResConfig.c:
+ * lib/Xt/ResourceI.h:
+ * lib/Xt/Resources.c:
+ * lib/Xt/Selection.c:
+ * lib/Xt/SelectionI.h:
+ * lib/Xt/SetValues.c:
+ * lib/Xt/SetWMCW.c:
+ * lib/Xt/Shell.c:
+ * lib/Xt/TMaction.c:
+ * lib/Xt/TMgrab.c:
+ * lib/Xt/TMkey.c:
+ * lib/Xt/TMparse.c:
+ * lib/Xt/TMprint.c:
+ * lib/Xt/TMstate.c:
+ * lib/Xt/Threads.c:
+ * lib/Xt/TranslateI.h:
+ * lib/Xt/VarGet.c:
+ * lib/Xt/Varargs.c:
+
+ Convert lib/Xt to ANSI C (Thomas Dickey).
+ Fixes for a few valgrind warnings (Thomas Dickey).
+
+2005-02-21 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * extras/Xpm/lib/create.c:
+ * extras/Xpm/lib/scan.c:
+ Avoid inifite loops. From Chris Gilbert in bug #1920.
+
+2005-02-19 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c
+
+ Fix an INREG without WaitForIdleMMIO. This one should be
+ unlikely to trigger, but we should still do this in the name
+ of correctness.
+
+2005-02-18 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c
+
+ Add a call to RADEONWaitForIdleMMIO() within RADEONChooseCursorCRTC()
+ as this function uses OUTREGP() which, internally, calls INREG().
+
+ Thus (due to SilkenMouse) INREG() could be called while CP engine
+ was busy. I have observed this lockup on RV350 + R300 3d driver and
+ have no idea why no issues were reported for R200 cards. Perhaps,
+ few of them have enough memory to run merged fb and 3d simultaneously ?
+
+ This fix is the right thing to do, however, we might also need to
+ put fifo management calls into other cursor handling functions
+ (in particular those that write cursor image directly to video memory).
+
+2005-02-18 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/newport/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/newport/newport.h:
+ * programs/Xserver/hw/xfree86/drivers/newport/newport_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/newport/newport_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/newport/newport_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/newport/newport_shadow.c:
+ Bug #2356: Massive acceleration improvements to newport(4).
+ (Dominik Behr)
+
+2005-02-18 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/common/xf86PciInfo.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_chipset.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c:
+ Bug #2576: Add support for ATI RN50/ES1000. (ATI Technologies Inc.)
+
+2005-02-18 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/input/void/void.c:
+ Bug #2467: Fix a segfault in the void(4) driver. (David Wong)
+
+2005-02-18 Adam Jackson <ajax@freedesktop.org>
+
+ * extras/x86emu/src/x86emu/ops2.c:
+ Bug #2455: Make x86emu handle JNL correctly. (David Wong)
+
+2005-02-18 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/atidac.c:
+ Bug #2567: Fix reversed memset arguments. (David Krause)
+
+2005-02-18 Alexander Gottwald <ago at freedesktop dot org>
+
+ * config/cf/mingw.cf:
+ * config/cf/mingw.rules:
+ Update MinGW config files:
+ - Require PThreads
+ - Build xkbcomp
+ - Build libXext
+ - Never build shared libraries
+
+2005-02-18 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/xkbcomp/Imakefile:
+ Do not build cross variant of xkbcomp if UseInstalledOnCrossCompile
+ is defined
+
+2005-02-18 Alexander Gottwald <ago at freedesktop dot org>
+
+ * config/cf/X11.tmpl:
+ * programs/Imakefile:
+ Bugzilla #2569 (https://bugs.freedesktop.org/show_bug.cgi?id=2569)
+ attachment #1929 (https://bugs.freedesktop.org/attachment.cgi?id=1929):
+ make build of xkbcomp configurable
+
+2005-02-18 Alexander Gottwald <ago at freedesktop dot org>
+
+ * lib/Xext/XAppgroup.c:
+ * lib/Xext/Xcup.c:
+ Bugzilla #2570 (https://bugs.freedesktop.org/show_bug.cgi?id=2570)
+ attachment #1930 (https://bugs.freedesktop.org/attachment.cgi?id=1930):
+ fixes build of libXext on mingw
+
+2005-02-13 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c:
+ Bugzilla #2533 (https://bugs.freedesktop.org/show_bug.cgi?id=2533)
+ Feb. 3, 2005 "nv" driver update from Mark Vojkovich
+ (Mainly driver updates for nVidia cards with
+ ((pNv->Chipset & 0xfff0) == 0x0090) )
+
+2005-02-11 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/xf86config/Imakefile:
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ Bug #826: Make xorgconfig respect font installation outside
+ $PROJECTROOT. (Donnie Berkholz)
+
+2005-02-10 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_video.c
+ Fix unaligned YV12 videos that caused skew when playing.
+
+2005-02-10 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_video.c
+ Fix pixmap cache corruption when Xv was in use due to a memory
+ allocator calculation problem.
+
+2005-02-09 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86pciBus.c:
+ * programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c:
+ (linuxPpcBusAddrToHostAddr), (linuxPpcHostAddrToBusAddr):
+ Added PCI2Host bus translations for linux PPC and fixed
+ fixed bugs in macros that apply these functions (Bill Randle
+ Bugzilla #325 and #327).
+
+2005-02-09 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/gnu.cf
+ Bugzilla #2507 (https://bugs.freedesktop.org/show_bug.cgi?id=2507)
+ attachment #1871 (https://bugs.freedesktop.org/attachment.cgi?id=1871):
+ Fix build problems on GNU/Hurd.
+ Patch by Pierre Chifflier <chifflier@cpe.fr>.
+
+2005-02-09 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ do not enable color tiling on r300 chips and newer, since it doesn't work (yet)
+ (Bugzilla #2504)
+
+2005-02-01 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_video.c
+ Setup the Xv atoms correctly.
+
+2005-02-07 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c: (vm86_rep):
+ Save gs register before calling the vm86_old syscall thru
+ int 0x80. This is required for linuxthreads as the TLS uses
+ this register to keep track of local thread storage
+ (Bugzilla #2431, J. Scott Berg).
+
+2005-02-07 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86str.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c:
+ (CheckMode), (i830SetModeParameters):
+ Check the pixel clock choosen for a specific refresh rate
+ against the maximally allowed pixel clock when choosing
+ mode lines for VBESetVBEMode() and VESA BIOS version >= 3.0
+ (Bugzilla #2486).
+
+2005-02-06 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/OpenBSD.sgml:
+ Doc updates for OpenBSD, reflecting X11R6.8.2.
+
+2005-02-06 Luc Verhaegen <libv@skynet.be>
+
+ * programs/Xserver/hw/xfree86/drivers/via/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/via/via.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via.man:
+ * programs/Xserver/hw/xfree86/drivers/via/via_accel.c:
+ (VIAInitAccel):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bandwidth.c:
+ (ViaSetPrimaryFIFO):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bios.c:
+ (ViaDumpVGAROM), (ViaVBEGetActiveDevice):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bios.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_capture.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_common.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_compose.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_cursor.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_dga.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c: (VIASetup),
+ (VIAFreeRec), (VIAPreInit), (VIASave), (VIARestore), (VIAMapMMIO),
+ (VIAMapFB), (VIAUnmapMem), (VIALoadPalette), (VIAScreenInit),
+ (VIAInternalScreenInit), (VIAValidMode), (VIAWriteMode),
+ (VIAAdjustFrame), (VIADPMS):
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_i2c.c:
+ (ViaI2C1PutBits), (ViaI2C1GetBits), (ViaI2CBus1Init),
+ (ViaI2C2PutBits), (ViaI2C2GetBits), (ViaI2CBus2Init),
+ (ViaI2C3Start), (ViaI2C3Address), (ViaI2C3Stop), (ViaI2C3PutBit),
+ (ViaI2C3PutByte), (ViaI2C3GetBit), (ViaI2C3GetByte),
+ (ViaI2CBus3Init), (ViaI2CScan), (ViaI2CInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_i2c.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.c:
+ (ViaCheckCardId):
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_memory.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (ViaTVDetect), (ViaTVInit), (ViaTVSave), (ViaTVRestore),
+ (ViaTVDACSense), (ViaTVSetMode), (ViaTVPower), (ViaTVGetIndex),
+ (ViaOutputsDetect), (VIAGetActiveDisplay), (ViaOutputsSelect),
+ (VIAGetPanelSizeFromDDCv2), (ViaGetModeIndex), (ViaGetVesaMode),
+ (ViaPanelGetIndex), (ViaGetNearestRefresh), (ViaRefreshAllowed),
+ (ViaModeInit), (VIASetPrimaryClock), (VIASetSecondaryClock),
+ (VIASetLCDMode), (ViaModePrimaryVGA), (ViaModeDotClockTranslate),
+ (ViaModePrimary), (ViaModeSecondaryVGA), (ViaModeSecondary),
+ (ViaLCDPower):
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_overlay.c:
+ (viaOverlayGetV1V3Format), (viaOverlayGetSrcStartAddress),
+ (viaOverlayGetYCbCrStartAddress), (viaOverlayHQVCalcZoomWidth),
+ (viaOverlayHQVCalcZoomHeight), (viaOverlayGetFetch),
+ (viaOverlayGetDisplayCount), (rangeEqualize), (vPackFloat),
+ (viaCalculateVideoColor):
+ * programs/Xserver/hw/xfree86/drivers/via/via_overlay.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_priv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_refresh.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_regrec.c:
+ (FlushVidRegBuffer), (ResetVidRegBuffer), (SaveVideoRegister):
+ * programs/Xserver/hw/xfree86/drivers/via/via_regrec.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_shadow.c:
+ (VIARefreshArea), (VIARefreshArea8), (VIARefreshArea16),
+ (VIARefreshArea24), (VIARefreshArea32):
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ (VIAVidHWDiffInit), (viaSetColorSpace), (ViaInitVideoStatusFlag),
+ (ViaSetVidCtl), (ViaYUVFillBlack), (AddHQVSurface),
+ (CreateSurface), (VIAVidCreateSurface), (VIAVidLockSurface),
+ (VIAVidDestroySurface), (SetFIFO_V1), (SetFIFO_V3),
+ (SetFIFO_64or32), (SetFIFO_64or16), (SetFIFO_64or48or32),
+ (SetFIFO_V3_64or32or32), (SetFIFO_V3_64or32or16), (SetupFIFOs),
+ (SetColorKey), (SetChromaKey), (SetVideoStart), (SetHQVFetch),
+ (SetFetch), (SetDisplayCount), (SetMiniAndZoom), (SetVideoControl),
+ (FireVideoCommand), (SetVideoWindow), (Upd_Video),
+ (VIAVidUpdateOverlay), (VIAVidAdjustFrame):
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_tuner.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_tv2.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_tv3.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_vgahw.c: (ViaGrMask):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vgahw.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c:
+ (DecideOverlaySupport), (viaResetVideo), (viaInitVideo),
+ (viaSetupImageVideoG), (CreateSWOVSurface), (DestroySWOVSurface),
+ (viaStopSWOVerlay), (viaSetPortAttributeG), (viaPutImageG),
+ (viaQueryImageAttributesG), (viaPutVideo):
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_vt1622a.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_vt162x.c:
+ (VT162xPrintRegs), (ViaVT162xDetect), (ViaVT162xSave),
+ (ViaVT162xRestore), (ViaVT162xDACSenseI2C), (ViaVT1621DACSense),
+ (ViaVT1622DACSense), (ViaVT1621ModeValid), (ViaVT1622ModeValid),
+ (ViaVT1621ModeI2C), (ViaVT1621ModeCrtc), (ViaVT1622ModeI2C),
+ (ViaVT1622ModeCrtc), (ViaVT1621Power), (ViaVT1622Power),
+ (ViaVT162xInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vt162x.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.c:
+ (ViaInitXVMC), (ViaXvMCCreateSurface), (ViaXvMCCreateSubpicture),
+ (ViaXvMCDestroyContext):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvpriv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/videodev.h:
+
+ Sync with latest unichrome releases:
+ Release 30: Fixes YUV2 alloc/free issues, increased overlay height to
+ 1200, disable ScreenToScreenColorExpand Acceleration, abstract vt162x
+ and clean up standard modetable.
+ Release 29: Further cleanups to Xv, move gpioi2c into xf86I2C, sanely
+ handle output activation (primary only). Fixes many Xv and accel bugs,
+ stops VT switching hardlock with certain dotclocks.
+ Release 28: Major Xv cleanup. Add Xv cropping. Add support for new
+ XvMC info infrastructure. Tuner dropped. AGP ring-buffer support is
+ now an option. Virtual range extended.
+ (Kenneth Aafløy, Thomas Hellström, Felipe Rodriguez, Terry Lewis,
+ Andreas Robinson, Luc Verhaegen)
+
+2005-02-06 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIInitBuffers):
+ Don't clear the front buffer in SAVAGEDRIInitBuffers. Fixes blackness
+ of GL-XScreensaver hacks that grab the screen.
+
+2005-02-05 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/input/fpit/fpit.man:
+ * programs/Xserver/hw/xfree86/input/fpit/readme.txt:
+ * programs/Xserver/hw/xfree86/input/fpit/xf86Fpit.c:
+ (xf86FpitConvert), (xf86FpitReadInput), (xf86FpitControl),
+ (xf86FpitAllocate), (xf86FpitInit):
+ -Add passive pen support to the fpit driver (David M. Clay), bug 2440
+
+2005-02-04 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/common/xf86PciInfo.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_regs.h:
+ Applied patch (id=1354) by Mike A. Harris from bug #1901:
+ The attached patch updates a couple of PCI IDs for the Savage driver --
+ Debian/Ubuntu/Red Hat/Fedora.
+
+2005-02-03 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/programs/Xserver/os/xprintf.c:
+ Bugzilla #1865 (https://bugs.freedesktop.org/show_bug.cgi?id=1865)
+ attachment #1827 (https://bugs.freedesktop.org/attachment.cgi?id=1827):
+ check for va_copy not being defined and use __va_copy if available
+
+2005-02-02 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONDoAdjustFrame): fix error with color tiling and hw scrolling,
+ it looks like rv100 doesn't need the special treatment, after all
+ (reported by Stephane Marchesin)
+
+2005-02-02 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/lib/GL/glx/compsize.c:
+ * xc/programs/Xserver/GL/glx/Imakefile:
+ Bugzilla #1866 (https://bugs.freedesktop.org/show_bug.cgi?id=1866)
+ attachment #1819 (https://bugs.freedesktop.org/attachment.cgi?id=1819):
+ Define APIENTRY on windows to prevent <GL/gl.h> from loading <windows.h>
+ removed leftovers from attachment #1818
+
+2005-02-02 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/programs/Xserver/Imakefile
+ Bugzilla #2245 (https://bugs.freedesktop.org/show_bug.cgi?id=2245)
+ attachment #1817 (https://bugs.freedesktop.org/attachment.cgi?id=1817):
+ Fix linking dependencies on cygwin, bsd and maybe others introduced by
+ attachment #1649 (https://bugs.freedesktop.org/attachment.cgi?id=1649)
+ Link libos.a after libxkb.a to resolve the Xprintf symbol.
+
+2005-02-01 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ - fix long standing bug in depth 24 that made colors look dithered.
+ The CLUT was not being switched to 8 bit mode.
+
+2005-02-01 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/xaa/xaaStateChange.c:
+ Bug #1294: Make sure RenderAccel hooks get wrapped in XAA init.
+
+2005-02-01 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/GL/mesa/drivers/osmesa/Imakefile:
+ Bug #1894: Fix weak dependencies in libOSMesa. Originally Debian
+ patch 063_fix_weak_deps.diff. (Branden Robinson)
+
+2005-02-01 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Sbus.h
+ * xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c
+ * xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c
+ Bugzilla #825 (https://bugs.freedesktop.org/show_bug.cgi?id=825)
+ attachment #956 (https://bugs.freedesktop.org/attachment.cgi?id=956):
+ Fix build problems on Linux/SPARC.
+ Patch by Jeremy Huddleston <eradicator@gentoo.org>.
+ Approved in the 2005-01-31 Xorg release-wranglers phone call.
+
+2005-02-02 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage.man:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ - Changed option ForcePCIMode to option BusType for consistency
+ with other drivers (radeon) and the DmaType option.
+ - Changed the type of a few more messages in SavagePreInit.
+ - Updated the manual page.
+ - Moved option CrtOnly to a more sensible place in the man page.
+
+2005-02-01 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xmore/xmore.man
+ * xc/programs/xmore/xmore.sgml
+ Bugzilla #2410 (https://bugs.freedesktop.org/show_bug.cgi?id=2410)
+ attachment #1786 (https://bugs.freedesktop.org/attachment.cgi?id=1786):
+ Fix formatting problem in the xmore(1x) manual page.
+ Patch by Matthieu Herrb <matthieu.herrb@laas.fr> and Roland Mainz
+ <roland.mainz@nrubsig.org>.
+ Approved in the 2005-01-31 Xorg release-wranglers phone call (the
+ xmore.man diff is an automatic update from the DocBook--->man
+ conversion).
+
+2005-02-01 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/Imake.rules:
+ * config/cf/Imake.tmpl:
+ Bug #1054: dlloader modules need to statically link against libgcc.
+
+2005-02-01 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_dri.c
+ Check return value of i830InitDma() and fail to initialize the DRI
+ if that fails.
+ Also, check the DRM module name that it matches i915 and not the
+ older i830 driver which some people were still trying to use
+ and was causing Dma Initialization failures and lockups.
+
+2005-02-01 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/programs/Xserver/xkb/ddxLoad.c
+ * xc/programs/Xserver/xkb/ddxList.c:
+ Bugzilla #2245 (https://bugs.freedesktop.org/show_bug.cgi?id=2245)
+ attachment #1649 (https://bugs.freedesktop.org/attachment.cgi?id=1649):
+ cleanup the generation of xkbcomp command lines. Allocate them dynamicly
+ and remove unmaintainable length calculation.
+
+2005-02-01 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ Bugzilla #2410 (https://bugs.freedesktop.org/show_bug.cgi?id=2410)
+ attachment #1782 (https://bugs.freedesktop.org/attachment.cgi?id=1782):
+ Build the XRX plugin only if the system supports shared libraries
+ (which is a requirement for this plugin).
+ Patch by Matthieu Herrb <matthieu.herrb@laas.fr>.
+ Approved in the 2005-01-31 Xorg release-wranglers phone call.
+
+2005-02-01 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/nls/Compose/pt_BR.UTF-8
+ * xc/nls/XLC_LOCALE/pt_BR.UTF-8
+ Bugzilla #2400 (https://bugs.freedesktop.org/show_bug.cgi?id=2400)
+ attachment #1762 (https://bugs.freedesktop.org/attachment.cgi?id=1762):
+ Fix build bustage caused by broken patch for brazillian locale support
+ (see Bugzilla #1896).
+ Patch by Kevin E. Martin <kem@freedesktop.org>.
+
+2005-02-01 Daniel Stone <daniel@freedesktop.org>
+
+ * config/cf/linux.cf:
+ * config/cf/xorg.cf:
+ Re-enable building of tdfx for ia64 and amd64, since libglide3 is
+ available there.
+
+2005-01-31 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man
+ change option EnableColorTiling to ColorTiling
+
+2005-01-31 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage.man:
+ Update the savage manual page:
+ - Added options AGPSize, DmaType and ForcePCIMode.
+ - Updated DisableCOB: 3D requires COB, default value is "off", which
+ means that the COB is enabled.
+
+2005-01-31 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageInitialize2DEngine):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (ShadowWait), (ShadowWaitQueue), (WaitQueue3D), (WaitQueue4),
+ (WaitQueue2K), (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ - Shadow status update thresholds on Savage4 were reversed. Fixed now.
+ - Fixed cobIndex on Savage2K. It used only a 4K COB so far. Now we
+ have full 128K.
+ - Program the shadow status thresholds correctly on Savage2K.
+ - Savage2K reports used entries in the queue in qword units instead
+ of dwords. Fixed WaitQueue2K accordingly.
+ - Event counter 0 is in status word 2 instead of status word 1 on
+ Savage2K. Fixed ShadowWait accordingly.
+ - Added a ShadowWaitQueue function that doesn't idle the engine
+ all the time. This improves 3D animation smoothness with concurrent
+ 2D activity when shadow status is enabled.
+
+2005-01-30 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageSetGBD_3D):
+ - Update comments about tiled surface regs for savage3d
+
+2005-01-30 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIAgpInit), (SAVAGEDRIBuffersInit), (SAVAGEDRIKernelInit),
+ (SAVAGEDRIScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ Added two new options "DmaType" and "ForcePCIMode".
+
+2005-01-30 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/X11/Imakefile
+ Bugzilla #1090 <https://bugs.freedesktop.org/show_bug.cgi?id=1090>
+ Fix typo in filename of IsModifierKey man page
+ (Reported by Pavel Tsekov <ptsekov@gmx.net>)
+
+2005-01-30 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c
+ Bugzilla #1692 <https://bugs.freedesktop.org/show_bug.cgi?id=1692>
+ Remove reference to nonexistent Monitors file from xorgconfig
+ (Report & patch from Dejan Lesjak <dejan.lesjak@ijs.si>)
+
+2005-01-30 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c
+ Fix option dontVTSwitch under *BSD, when XKB is disabled.
+ Bugzilla #2252.
+ * config/cf/OpenBSD.cf
+ - Enable DoLoadableServer on amd64 and macppc, since the Dlloader
+ works on these architectures
+ - Reenable build of freetype, expat and xterm since OpenBSD
+ doesn't provide alternative sources for those.
+ - use gcc -pipe as on base system.
+ * config/cf/OpenBSDLib.tmpl
+ bump libICE minor version here too.
+
+2005-01-28 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/etc/pci.ids:
+ Update to latest rev from http://pciids.sf.net/
+ * programs/Xserver/hw/xfree86/etc/extrapci.ids:
+ Remove entries that now duplicate pci.ids
+ Add entries for new Nvidia boards added in recent nv driver update
+
+2005-01-29 Daniel Stone <daniel@freedesktop.org>
+
+ * config/cf/X11.tmpl:
+ * lib/ICE/ICElib.h:
+ * lib/ICE/misc.c:
+ * lib/SM/sm_manager.c:
+ Move _IceGetPeerName into the ICE public API as IceGetPeerName; bump ICE
+ soversion to 6.4 accordingly. Change SM's use to the public version.
+ The old version will be retained for compatibility.
+
+2005-01-28 Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+
+ * lib/X11/StrKeysym.c:
+ - cleaned up boundary-case handling for Uxxxx Unicode keysym notation
+
+2005-01-28 Thomas Winischhofer <thomas-at-winischhofer-dot-net>
+
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb.h:
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb_accel.c:
+ (SiSUSBAccelInit):
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb_cursor.c:
+ (SiSUSBLoadCursorImage), (SiSUSBLoadCursorImageARGB):
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb_driver.c:
+ (sisusbSetup), (SISUSBDriverFunc), (SISUSBProbe),
+ (SiSUSB_CheckModeCRT1), (SISUSBSearchCRT1Rate):
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb_init.c:
+ (SiSUSB_CalcCRRegisters), (SiSUSBBuildBuiltInModeList):
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb_init.h:
+ * programs/Xserver/hw/xfree86/drivers/sisusb/sisusb_video.c:
+ - Accelerate HWcursor upload in double scan modes
+ - Add "driverfunc" and report no hardware access needed
+ - Remove unneeded stuff
+
+2005-01-28 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Bus.c:
+ (xf86FindPrimaryDevice):
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c:
+ (DoConfigure):
+ * programs/Xserver/hw/xfree86/common/xf86DoProbe.c: (DoProbe):
+ * programs/Xserver/hw/xfree86/common/xf86Events.c: (xf86VTSwitch):
+ * programs/Xserver/hw/xfree86/common/xf86Globals.c:
+ * programs/Xserver/hw/xfree86/common/xf86Helper.c: (xf86AddDriver),
+ (xf86AllocateScreen):
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (InitOutput),
+ (ddxProcessArgument), (ddxUseMsg):
+ * programs/Xserver/hw/xfree86/common/xf86Priv.h:
+ * programs/Xserver/hw/xfree86/common/xf86RandR.c:
+ (xf86RandRGetInfo), (xf86RandRSetConfig):
+ * programs/Xserver/hw/xfree86/common/xf86str.h:
+ * programs/Xserver/hw/xfree86/drivers/dummy/dummy_driver.c:
+ (dummySetup), (dummyDriverFunc):
+ * programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c: (FBDevSetup),
+ (FBDevDriverFunc):
+ * programs/Xserver/hw/xfree86/etc/scanpci.c: (main):
+ * programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/bsd/arm_video.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/bsdi/bsdi_video.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.c:
+ * programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c:
+ (ix86PciSelectCfgmech):
+ * programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c:
+ (linuxPciOpenFile), (linuxPciCfgRead), (linuxPciCfgWrite),
+ (linuxPciCfgSetBits), (xf86GetPciDomain), (linuxMapPci):
+ * programs/Xserver/hw/xfree86/os-support/bus/ppcPci.c:
+ (ppcPciInit), (motoppcPciInit), (buserr), (pciCfgMech1Read),
+ (pciCfgMech1Write), (pciCfgMech1SetBits):
+ * programs/Xserver/hw/xfree86/os-support/hurd/hurd_video.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c:
+ (xf86OpenConsole), (xf86CloseConsole):
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c:
+ (SetKbdRepeat):
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/lynxos/lynx_video.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/nto/nto_ioperm.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/os2/os2_ioperm.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/sco/sco_iop.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/shared/ioperm_noop.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_vid.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/sysv/sysv_video.c:
+ (xf86EnableIO):
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSproc.h:
+ Modifying X.Org Xserver DDX to allow to run X with ordinary
+ user permissions when no access to HW registers is required.
+ For API changes which mostly involve the modifications to
+ make the RRFunc (introduced with 6.8) more flexible please
+ check Bugzilla #2407.
+ NOTE: This patch applies changes to OS specific files for
+ other OSes which I cannot test.
+
+2005-01-27 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xrx/plugin/include/npapi.h
+ Bugzilla #2398 (https://bugs.freedesktop.org/show_bug.cgi?id=2398)
+ attachment #1765 (https://bugs.freedesktop.org/attachment.cgi?id=1765):
+ Fix build bustage on AIX.
+ Patch by Dan McNichol <mcnichol@austin.ibm.com>.
+
+2005-01-27 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * lib/Xaw/XawIm.c: (SizeNegotiation), (CreateIC), (SetICValues):
+ Muffle gcc4 sentinel (trailing NULL in varargs list) check
+ (Marcus Meissner, Bugzilla #2392).
+
+2005-01-27 Daniel Stone <daniel@freedesktop.org>
+
+ * include/extensions/scrnsaver.h:
+ Include <X11/Xlib.h>.
+
+2005-01-26 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_common.h
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_sarea.h
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_version.h
+ (Stephane Marchesin, me) Add support for color (framebuffer) tiling.
+ Convert all XAA accel code to use explicit dst and src offset pitch
+ control to make it work.
+ Use the new drm surface ioctls to set up the tiled surfaces
+ (if dri is enabled).
+ (retroactively applied to Changelog)
+
+2005-01-26 Roland Scheidegger <rscheidegger_lists@hispeed.ch>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
+ fix issues with mergedfb + pageflip (fix up sarea frame values)
+
+2005-01-26 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ Fix tiled framebuffer setup on Savage3D (Alex Deucher)
+
+2005-01-26 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/xorg.cf:
+ Disable building the Savage DRI driver.
+
+2005-01-26 Alexander Gottwald <ago at freedesktop dot org>
+
+ * config/cf/mingw.cf:
+ Define HasFreetype2 and HasZlib to NO.
+
+2005-01-26 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86pciBus.c:
+ (IsBaseUnassigned64), (FindPCIVideoInfo):
+ When we tested if a PCI base address was unassigned we
+ didn't take into account that this bar could have been
+ the upper part of a 64bit base address.
+ This fix makes this code 64bit bar aware (Bugzilla #2382).
+
+2005-01-26 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Bus.c: (RemoveOverlaps):
+ Rewrite of RemoveOverlaps() to make the code more readable.
+ It was virtually impossible to determine if the old code did
+ what it was supposed to do. Also changed paradigm:
+ Trust the based address more than the (guessed) size
+ (Bugzilla #2383).
+
+2005-01-25 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c:
+ Jan. 2005 nv chipset update from Mark Vojkovich
+ Bug #2380 <https://bugs.freedesktop.org/show_bug.cgi?id=2380>
+ Patch #1752 <https://bugs.freedesktop.org/attachment.cgi?id=1752>
+
+2005-01-25 Thomas Winischhofer <thomas-at-winischhofer-dot-net>
+
+ * config/cf/linux.cf:
+ * programs/Xserver/hw/xfree86/drivers/sisusb:
+ Add sisusb driver
+
+2005-01-25 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86pciBus.c:
+ (FindPCIVideoInfo):
+ * programs/Xserver/hw/xfree86/os-support/bus/xf86Pci.h:
+ Fix interpretation of 64bit PCI bases: read hi long word
+ from the right bar (Michael Yaroslavtsev, Bugzilla #2322).
+
+2005-01-25 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c:
+ (VIAInitVisualConfigs), (VIADRIScreenInit),
+ (VIADRIFinishScreenInit):
+ Fixes for the visual fixup commits:
+ - Fix DRM memory manager initialization so that it doesn't
+ overlap the pixmap cache.
+ - Set accumAlphaSize to 0 for 16bpp visuals.
+
+2005-01-24 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/i2c/xf86i2c.c:
+ Bug #2004: Make DDC delay slightly longer. (Thomas J. Moore)
+
+2005-01-24 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (RADEONCopyData), (RADEONCopyRGB24Data), (RADEONCopyMungedData):
+ Don't exclude 'RADEONInfoPtr info = ...' declaration even when
+ not building with DRI support (Bugzilla #2370)
+
+2005-01-24 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ Adding vgaHW module to PPC64 architecture.
+
+2005-01-24 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ Adding dummy driver support to all platforms which don't build
+ it by default yet. The dummy driver is completely generic and
+ should work everywhere (Bugzilla #2369).
+
+2005-01-24 Egbert Eich <eich-at-freedesktop-dot-org>
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c:
+ (I810DRILeave):
+ Unmap XCursor AGP memory on VT switch to prevent system from lockup
+ (Matthias Hopf, Bugzilla #2329).
+
+2005-01-24 Daniel Stone <daniel@fooishbar.org>
+
+ * config/cf/Imake.tmpl:
+ * config/cf/X11.tmpl:
+ Disable potentially dangerous FreeType, zlib and libpng builds by
+ default. Disable xterm and XRX builds per default.
+
+2005-01-21 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/Xext/Imakefile:
+ * doc/man/Xext/XcupGetReservedColormapEntries.man:
+ * doc/man/Xext/XcupQueryVersion.man:
+ * doc/man/Xext/XcupStoreColors.man:
+ Add man pages for TOG-CUP extension functions. (Converted to
+ man page format by Sun based on TOG-CUP specification docs.)
+
+2005-01-21 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/linux.cf:
+ * programs/Xserver/hw/xfree86/os-support/linux/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_font.c:
+ (lnx_savefont):
+ * programs/Xserver/hw/xfree86/vgahw/Imakefile:
+ Alan Cox requested that we check the kernel version before
+ we use kernel VGA font save/restore as the required features
+ have been added to Linux 2.6.11 (Bugzilla #2277).
+
+2005-01-21 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_accel.c:
+ (AccelInit):
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c:
+ (chipsPreInitHiQV), (chipsModeInitHiQV):
+ Comparing the C&T driver code with the original BE support patch
+ by Rob Taylor and Jean-Laurent Gazelle it looks like the handling
+ of the availability of a dual endian fb aperture and the byte
+ swapping control bit appears to be slightly wrong.
+ This patch attempts to fix it (Bugzilla #2346).
+
+2005-01-19 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/config/imake/imakemdep.h:
+ Pass through additional #defines for Solaris.
+ (Sun bug id #5097074 - Alan Coopersmith)
+
+2005-01-19 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Xinput.c:
+ Fix debugging ErrorF() so it compiles when DEBUG is true.
+
+Wed Jan 19 16:52:51 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/Imakefile: Add MMXOPTIONS to fbcopy.c
+
+2005-01-19 Alan Coopersmith <alan.coopersmith@sun.com>
+ * doc/man/Xt/Imakefile
+ * doc/man/Xt/XtAddCbk.man
+ * doc/man/Xt/XtAddIn.man
+ * doc/man/Xt/XtAllocGC.man
+ * doc/man/Xt/XtAppE.man
+ * doc/man/Xt/XtAppEM.man
+ * doc/man/Xt/XtAppSTC.man
+ * doc/man/Xt/XtClass.man
+ * doc/man/Xt/XtConvSt.man
+ * doc/man/Xt/XtConvert.man
+ * doc/man/Xt/XtCreateSR.man
+ * doc/man/Xt/XtDisplayI.man
+ * doc/man/Xt/XtErr.man
+ * doc/man/Xt/XtErrM.man
+ * doc/man/Xt/XtExtEvDis.man
+ * doc/man/Xt/XtGEDB.man
+ * doc/man/Xt/XtGetANC.man
+ * doc/man/Xt/XtGetActK.man
+ * doc/man/Xt/XtGetAres.man
+ * doc/man/Xt/XtGetSTO.man
+ * doc/man/Xt/XtGetSres.man
+ * doc/man/Xt/XtInit.man
+ * doc/man/Xt/XtInitWC.man
+ * doc/man/Xt/XtManChild.man
+ * doc/man/Xt/XtOffset.man
+ * doc/man/Xt/XtOwnSel.man
+ * doc/man/Xt/XtRegDraw.man
+ * doc/man/Xt/XtResPA.man
+ * doc/man/Xt/XtSession.man
+ * doc/man/Xt/XtSetLangP.man
+ * doc/man/Xt/XtSetSP.man
+ * doc/man/Xt/XtSetVal.man
+ * doc/man/Xt/XtSetWMC.man
+ Xt man page cleanups/merge with Sun versions (Alan Coopersmith &
+ Sun Microsystems docs teams)
+ Bug #2331 <https://bugs.freedesktop.org/show_bug.cgi?id=2331>
+ Attachment #1718 <https://bugs.freedesktop.org/attachment.cgi?id=1718>
+
+2005-01-19 Thomas Winischhofer <thomas@winischhofer.net>
+ SiS driver (all files)
+ - Fix off-by-one error in setting up offscreen-images
+ - Fix for retrieval of mode timing from BIOS for LCD
+ - Fix for DGA in MergedFB mode
+ - Code size reduction by more calculations, less tables
+ - ShadowFB uses fast memcpy (correctly) now
+ - Prefer user given modes over default ones
+ - Add ForcePanelRGB option
+ - Wrap fb and MMIO access with macros for easier porting
+
+2005-01-18 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/nls/compose.dir
+ * xc/nls/locale.dir
+ * xc/nls/Compose/Imakefile
+ * xc/nls/Compose/pt_BR.UTF-8
+ * xc/nls/XI18N_OBJS/Imakefile
+ * xc/nls/XI18N_OBJS/pt_BR.UTF-8
+ * xc/nls/XLC_LOCALE/Imakefile
+ * xc/nls/XLC_LOCALE/pt_BR.UTF-8
+ * xc/programs/Xserver/XpConfig/Imakefile
+ Bugzilla #1896 (https://bugs.freedesktop.org/show_bug.cgi?id=1896)
+ attachment #1675 (https://bugs.freedesktop.org/attachment.cgi?id=1675):
+ Add support for pt_BR.UTF-8 locale.
+ Patch by Gustavo Noronha Silva, Branden Robinson, Julien Lafon.
+
+2005-01-17 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/input/evdev/evdev.c (EvdevReadInput)
+ (EvdevReadInput): Handle horizontal wheel events and move mapping
+ of extra buttons up so they don't overlap the wheel buttons.
+ Patch from Alan Swanson (#968).
+
+2005-01-15 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/fb/fbmmx.c:
+ * programs/Xserver/fb/fbpict.c:
+ * programs/Xserver/fb/fbpict.h:
+ Bug #1895: Fix fbComposeGetSolid for BGR. (David S. Miller)
+
+Fri Jan 14 17:03:40 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/mi/miwindow.c (miSlideAndSizeWindow): Fix from Keith
+ Packard for bitgravity bugs in the Composite extension, reported
+ by Amir Bukhari.
+
+Fri Jan 14 11:12:46 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbpict.c (fbComposite): Use mmx CopyArea in
+ a few more places.
+
+2005-01-14 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86PM.c: (eventName),
+ (DoApmEvent), (xf86HandlePMEvents):
+ - Don't suspend Xserver on APM standby request as this seems
+ to cause problems on may systems which don't support APM
+ standby and might not be required as according to the APM
+ specs the chips should receive enough power to retain its
+ state.
+ - Print out power state change requests to log file in all
+ verbosity levels.
+ - Don't change server state if no driver PM function is
+ registered.
+ (Bugzilla #2279)
+
+2005-01-14 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/linux.cf:
+ * programs/Xserver/hw/xfree86/os-support/linux/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx.h:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_font.c:
+ (getfont), (lnx_savefont), (setfont), (lnx_restorefont),
+ (lnx_switchaway), (lnx_freefontdata):
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c:
+ (xf86OpenConsole), (xf86CloseConsole):
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c:
+ * programs/Xserver/hw/xfree86/os-support/shared/VTsw_usl.c:
+ (xf86VTSwitchAway):
+ * programs/Xserver/hw/xfree86/vgahw/Imakefile:
+ * programs/Xserver/hw/xfree86/vgahw/vgaHW.c: (vgaHWRestoreFonts),
+ (vgaHWSaveFonts):
+ Let the OS instead of X save/restore text console fonts on Linux.
+ So far we relied on the generic VGA layer to restore text console
+ fonts for us when shutting down the server or VT switching back
+ to the text console.
+ This has worked rather well but it has some downsides on Linux:
+ a. Many people use fbdev as console text mode. In this case it is
+ not necessary to save/restore console fonts as the console is
+ running in graphics mode anyway.
+ b. Some architectures don't have a fbdev console but require a
+ full POST of even the primary card (ie. IA64). This posting
+ has to take place before we even have a chance to save
+ anything. Therefore the fonts we save are the once written to
+ the chip by POST, not what has been programmed by the user.
+ c. Certain chipsets utilize the BIOS to perform mode setting. This
+ may interfer with the vga save/restore font function in a
+ strange way.
+ It would therefore be preferrable to let the OS - which has been
+ used to set up the font in the first place - take care of
+ saving/restoring the data.
+ I will attach a patch which will do so for Linux.
+ To make this fully functional a small patch needs to be applied to
+ the Linux kernel.
+ To disable this feature add:
+ #define DoOSFontRestore NO
+ to your host.def. (Bugzilla #2277)
+
+2005-01-14 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * lib/X11/lcFile.c: (normalize_lcname):
+ Made some security enhancements:
+ - no writing past end of buffer caused by bogus locale.
+ - explicitely add a \0 character at end of string.
+ (Ienup Sung, Bugzilla #2262)
+
+2005-01-14 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c
+ Disable 32bpp depth buffers (Mesa limitations)
+
+2005-01-14 Alexander Gottwald <ago at freedesktop dot org>
+ * xc/programs/Xserver/os/xprintf.c:
+ Added copyright notice.
+
+2005-01-14 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/afb/afbbres.c
+ * xc/programs/Xserver/afb/afbbresd.c
+ * xc/programs/Xserver/afb/afbclip.c
+ * xc/programs/Xserver/afb/afbhrzvert.c
+ * xc/programs/Xserver/afb/afbline.c
+ * xc/programs/Xserver/afb/afbmodule.c
+ * xc/programs/Xserver/afb/afbpixmap.c
+ * xc/programs/Xserver/afb/afbpolypnt.c
+ * xc/programs/Xserver/afb/afbpushpxl.c
+ * xc/programs/Xserver/afb/afbtegblt.c
+ * xc/programs/Xserver/cfb/Imakefile.inc
+ * xc/programs/Xserver/cfb/cfballpriv.c
+ * xc/programs/Xserver/cfb/cfbbitblt.c
+ * xc/programs/Xserver/cfb/cfbcppl.c
+ * xc/programs/Xserver/cfb/cfbgc.c
+ * xc/programs/Xserver/cfb/cfbglblt8.c
+ * xc/programs/Xserver/cfb/cfbmap.h
+ * xc/programs/Xserver/cfb/cfbpixmap.c
+ * xc/programs/Xserver/cfb/cfbscrinit.c
+ * xc/programs/Xserver/cfb/cfbtab.h
+ * xc/programs/Xserver/cfb/cfbteblt8.c
+ * xc/programs/Xserver/cfb/cfbunmap.h
+ * xc/programs/Xserver/mfb/maskbits.c
+ * xc/programs/Xserver/mfb/maskbits.h
+ * xc/programs/Xserver/mfb/mergerop.h
+ * xc/programs/Xserver/mfb/mfb.h
+ * xc/programs/Xserver/mfb/mfbclip.c
+ * xc/programs/Xserver/mfb/mfbfont.c
+ * xc/programs/Xserver/mfb/mfbgc.c
+ * xc/programs/Xserver/mfb/mfbmisc.c
+ * xc/programs/Xserver/mfb/mfbpushpxl.c
+ * xc/programs/Xserver/XpConfig/Imakefile
+ Bugzilla #1114 (https://bugs.freedesktop.org/show_bug.cgi?id=1114)
+ attachment #667 (https://bugs.freedesktop.org/attachment.cgi?id=667):
+ Convert afb and cfb{,16,24,32} to be dlloader-friendly.
+ Patch by Adam Jackson <ajax@freedesktop.org>.
+
+2005-01-14 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/sunleo/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_bcopy.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_checks.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_frect.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_frectsp.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_fspans.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_fspanssp.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_gc.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_gc.h:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_glyph.c:
+ * programs/Xserver/hw/xfree86/drivers/sunleo/leo_stubs.c:
+ Bug #1259: Convert sunleo(4) to fb.
+
+2005-01-14 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_bcopy.c:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dga.c:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb.h:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_rcache.h:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/ffb_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/sunffb/Imakefile:
+ Bug #1891: XAA support for Sun FFB. (Dave S. Miller)
+
+2005-01-14 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/xorg.cf:
+ Use dlloader by default for loadable server builds.
+
+2005-01-14 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/nls/compose.dir
+ * xc/nls/locale.alias
+ * xc/nls/locale.dir
+ * xc/programs/Xserver/XpConfig/Imakefile
+ Bugzilla #1830 (https://bugs.freedesktop.org/show_bug.cgi?id=1830)
+ attachment #1674 (https://bugs.freedesktop.org/attachment.cgi?id=1674):
+ Adding support for the bs_BA (bs, bs_BA, bs_BA.iso88592,
+ bs_BA.ISO-8859-2, bs_BA.ISO_8859-2, bs_BA.UTF-8) locale.
+ Patch by Vedran Ljubovic <vljubovic@smartnet.ba>.
+
+Thu Jan 13 17:45:13 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/GL/glx/glxcmds.c (DoCreateGLXPixmap): Make sure
+ the pixmap is a valid new resource
+
+ * programs/Xserver/GL/glx/glxcmds.c (DoCreateContext): Make sure
+ the context is a legal new resource.
+
+ * lib/GL/glx/glx_pbuffer.c (CreatePbuffer): Handle null
+ attrib_list.
+
+ * lib/GL/glx/glx_pbuffer.c (CreateDrawable): Handle null
+ attrib_list; copy attrib_list to data; actually allocate the new
+ GLXDrawable.
+
+Thu Jan 13 15:40:29 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/fb/fbmmx.c (fbCompositeSrc_8888x8x8888mmx): Add
+ MMX implementation of non-repeating source IN repeating mask, aka
+ "translucent window".
+
+ * programs/Xserver/fb/fbmmx.c (fbCopyAreammx,
+ fbCompositeCopyAreammx): Add MMX implementation of CopyArea.
+
+ * programs/Xserver/fb/fbcopy.c (fbCopyNtoN): Use MMX
+ implementation of CopyArea.
+
+ * programs/Xserver/fb/fbpict.c (fbComposite): Use the new
+ implementations.
+
+2005-01-13 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+
+ Some of the newer Radeons (R420 for example) have MM_TABLE's
+ with size 0x33 (instead of 0x0c that we know). Furthermore,
+ they lockup during access of I2C bus !
+
+ Add a check to validate MM_TABLE.
+
+2005-01-12 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/common/compiler.h:
+ Bug #2114: PPC64 Linux build fix: use system definition of eieio().
+ Originally Gentoo bug #66223. (Tim Yamin, Donnie Berkholz)
+
+2005-01-12 Kristian Høgsberg <krh@redhat.com>
+
+ * config/cf/linux.cf:
+ * programs/Xserver/hw/xfree86/input/evdev/evdev.c:
+ * programs/Xserver/hw/xfree86/input/evdev/Imakefile:
+ Add new evdev input driver. This driver uses the linux input
+ layer directly and can handle both mice and keyboards.
+
+ * ChangeLog:
+ Convert this to UTF-8 again. The ChangeLog should be kept in
+ UTF-8.
+
+2005-01-12 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_driver.c
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_driver.h
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.h
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_memcpy.c
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_cursor.c
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_accel.c
+ Import some changes from the Unichrome project.
+ - Fixes 2D acceleration problems
+ - Adds AGP DMA
+
+2005-01-11 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c
+ More visual fixing.
+
+2005-01-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * lib/X11/lcFile.c: (normalize_lcname), (_XlcResolveLocaleName):
+ 'Normalize' locale names (ie. remove any '-' and '_' and convert
+ to lower case after the <language>_<territory> part) before
+ matching against locale.alias (Bugzilla #2262).
+ This needs adequate testing that we don't accidentally introduce
+ undesirable side effects.
+
+2005-01-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ Don't build tdfx DRI driver on any platform but x86 and AXP
+ as therequired Glide3 lib is only available there (if at all).
+ Readability fixes (Bugzilla #2264).
+
+2005-01-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/chips/chips.man:
+ Explain the FpMode option (Bugzilla #2261).
+
+2005-01-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/ddc/edid.h:
+ Minor format fix.
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c: (KbdPreInit),
+ (PostKbdEvent):
+ Added explanatory comment and debug code.
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_apm.c:
+ (lnxPMConfirmEventToOs):
+ Added comment.
+
+2005-01-11 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c
+ Add alpha buffer initialization to 32bpp modes.
+ Move 24/8 mode to first exported mode as it works best (currently).
+
+2005-01-10 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/spooler.c
+ Bugzilla #2167 (https://bugs.freedesktop.org/show_bug.cgi?id=2167)
+ attachment #1641 (https://bugs.freedesktop.org/attachment.cgi?id=1641):
+ Fix broken Solaris print queue enumeration.
+
+2005-01-11 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIAgpInit), (SAVAGEDRIBuffersInit), (SAVAGEDRIKernelInit),
+ (SAVAGEDRIScreenInit), (SAVAGEDRIFinishScreenInit),
+ (SAVAGEDRICloseScreen):
+ - Support for PCI Savages: on PCI cards don't run
+ SAVAGEDRIAgpInit, add PCI DMA buffers instead of AGP
+ buffers. Set dma_type properly in SAVAGEDRIKernelInit.
+ - Something's still wrong with ShadowStatus on the PCI card I'm
+ testing here. Probably a DRM issue.
+ - Fixed error handling. Call SAVAGEDRICloseScreen instead of
+ DRICloseScreen.
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_regs.h:
+ - Added AGP/PCI detection (copied from the radeon driver).
+
+2005-01-10 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/linux.cf:
+ * config/cf/xorg.cf:
+ Make MIPS build rules more standard conformant: Use a macro
+ defined in the project specific config file for OptimizedCDebugFlags.
+
+2005-01-10 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/attributes.h
+ Bugzilla #2254 (https://bugs.freedesktop.org/show_bug.cgi?id=2254)
+ attachment #1659 (https://bugs.freedesktop.org/attachment.cgi?id=1659):
+ Refix for gcc4.0 build failure. It seems that the |ExecCommand()|
+ function has no consumer and can safely be removed.
+
+2005-01-10 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ When having a place to define DevelDrivers for AMD64
+ we should have reference it, too.
+
+2005-01-10 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c: (PostKbdEvent):
+ PC keyboards internally generate a different scan code when the
+ ALT modifier is pressed with the SysReq/Print key. Since X expects
+ the same scancode regardless of the modifier the keyboard driver
+ has to 'map the code back'. So far it does so when seeing the
+ SysReq scancode without checking if the modifier is on. If this
+ scancode is also sent by another key on an extended keyboard it
+ receives the same remapping.
+ Fix: Add check for ALT modifier down before doing the remapping
+ (Bugzilla #2255, Helmut Fahrion).
+
+2005-01-10 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Util.c
+ * xc/programs/Xserver/Xprint/attributes.h
+ * xc/programs/Xserver/Xprint/ps/Ps.h
+ Bugzilla #2254 (https://bugs.freedesktop.org/show_bug.cgi?id=2254)
+ attachment #1654 (https://bugs.freedesktop.org/attachment.cgi?id=1654):
+ Fix gcc4.0 build failure.
+ Patch by Egbert Eich <eich@freedesktop.org> and Roland Mainz
+ <roland.mainz@nrubsig.org>
+
+2005-01-10 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c:
+ (SpecialKey):
+ Make option 'DontVTSwitch' work again with kbd driver
+ under Linux.
+ The kbd driver now calls the OS layer to handle special
+ keys. Possibly other special keys and other OSes need to
+ be looked at also.
+ (Bugzilla #2252, Helmut Fahrion).
+
+2005-01-10 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ Revert some changes to TweakMemorySize
+
+2005-01-09 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/config/cf/mingw.cf:
+ Adjust XVendorManNameString, XVendorContact, OSName and OSVendor
+
+2005-01-10 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_driver.c
+ * xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c
+ Fix VIA DRI initialization so that the correct visuals are exported.
+
+2005-01-09 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/programs/Xserver/Imakefile:
+ Fix library dependencies for libxkb.a on cygwin and mingw.
+
+2005-01-09 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/programs/Xserver/xkb/ddxList.c
+ * xc/programs/Xserver/xkb/ddxLoad.c
+ Bugzilla #2245 (https://bugs.freedesktop.org/show_bug.cgi?id=2245)
+ attachment #1647 (https://bugs.freedesktop.org/attachment.cgi?id=1647):
+ export Win32System and Win32TempDir
+ remove #ifdef WIN32 block for building xkbcomp commandline
+ create win32 tempfile in system tempdir
+ use PATH_MAX*4 for commandline buffer
+ unlink tempfile again
+
+2005-01-09 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/programs/Xserver/xkb/ddxLoad.c
+ Bugzilla #2245 (https://bugs.freedesktop.org/show_bug.cgi?id=2245)
+ attachment #1645 (https://bugs.freedesktop.org/attachment.cgi?id=1645):
+ cleanup some #ifdef __UNIXOS2__ and WIN32 blocks.
+ make OutputDirectory check the size of the buffer
+ quote all file and pathnames in the xkbcomp commandline
+ use PATH_MAX*4 for commandline buffer
+
+2005-01-09 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/include/Xwindows.h:
+ Make sure PATH_MAX is at least 1024
+
+2005-01-08 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint.cpp
+ Bugzilla #2240 (https://bugs.freedesktop.org/show_bug.cgi?id=2240)
+ attachment #1642 (https://bugs.freedesktop.org/attachment.cgi?id=1642):
+ Fix incorrect usage of /usr/bin/tr in startup script (the used
+ "[\n]" is neither correct or portable, using "\n" seems to be
+ sufficient (this fixes various "random" issues, including
+ including Debian bug #258419 and Debian bug #264983).
+ Patch by Drew Parsons <dparsons@debian.org>.
+
+2005-01-07 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/lib/GL/mesa/tnl/Imakefile.inc
+ Add missing t_vb_cull.c
+
+2005-01-06 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i830_context.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/intel_context.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i915_context.c
+ Cleanup of extension string handling (Ian Romanick)
+
+2005-01-06 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/extras/drm/linux/drm_pm.h
+ Missing file
+
+2005-01-06 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/common.h
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i810.man
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830.h
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_common.h
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_cursor.c
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_dri.c
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_memory.c
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_video.c
+ * xc/programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i830_context.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i830_reg.h
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i830_state.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i830_texblend.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i915_context.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i915_metaops.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i915_reg.h
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i915_state.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i915_tex.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i915_texprog.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i915_texstate.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/intel_context.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/intel_context.h
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/intel_ioctl.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/intel_screen.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/intel_state.c
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/intel_tex.c
+ * xc/extras/drm/shared/drm_pciids.txt
+ * xc/extras/drm/shared/i915_drv.h
+ * xc/extras/drm/shared/i915.h
+ * xc/extras/drm/linux/drm_drv.h
+ * xc/extras/drm/linux/drm_os_linux.h
+ * xc/extras/drm/linux/drmP.h
+ * xc/extras/drm/linux/i915_drv.c
+ * xc/extras/drm/linux/Makefile
+ * xc/extras/drm/linux/Makefile.kernel
+ Add:
+ - Intel i915GM support to 2D DDX and 3D Mesa drivers.
+ - PanelID identification
+ - DRI suspend/resume support
+ - Detection of monitor changes on VT switches
+ - Support custom video modes if available in the Video BIOS
+ - 3D enhancements:
+ * GL_ARB_texture_cube_map
+ * GL_EXT_blend_equation_separate
+ * GL_ATI_blend_equation_separate
+ * GL_ARB_point_parameters
+ * GL_NV_blend_square
+ * GL_EXT_cull_vertex
+ * GL_ARB_depth_texture
+ * GL_SGIX_depth_texture
+ * GL_ARB_shadow
+ * GL_EXT_shadow_funcs
+ * GL_3DFX_texture_compression_FXT1
+ By Tungsten Graphics, Keith Whitwell & Alan Hourihane.
+
+2005-01-05 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xterm/INSTALL
+ * xc/programs/xterm/MANIFEST
+ * xc/programs/xterm/Makefile.in
+ * xc/programs/xterm/Tekproc.c
+ * xc/programs/xterm/VTPrsTbl.c
+ * xc/programs/xterm/VTparse.def
+ * xc/programs/xterm/VTparse.h
+ * xc/programs/xterm/XTerm.ad
+ * xc/programs/xterm/aclocal.m4
+ * xc/programs/xterm/button.c
+ * xc/programs/xterm/charclass.c
+ * xc/programs/xterm/charproc.c
+ * xc/programs/xterm/configure
+ * xc/programs/xterm/configure.in
+ * xc/programs/xterm/ctlseqs.ms
+ * xc/programs/xterm/cursor.c
+ * xc/programs/xterm/doublechr.c
+ * xc/programs/xterm/fontutils.c
+ * xc/programs/xterm/fontutils.h
+ * xc/programs/xterm/input.c
+ * xc/programs/xterm/main.c
+ * xc/programs/xterm/main.h
+ * xc/programs/xterm/menu.c
+ * xc/programs/xterm/menu.h
+ * xc/programs/xterm/misc.c
+ * xc/programs/xterm/os2main.c
+ * xc/programs/xterm/plink.sh
+ * xc/programs/xterm/precompose.c
+ * xc/programs/xterm/print.c
+ * xc/programs/xterm/ptyx.h
+ * xc/programs/xterm/resize.c
+ * xc/programs/xterm/screen.c
+ * xc/programs/xterm/scrollbar.c
+ * xc/programs/xterm/testxmc.c
+ * xc/programs/xterm/trace.c
+ * xc/programs/xterm/util.c
+ * xc/programs/xterm/uxterm
+ * xc/programs/xterm/version.h
+ * xc/programs/xterm/xstrings.c
+ * xc/programs/xterm/xterm.h
+ * xc/programs/xterm/xterm.log.html
+ * xc/programs/xterm/xterm.man
+ * xc/programs/xterm/xterm_io.h
+ * xc/programs/xterm/xtermcfg.hin
+ * xc/programs/xterm/unicode/README
+ * xc/programs/xterm/unicode/make-precompose.sh
+ * xc/programs/xterm/unicode/precompose.c.head
+ Bugzilla #1979 (https://bugs.freedesktop.org/show_bug.cgi?id=1979)
+ attachment #1639 (https://bugs.freedesktop.org/attachment.cgi?id=1639):
+ Update xterm from version #196 to version #197:
+ - modify configure script to remove empty "-DPROJECTROOT="
+ definition which resulted unusable values for luit's default path.
+ - update precompose.c based on Unicode 4.0.1
+ - several minor fixes based on Intel compiler warnings.
+ - change default translations so a BtnDown which is not recognized
+ is simply ignored rather than emitting a bell. That makes it less
+ obtrusive when the user tries to use a mouse which provides more
+ capabilities than the X mouse driver supports, e.g., one with a
+ horizontal scroll wheel (Debian #265133).
+ - note in xterm's manpage that translations is not specific to xterm
+ (Debian #278897).
+ - modify uxterm script to use locale program to verify if the
+ derived locale is installed (Debian #246398).
+ - correct font handling for active icon when in UTF-8 mode (report
+ by Paolo Liberatore).
+ - make active-icon and toolbar configurations work together.
+ - modify the criteria for disowning primary selection. Previously,
+ this happened anytime the cursor was moved before the end of the
+ selection. That would ensure that any insert/delete of char or
+ line, as well as scrolling, would disown the selection. The new
+ criteria change this to checking if the operations would modify
+ the data which is highlighted (Debian #277832).
+ - reimplement DECALN with functions for vt420 rectangles, fixes
+ selection for this case.
+ - implement vt420 rectangle operations.
+ - add parsing, for debug/test of vt220 soft-fonts.
+ - add menu entry, actions and escape sequence to allow
+ enabling/disabling toolbars at runtime.
+ - improve rendering for Xft, allow it to draw non-linedrawing
+ characters such as "pi", which were drawn from internal tables
+ with patch #180 (Freedesktop.org Bugzilla #1260).
+ - add configure option --enable-mini-luit, ifdef'd the mini-luit
+ feature with OPT_MINI_LUIT.
+ - add mini-luit feature, which supports Latin9 directly rather than
+ via luit, provided that Unicode fonts are used (Freedesktop.org
+ Bugzilla #1571, request by Stefan Dirsch, patch by Michael
+ Schroeder).
+ - for Linux, if IUTF8 is defined, e.g., on recent 2.6.x kernels, set
+ the corresponding flag for the slave pty, to enable UTF-8
+ interpretation of backspace in cooked mode (Freedesktop.org
+ Bugzilla #1578, request by Stefan Dirsch).
+ - modify faceSize resource to use a floating-point internal value
+ (adapted from patch by Sam Stephenson).
+ - correct handling selection of tabs over cleared space in UTF-8
+ mode. In this special case, xterm represents the whitespace with a
+ null rather than a space character (Debian #276447).
+ - amend fix for infinite loop from patch #192 to check if there
+ is wrapped text to output in a following iteration (Debian
+ #273202).
+ - fixes ifdef'd with __INTERIX to allow building with Interix
+ (Windows Services for UNIX) 3.5 using the xlibs libraries from
+ freedesktop.org (patch by Min Sik Kim).
+ - amend solution for Debian #252873, #260471 from patch #194 by
+ making the cursor not explicitly colored if only the foreground
+ color is set, and the cursor is on a blank space (Debian #275473).
+ - correct logic for send/receive mode (SRM) with regard to control
+ characters.
+ - fix masking of invisible text in wide-character mode, which did
+ not work for line-drawing characters.
+ - incorporate CF_XOPEN_SOURCE into configure script, replacing
+ CF_GNU_SOURCE.
+ Patch by Thomas Dickey <dickey@radix.net>.
+
+2005-01-04 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/glxgears/glxgears.c
+ Bugzilla #2220 (https://bugs.freedesktop.org/show_bug.cgi?id=2220)
+ attachment #1630 (https://bugs.freedesktop.org/attachment.cgi?id=1630):
+ Make glxgears a better GL client via calling |glFinish()| between frame
+ swaps to avoid that the GL instruction queue gets spammed, sometimes
+ even killing all interactive usage of the Xserver.
+
+2005-01-04 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ - made structure of PPC64 part look more like the other
+ structures.
+ - added VBE driver to PPC64. I don't know if this really
+ makes sense, but since we are building the int10 module
+ we should also build the vbe module.
+ - added i915 DRM driver to list of drivers for the AMD64
+ architecture.
+ - added a check for gcc versions > 3 for setting GccAliasingFlags.
+
+2005-01-03 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ Bugzilla #2211 (https://bugs.freedesktop.org/show_bug.cgi?id=2211)
+ attachment #1627 (https://bugs.freedesktop.org/attachment.cgi?id=1627):
+ xorgconfig default keyboard model outdated (should be pc105,
+ not pc101/pc102)
+
+Mon Jan 3 12:45:10 2005 Søren Sandmann <sandmann@redhat.com>
+
+ Clean-ups and support for AMD64. Bug 1067.
+ Patch by Nicholas Miell (nmiell@comcast.net)
+
+ * programs/Xserver/fb/Imakefile: Add support for AMD64
+
+ * programs/Xserver/fb/{fbmmx.[ch],fbpict.c}: Many cleanups
+ using <mmintrin.h> instead of __builin_ia32_*, and intrinsics
+ instead of inline assembly. Also unconditionally use pshufw on
+ AMD64.
+
+ * programs/Xserver/fb/*: s/USE_GCC34_MMX/USE_MMX/g
+
+2005-01-03 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * include/Xos.h:
+ * include/Xthreads.h:
+ gcc 4 doesn't like predeffines line 'linux' any more.
+ To muffle the compiler replace them with __linux__
+ (Bugzilla #2207).
+
+2005-01-03 Adam Jackson <ajax@freedesktop.org>
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_video.c:
+ Bug #1488: Fix crash on i830 during startup. (Eric Anholt)
+
+2005-01-03 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/Xprint/attributes.c: (AppendEntry):
+ Added missing return value (Bugzilla #2205)
+ Problem found by Stefan Kulow.
+
+2005-01-03 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ (screen_configuration):
+ Added missing return value (Bugzilla #2206)
+ Problem found by Stefan Kulow.
+
+2005-01-03 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/lib/XprintAppUtil/xpapputil.c
+ * xc/lib/XprintAppUtil/xpapputil.h
+ * xc/lib/XprintUtil/xprintutil.c
+ * xc/lib/XprintUtil/xprintutil.h
+ * xc/programs/glxgears/glxgears.c
+ * xc/programs/xdbedizzy/xdbedizzy.c
+ * xc/programs/xedit/Xedit-xprint.ad
+ * xc/programs/xedit/commands.c
+ * xc/programs/xlogo/print.c
+ * xc/programs/xlsfonts/xlsfonts.c
+ * xc/programs/xlsfonts/xlsfonts.man
+ * xc/programs/xlsfonts/xlsfonts.sgml
+ * xc/programs/xman/Xman-xprint.ad
+ * xc/programs/xman/handler.c
+ * xc/programs/xman/print.c
+ * xc/programs/xman/print.h
+ * xc/programs/xmore/XMore.ad
+ * xc/programs/xmore/print.c
+ * xc/programs/xmore/print.h
+ * xc/programs/xmore/printdialog.c
+ * xc/programs/xmore/printdialog.h
+ * xc/programs/xmore/printdialogprivates.h
+ * xc/programs/xmore/xmore.c
+ * xc/programs/xphelloworld/xpawhelloworld/xpawhelloworld.c
+ * xc/programs/xphelloworld/xphelloworld/xphelloworld.c
+ * xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.c
+ * xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.c
+ * xc/programs/xphelloworld/xpxthelloworld/xpxthelloworld.c
+ * xc/programs/xplsprinters/xplsprinters.c
+ * xc/util/memleak/getretmips.c
+ Bugzilla #1706 (https://bugs.freedesktop.org/show_bug.cgi?id=1706)
+ attachment #1615 (https://bugs.freedesktop.org/attachment.cgi?id=1615):
+ XprintUtils 2004/Q3 update. This adds various new features to the
+ XprintUtils library including support for page resolutions where
+ X_resolution!=Y_resolution, listfonts-mode control and initial framework
+ for the COLORSPACE extension.
+ Patch by Roland Mainz <roland.mainz@nrubsig.org> and Julien Lafon
+ <julien.lafon@gmail.com>.
+
+2005-01-02 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * doc/man/Xt/XtNextEv.man:
+ Fix formatting.
+
+2005-01-02 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEInitVisualConfigs):
+ Make 32-bit visuals match the set of visuals supported by the DRI
+ driver.
+
+2005-01-02 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIScreenInit), (SAVAGEDRIFinishScreenInit),
+ (SAVAGEDRIInitBuffers), (SAVAGEDRIMoveBuffers):
+ Reenabled SAVAGEDRIInitBuffers and SAVAGEDRIMoveBuffers and fixed
+ lockups they were causing. InitBuffers now uses the DRM clear
+ command, MoveBuffers needs to wait for 3D idle. Some related
+ cleanups.
+
+2005-01-01 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageInitialize2DEngine), (SavageInitAccel):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGECreateContext), (SAVAGEDestroyContext),
+ (SAVAGEWakeupHandler), (SAVAGEBlockHandler), (SAVAGESelectBuffer),
+ (SAVAGEDRIAgpInit), (SAVAGEDRIMapInit), (SAVAGEDRIKernelInit),
+ (SAVAGEDRIScreenInit), (SAVAGEDRIFinishScreenInit),
+ (SAVAGEDRIInitBuffers), (SAVAGEDRICloseFullScreen):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (ShadowWait), (SavageIdentify), (SavageProbe), (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_hwmc.c:
+ (SAVAGEXvMCCreateContext):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_sarea.h:
+ Updates to support the new Savage DRM driver (version 2.0.x) which
+ was just committed to DRM CVS. Cleaned up the interface to the DRI
+ driver. Bumped the Savage DDX version to 2.0.0 due to incompatible
+ changes in that interface.
+
+2005-01-01 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/os-support/xf86drm.h:
+ Added new DRM map type DRM_CONSISTENT for consistent PCI
+ memory. Only implemented in the Linux DRM so far.
+
+2004-12-24 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONProbePLLParameters), (RADEONInitCrtc2Registers):
+ - Fix MCLK / SCLK calculation (Benjamin Herrenschmidt) bug 2144
+ - formatting cleanup
+
+2004-12-24 Alexander Gottwald <ago at freedesktop dot org>
+
+ * xc/programs/Xserver/xkb/ddxLoad.c:
+ Print error message if CreateProcess fails
+ Simplify popen simulation code for WIN32
+ Remove temporary file after executing xkbcomp
+
+2004-12-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/programs/Xserver/hw/xfree86/common/xf86Init.c:
+ * xc/lib/Xmu/CvtStdSel.c:
+ * xc/programs/Xserver/hw/xfree86/os-support/bus/Sbus.c:
+ Bug #2123 <https://bugs.freedesktop.org/show_bug.cgi?id=2123>
+ Attachment #1587 <https://bugs.freedesktop.org/attachment.cgi?id=1587>
+ Call to uname should not check for return == 0, but for >= 0 instead
+
+2004-12-20 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * lib/XvMC/hw/via/viaLowLevel.c: (pciCommand), (agpCommand):
+ * lib/XvMC/hw/via/viaXvMC.c: (XvMCCreateContext),
+ (XvMCDestroyContext), (XvMCSyncSurface):
+ Updated libviaXvMC to Unichrome release 0.13.3.
+
+2004-12-19 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/tvga_dac.c:
+ Bug #1202: Remove long-broken 1bpp and 4bpp support from trident
+ driver. (Jakub Stachowski)
+
+2004-12-19 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c:
+ (R128EngineInit), (R128RestoreCCEAccelState), (R128CCEAccelInit),
+ (R128RestoreAccelState), (R128MMIOAccelInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_cursor.c:
+ (R128SetCursorColors), (R128SetCursorPosition),
+ (R128LoadCursorImage), (R128HideCursor), (R128ShowCursor):
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ (R128EntPriv), (R128INPLL), (R128Blank), (R128Unblank),
+ (R128GetBIOSParameters):
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c:
+ (R128Probe):
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_probe.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h:
+ - Add support for Dualhead on M3/M4 (bug 1760)
+
+2004-12-19 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig), (RADEONPreInit):
+ - Make dualhead ram allocation cleaner and related messages
+ clearer
+
+2004-12-19 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/aticonsole.c:
+ (ATIEnterVT):
+ * programs/Xserver/hw/xfree86/drivers/ati/atidri.c:
+ (ATIDRISetAgpMode), (ATIDRIAgpInit), (ATIDRIResume):
+ * programs/Xserver/hw/xfree86/drivers/ati/atidri.h:
+ - Add DRI resume support (Micha Feigin) bug 2063
+
+2004-12-19 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (R100SetupTexture), (R200SetupTexture):
+ - fix warnings (Ronny V. Vindenes)
+
+2004-12-18 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ - fix warning and potential error in radeon_driver.c
+
+2004-12-17 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ - Add VGAAccess option to r128 driver. Based on Benh's radeon patch.
+ r128 should now work on ppcs without usefbdev. To use this on ppc
+ make sure you set "usefbdev" to false. (bug 2089)
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineRestore):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONProbePLLParameters), (RADEONGetPanelInfoFromReg),
+ (RADEONGetLVDSInfo), (RADEONGetPanelInfo), (RADEONGetClockInfo),
+ (RADEONQueryConnectedMonitors), (RADEONUpdatePanelSize),
+ (RADEONDDCModes), (RADEONValidateDDCModes), (RADEONPreInitModes),
+ (RADEONPreInit), (RADEONSave), (RADEONRestore),
+ (RADEONInitDispBandwidth), (RADEONInitCrtc2Registers),
+ (RADEONInitPLLRegisters), (RADEONInitPLL2Registers), (RADEONInit),
+ (RADEONFreeScreen):
+ - Apply Benjamin Herrenschmidt's radeon patches (bug 2064)
+
+2004-12-16 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
+
+ Move DMA robustness fix into radeon_dri.c::RADEONEnterServer()
+ as per suggestion by Michel Dänzer.
+
+ I could not trigger a lockup, even with r300_demo (possibly it
+ has code that flushes cache inside ?), so this must be good
+ enough..
+
+2004-12-16 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
+
+ Add DMA robustness fix from Nicolai Haehnle.
+
+ TODO: move this fix into DRM driver or other parts of Xserver
+ when R300 support is more stable.
+
+ This fix affects only R300 and later variants and results in
+ small slowdown when using CP acceleration in comparison to
+ the previous version of the driver.
+
+ We are still a lot faster in CP mode than using MMIO register
+ access.
+
+2004-12-15 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/xdm/dm.h:
+ Remove unused define.
+ * programs/Xserver/Xext/xres.c:
+ Use snprintf.
+
+2004-12-15 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.h:
+ Bug #2008: Fix gcc4 compile problem.
+
+2004-12-15 Thomas Winischhofer <thomas@winischhofer.net>
+
+ * Fix MISC extension's PassMessage(). Make it actually
+ work (MsgVal was trashed) and fix memory leaks.
+ * Increase MISC extension's minor number to 9 to indicate
+ that PassMessage() is actually usable
+
+
+2004-12-14 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/GL/mesa/shader/Imakefile.inc:
+ Revert last change, shaderobjects.c is in Mesa 6.3 only.
+
+2004-12-14 Adam Jackson <ajax@freedesktop.org>
+
+ * extras/Mesa/:
+ Bug #2003: Import Mesa 6.2.1.
+
+ * lib/GL/mesa/shader/Imakefile.inc:
+ * lib/GL/mesa/drivers/dri/r128/Imakefile.inc:
+ Imakefile fixes for Mesa 6.2.1. (Sergio Montiero Basto)
+
+2004-12-13 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * lib/X11/imInsClbk.c: (_XimUnRegisterIMInstantiateCallback):
+ Removed #ifdef'ed out code together with the comment explaining
+ why it was #ifdef'ed out.
+
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ Fixed typo.
+
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.c: (xf86scanpci):
+ Added comment to a changed that's been committed with one of the
+ previous commits.
+
+2004-12-12 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/util/memleak/getretmips.c
+ Bugzilla #758 (https://bugs.freedesktop.org/show_bug.cgi?id=758)
+ attachment #375 (https://bugs.freedesktop.org/attachment.cgi?id=375):
+ Fix a buffer overrun which may happen when the size of the stack buffer
+ is exactly the same as the actual stack size.
+ Patch by Stephen Kennedy <Stephen.Kennedy@havok.com>.
+
+2004-12-12 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xext/saver.c
+ Bugzilla #1695 (https://bugs.freedesktop.org/show_bug.cgi?id=1695)
+ attachment #1230 (https://bugs.freedesktop.org/attachment.cgi?id=1230):
+ Fix crash in Xscreensaver code which allowed any authentificated X client
+ to crash the Xserver using |XScreenSaverUnsetAttributes()|.
+ Patch by ajax@nwnk.net
+
+2004-12-12 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/hw/xfree86/common/xf86Xinput.c
+ Bugzilla #1688 (https://bugs.freedesktop.org/show_bug.cgi?id=1688)
+ attachment #1530 (https://bugs.freedesktop.org/attachment.cgi?id=1530):
+ Fix the current implementation to make it possible to slow down the
+ mouse pointer or use arbitrary fractions (without running into
+ rounding error issues). The change is using the same method of
+ preserving rounding errors that the exponential method is already
+ using.
+ Patch by Jan Brunner <Jan_B@gmx.ch>.
+
+2004-12-12 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/Xext/xf86vmode.c:
+ Lower default verbosity for Xvidmode log messages to stop the
+ extension from writing non critical info to the log, thus keeping
+ the disk busy.
+ https://bugs.freedesktop.org/show_bug.cgi?id=1552
+
+ * programs/Xserver/hw/xfree86/os-support/bus/460gxPCI.c
+ Add fix for bus scanning SEGV on ia64 with 460gx bus.
+ https://bugs.freedesktop.org/show_bug.cgi?id=1383
+
+2004-12-12 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/Imake.rules:
+ * config/cf/Imake.tmpl:
+ Bug #1054: When building dlloader modules, don't link them against
+ any other shared libs.
+
+2004-12-12 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
+
+ Make DMA blitting code more robust.
+
+2004-12-12 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
+
+ Enable DRM support permanently, allowing its use for any
+ CHIP_FAMILY > R300.
+ Fix bug in naming Mesa3d driver (it was defaulting to r200)
+
+2004-12-12 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ (RADEONSetAgpMode):
+ - missing diff from agp 8x support
+
+2004-12-12 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_common.h
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_version.h
+ Add R300 (and later) DRM support, protected by X_R300_DRM
+ option.
+
+ Note: at the moment this is for 2d support only, if enabled
+ running glxgears locks up my machine, but DMAForXv=yes
+ works fine.
+
+2004-12-12 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * doc/man/X11/XGetWProp.man:
+ Fix missing XChangeProperty() prototype missing in
+ synopsis section.
+
+2004-12-11 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitDRI):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ - add AGP 8x support (Hui Yu, Michel Daenzer) bug 1819
+
+2004-12-11 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_bios.c:
+ (RADEONGetConnectorInfoFromBIOS):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONQueryConnectedMonitors), (RADEONScreenInit),
+ (RADEONInitFPRegisters):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ - only mess with Dynamicclocks on mobility chips (Benh, me) bug 1912
+ - fix display detection (Hui Yu) bug 1559
+ - Add new option "BIOSHotkeys" to allow the bios to control
+ output switching (off by default) bug 2000
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage.man:
+ - update the savage man page to document the "CrtOnly" option
+
+2004-12-11 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * extras/Xpm/lib/Imakefile:
+ * extras/Xpm/lib/RdFToI.c:
+ * extras/Xpm/lib/WrFFrI.c:
+ * extras/Xpm/lib/s_popen.c:
+ * lib/Xpm/Imakefile:
+ Replace s_popen() by a more specific function that allows only
+ one command in the pipe. Remove extraneous tests on file names
+ that broke some applications. From Alex Reisen in Bugzilla #1920.
+
+2004-12-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_type.h:
+ Bugzilla #1985 <https://bugs.freedesktop.org/show_bug.cgi?id=1985>
+ sync to 12/08/04 version of Nvidia driver from Mark Vojkovich,
+ including these fixes since last sync:
+ Fix some DAC/Graphics memory contention issues on newer
+ NVIDIA chips (specifically, NV40).
+ More PCI IDs.
+ Also, I've had trouble getting some panels to work
+ automagically so I expose an FPTweak option to let the user
+ adjust a troublesome register.
+
+2004-12-09 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * config/cf/darwin.cf:
+ Fix building with Apple gcc newer than version 3.3.
+
+2004-12-09 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/miext/rootless/accel/rlAccel.c: (rlCloseScreen),
+ (RootlessAccelInit):
+ Fix crash with more than one screen reported by John Davidorff Pell.
+
+2004-12-08 Alexander Gottwald <ago at freedesktop dot org>
+
+ * lib/X11/ErrDes.c:
+ * doc/man/general/X.man:
+ Bugzilla #1980 (https://bugs.freedesktop.org/show_bug.cgi?id=1980)
+ Handle XERRORDB only on WIN32 platform
+
+2004-12-08 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/mi/miinitext.c
+ Bugzilla #1361 (https://bugs.freedesktop.org/show_bug.cgi?id=1361)
+ attachment #1287 (https://bugs.freedesktop.org/attachment.cgi?id=1287):
+ Avoid DRI initalisation when the Xfree86-DRI extension was turned
+ off.
+ Patch by Kristian Høgsberg <krh@bitplanet.net>.
+
+2004-12-08 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/mi/miinitext.c
+ Bugzilla #1361 (https://bugs.freedesktop.org/show_bug.cgi?id=1361)
+ attachment #938 (https://bugs.freedesktop.org/attachment.cgi?id=938):
+ Allow more extensions to be enabled/disabled.
+
+2004-12-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/extras/Xpm/lib/xpm.h
+ Bugzilla #830 (https://bugs.freedesktop.org/show_bug.cgi?id=830):
+ Fix libXpm header (xpm.h) to use the X11 function begin/end marker
+ macros (_XFUNCPROTOBEGIN, _XFUNCPROTOEND) instead of homegrown
+ (native) C++ code.
+ Patch by Kevin DeKorte <kdekorte@yahoo.com>.
+
+2004-12-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/include/extensions/dpms.h
+ Bugzilla #830 (https://bugs.freedesktop.org/show_bug.cgi?id=830):
+ Get DPMS header file (include/extensions/dpms.h) working with C++
+ applications.
+ Patch by Kevin DeKorte <kdekorte@yahoo.com> and Roland
+ Mainz <roland.mainz@nrubsig.org>.
+
+2004-12-06 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ xf86Config.c references USE_DEPRECATED_KEYBOARD_DRIVER so
+ define it if needed when building this file
+ * programs/Xserver/hw/xfree86/common/xf86config.c:
+ - bug fix: pointerMsg -> keyboardMsg in auto-configuration code.
+ - make the 'kbd' driver the default for autoconfiguration everywhere.
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c:
+ Previous fix broke hardware-based autorepeat. This fix
+ mimics the behaviour of the legacy driver by making a local
+ copy of the autoRepeat flag.
+
+2004-12-06 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/dmx/dmx.c: (DMXAddScreen), (DMXAddInput):
+ Fix overwrite in DMX library calls (Bug #1989, Mark McLoughlin).
+
+2004-12-06 Alexander Gottwald <ago at freedesktop dot org>
+
+ * include/Imakefile:
+ Link Xwindows.h for cygwin too.
+
+2004-12-06 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/fb/fbwindow.c: (fbCopyWindow):
+ Use the same method of finding the screen pixmap of COMPOSITE
+ extension is compiled in or not.
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ Removed stale make variable.
+ * programs/Xserver/hw/xfree86/xaa/xaaWrapper.c:
+ (xaaWrapperCreateWindow), (xaaWrapperWindowExposures),
+ (xaaWrapperPaintWindow), (xaaSetupWrapper):
+ Updated xaaWrapper.c: Under certain circumstances the
+ accel path was not used when possible.
+ Removed some debugging stuff and stale code that had been
+ commented out.
+ * programs/Xserver/mi/micmap.c: (miListInstalledColormaps):
+ Check if maps are really installed before attempting to list
+ them.
+
+2004-12-06 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ Apply Debian patch to re-POST via VBE if driver thinks it has no
+ video memory (a symptom of incompletely coming up from D3 power
+ state), which fixes some Dell laptops (closes: #1890).
+
+2004-12-06 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/Imakefile:
+ Removed linking of msvcr70.dll from Xming.
+
+2004-12-06 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONHostDataBlit), (RADEONHostDataBlitCopyPass):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitDRI):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (RADEONCopyData), (RADEON_420_422), (RADEONCopyRGB24Data),
+ (RADEONCopyMungedData), (RADEONPutImage):
+ When direct rendering is enabled, use hostdata blits to transfer data
+ from system memory to video RAM, which should reduce CPU usage
+ especially with larger videos. Can be disabled via Option "DMAForXv"
+ if there should be any stability issues, but it's been stable for me
+ during a week of testing. Based on a patch by Nikolaus Meine
+ <meine@tnt.uni-hannover.de>.
+ Probably fix endianness issues in some newer XVideo code, untested.
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (R100SetupTexture), (R200SetupTexture):
+ Also use hostdata blits to transfer RENDER image data to video RAM to
+ avoid idling the accelerator engine. Increases RENDER performance
+ significantly for me.
+
+ These changes were only tested on an M9 in a Titanium PowerBook but
+ should work with all Radeons where direct rendering is supported.
+
+2004-12-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/Imakefile:
+ Bugzilla #1987 <https://bugs.freedesktop.org/show_bug.cgi?id=1987>
+ HAVE_SYSV_IPC should be defined when building libc_wrapper.c on
+ Solaris
+
+2004-12-04 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/ps/PsInit.c
+ Bugzilla #1800 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1800):
+ Fix Postscript DDX's 1bit StaticGray visual to report only 1bit
+ of significant bits in color specification (instead of 8bits).
+ Patch by Julien Lafon <julien.lafon@gmail.com>
+
+2004-12-04 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c:
+ Retry CCE idle commands until the (higher) timeout is reached, and
+ properly stop the engine if we totally fail -- gets rid of serious
+ performance issues and lockups with r128 DRI (closes: #1889).
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c:
+ Disable interrupt handling after the DRM handler has been removed,
+ preventing lockups (closes: #1886).
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_video.c:
+ Allow pitches with a granularity of 32, rather than 64, because some
+ clamshell iBooks have 800-byte pitches. Change Xv allocation
+ granularity to 8 bytes, rather than 16 bytes, also (closes: #1888).
+
+2004-12-04 Alexander Gottwald <ago at freedesktop dot org>
+
+ * doc/man/general/X.man:
+ Bugzilla #1980, https://bugs.freedesktop.org/show_bug.cgi?id=1980
+ Document XERRORDB in X.man
+
+2004-12-03 Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+
+ - Converted numerous plain-text files to UTF-8 encoding
+
+2004-12-03 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c
+ - set default XkbModel to pc105 (like legacy keyboard driver did)
+ - fix autorepeat (Bugzilla #1651, Petter Urkedal).
+
+2004-12-03 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/xcursorgen/xcursorgen.c
+ (read_config_file, read_config_file, load_image, load_image):
+ Check malloc() return values and handle failures gracefully.
+
+2004-12-02 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/include/os.h:
+ * programs/Xserver/os/xprintf.c:
+ * programs/Xserver/os/Imakefile:
+ Bugzilla #1865, https://bugs.freedesktop.org/show_bug.cgi?id=1865
+ Added X(NF)printf and X(NF)vprintf functions which allocate the
+ buffer with X(NF)alloc
+
+ * lib/misc/snprintf.c:
+ Bugzilla #1865, https://bugs.freedesktop.org/show_bug.cgi?id=1865
+ extend snprintf to work on NULL.
+
+2004-12-02 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ * xc/lib/font/fontfile/Imakefile
+ Bugzilla #2002 (https://freedesktop.org/bugzilla/show_bug.cgi?id=2002):
+ Make location of the encodings/ files configurable in the build
+ system via adding a new |FontEncDir|-symbol to xc/config/cf/X11.tmpl
+ (default value is |$(LIBDIR)/fonts/encodings|).
+
+2004-12-02 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/miext/damage/damagestr.h
+ Bugzilla #1998 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1998):
+ Fix Xserver standalone build when RENDER extension includes
+ are not availabe.
+
+2004-12-02 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86.h:
+ * programs/Xserver/include/os.h:
+ Use __printf__ in gcc function attributes to avoid clash with libc
+ wrapper define, and remove the last bits of the old workaround.
+
+2004-12-02 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/os/WaitFor.c:
+ Remove some of the ifdef WIN32 checks from WaitForSomething
+
+2004-12-02 Alexander Gottwald <ago at freedesktop dot org>
+
+ * config/cf/mingw.cf:
+ Set HasFfs to NO
+
+ * programs/Xserver/Imakefile:
+ Fix link order problems with mingw. Add libdix.a after libmi.a.
+
+ * programs/Xserver/mi/Imakefile:
+ Pass -DHAS_FFS to compiler
+
+ * programs/Xserver/mi/mibitblt.c:
+ remove inline code for ffs(). It will link to dix/ffs.c instead
+ added declaration for ffs()
+
+2004-12-01 Daniel Stone <daniel@freedesktop.org>
+
+ * include/extensions/Xinerama.h:
+ Include <X11/Xlib.h>, since we use libX11 functions (closes: #1897).
+
+2004-12-01 Alexander Gottwald <ago at freedesktop dot org>
+
+ * lib/X11/ErrDes.c (XGetErrorDatabaseText):
+ Bugzilla #1980, https://bugs.freedesktop.org/show_bug.cgi?id=1980
+ Make location of XErrorDB configurable
+
+2004-12-01 Alexander Gottwald <ago at freedesktop dot org>
+
+ * lib/X11/XlibInt.c (_XopenFile):
+ Bugzilla #1864, http://bugs.freedesktop.org/show_bug.cgi?id=1864
+ Initialize pointer to NULL to avoid freeing random memory
+
+2004-11-30 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Xprt.html
+ Bugzilla #811 (https://freedesktop.org/bugzilla/show_bug.cgi?id=811):
+ Updating generated Xprt.html which was forgotten during the
+ previous work.
+
+2004-11-30 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/xorgsite.def:
+ Make Xorg the default server to install.
+
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c: (ATIProbe):
+ Avoid PIO access on IA64. Some IA64 machine check if legacy ports
+ outside the VGA range are accessed. The ATi driver however does
+ this to probe for ISA Mach8/32/64.
+ Since no IA64 has ISA slots this restriction should not be
+ relevant to the user.
+
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.c: (xf86scanpci):
+ Avoid recursive calls of xf86scanpci(). This function normally
+ detects that it has been called before by checking if the PCI
+ structure is filled out. So far if this was not the case
+ (because PCI probing has failed for some reason) the function
+ is traversed again. With the chipset specific PCI bus probing
+ this can lead to an endless recursive loop as the post-probing
+ code calls xf86scanpci() from within this function.
+
+ * programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c:
+ (linuxPciOpenFile):
+ The OS specific PCI code for Linux worked only if bus 0
+ was populated as it checked for the presence of /proc/bus/pci/00.
+ Fixed to check for /proc/bus/pci/<bus_to_look_for> instead.
+
+2004-11-28 Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+ * fonts/bdf/misc/18x18ko.bdf
+ * fonts/bdf/misc/18x18ja.bdf
+ * fonts/bdf/misc/12x13ja.bdf
+ * fonts/bdf/misc/9x18B.bdf
+ * fonts/bdf/misc/9x18.bdf
+ * fonts/bdf/misc/9x15B.bdf
+ * fonts/bdf/misc/9x15.bdf
+ * fonts/bdf/misc/8x13O.bdf
+ * fonts/bdf/misc/8x13B.bdf
+ * fonts/bdf/misc/8x13.bdf
+ * fonts/bdf/misc/7x14B.bdf
+ * fonts/bdf/misc/7x14.bdf
+ * fonts/bdf/misc/7x13O.bdf
+ * fonts/bdf/misc/7x13B.bdf
+ * fonts/bdf/misc/7x13.bdf
+ * fonts/bdf/misc/6x9.bdf
+ * fonts/bdf/misc/6x13O.bdf
+ * fonts/bdf/misc/6x13B.bdf
+ * fonts/bdf/misc/6x13.bdf
+ * fonts/bdf/misc/6x12.bdf
+ * fonts/bdf/misc/6x10.bdf
+ * fonts/bdf/misc/5x8.bdf
+ * fonts/bdf/misc/5x7.bdf
+ * fonts/bdf/misc/4x6.bdf
+ * fonts/bdf/misc/10x20.bdf
+ Resynchronized with latest release of ucs-font package at
+ http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html
+ * fonts/bdf/misc/gb24st.bdf
+ * fonts/bdf/misc/gb16st.bdf
+ * fonts/bdf/misc/gb16fs.bdf
+ Fixed Bug #1805
+ * fonts/util/8859-7.TXT
+ Updated to ISO 8859-7:2003 (with euro sign)
+ * fonts/util/8859-14.TXT
+ * fonts/util/8859-15.TXT
+ * fonts/util/8859-16.TXT
+ * fonts/util/ucs2any.pl
+ * fonts/util/ucs2any.c
+ * fonts/util/bdftruncate.pl
+ Removed obsolete email address from comments
+
+2004-11-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+ * xc/programs/Xserver/hw/xfree86/driver/ati/radeon.man
+ * xc/programs/Xserver/hw/xfree86/driver/voodoo/voodo.man
+ * xc/programs/Xserver/hw/xfree86/driver/wsfb/wsfb.man
+ XF86Config -> __xconfigfile__
+
+2004-11-25 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/doc/man/general/Imakefile
+ * xc/doc/man/general/Xprint.html
+ * xc/doc/man/general/Xprint.man
+ * xc/doc/man/general/Xprint.sgml
+ * xc/programs/Xserver/Xprint/Imakefile
+ * xc/programs/Xserver/Xprint/Xprint.html
+ * xc/programs/Xserver/Xprint/Xprint.man
+ * xc/programs/Xserver/Xprint/Xprint.sgml
+ Bugzilla #811 (https://freedesktop.org/bugzilla/show_bug.cgi?id=811):
+ Fixing "make install.man" build bustage caused by previous checkin
+ via moving the Xprint(7) manual page it's correct location
+ (=xc/doc/man/general/)
+
+2004-11-25 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * extras/Xpm/lib/s_popen.c:
+ Add file missed in previous commit..
+
+2004-11-25 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Imakefile
+ * xc/programs/Xserver/Xprint/Xprt.html
+ * xc/programs/Xserver/Xprint/Xprt.man
+ * xc/programs/Xserver/Xprint/Xprt.sgml
+ Bugzilla #811 (https://freedesktop.org/bugzilla/show_bug.cgi?id=811):
+ Add missing manual page for "Xprt" (DocBook master file (Xprt.sgml)
+ and the generated files (Xprt.html, Xprt.man).
+
+2004-11-25 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/xprint_host.def
+ * xc/config/cf/xprint_site.def
+ Bugzilla #1921 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1921):
+ Rename "xc/config/cf/xprint_site.def" to "xc/config/cf/xprint_host.def"
+ to clarify it's purpose.
+
+2004-11-25 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * extras/Xpm/lib/Attrib.c:
+ * extras/Xpm/lib/CrBufFrI.c:
+ * extras/Xpm/lib/CrDatFrI.c:
+ * extras/Xpm/lib/Imakefile:
+ * extras/Xpm/lib/RdFToBuf.c:
+ * extras/Xpm/lib/RdFToI.c:
+ * extras/Xpm/lib/WrFFrBuf.c:
+ * extras/Xpm/lib/WrFFrI.c:
+ * extras/Xpm/lib/XpmI.h:
+ * extras/Xpm/lib/create.c:
+ * extras/Xpm/lib/data.c:
+ * extras/Xpm/lib/hashtab.c:
+ * extras/Xpm/lib/misc.c:
+ * extras/Xpm/lib/parse.c:
+ * extras/Xpm/lib/scan.c: (AGetImagePixels):
+ * lib/Xpm/Imakefile:
+ Fixes for CAN-2004-0914 (Thomas Biege).
+
+2004-11-25 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/os/utils.c:
+ Bugzilla #1914: fix size limit for -fp argument
+
+2004-11-24 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/Xext/xvmc.c:
+ Add <sys/types.h> include to unbreak build on FreeBSD.
+
+2004-11-23 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Beta.c:
+ Remove this file and all references to the binary expiry code.
+
+ * include/extensions/Imakefile (DAMAGEHEADERS):
+ Remove old obsolete include/extensions/damage.h.
+
+ * programs/xkbcomp/symbols/macintosh/us:
+ Include srvrv_ctrl(xfree86) in macintosh US XKB symbol file so VT
+ switching works again on mac (#1872).
+
+ * programs/Xserver/hw/xfree86/common/xf86.h:
+ * programs/Xserver/include/os.h:
+ Remove out of place #define's of printf to xf86printf. This
+ definition should only be in xfree86/os-support/xf86_libc.h
+
+2004-11-23 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/radeon/radeon_driver.c:
+ Use fp_horz_stretch for horizontal stretch factor derivation, not
+ fp_vert_stretch (closes: #1881).
+
+2004-11-23 Luc Verhaegen <libv@skynet.be>
+
+ Sync with unichrome X r27.
+ Fixes: CLE266 rev.18 hang in HQV Idle. XvMC removing DRI MMIO. AGP
+ ringbuffer crashing at VT switch. Bad handling of unsupported mode.
+ YV12 Chroma. Flickering overlay when covered.
+ Updates: ids. XvMC to new drm version.
+ Improves: XvMC startup time and handling of multiple cards. VGA/output
+ debugging. VT162x DAC detection. Move to single I2CDev for VT162x.
+ ViaYUVFillBlack.
+ Removes: pViaModeTable structure and the acquiring of modetables from
+ VGA BIOS. Unused/broken VBE OEM calls.
+ Adds: Option to control VT1622 flicker filter.
+ (Terry Barnaby, Thomas Hellström, Ivor Hewitt, Pieter Peers, Luc
+ Verhaegen)
+
+ * programs/Xserver/hw/xfree86/drivers/via/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/via/via.man:
+ * programs/Xserver/hw/xfree86/drivers/via/via_bandwidth.c:
+ (ViaSetCLE266APrimaryFIFO), (ViaSetPrimaryExpireNumber),
+ (ViaSetPrimaryFetchCount), (ViaSetPrimaryFIFO),
+ (ViaSetSecondaryFetchCount), (ViaSetSecondaryFIFO):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bios.c:
+ (ViaDumpVGAROM), (ViaVBEGetActiveDevice),
+ (ViaVBEGetDisplayDeviceInfo), (ViaVBEPrintBIOSDate),
+ (ViaVBEPrintBIOSVersion):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bios.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ (VIAGetRec), (VIAFreeRec), (VIAPreInit), (VIAEnterVT),
+ (VIALeaveVT), (VIASave), (VIARestore), (VIAEnableMMIO),
+ (VIADisableMMIO), (VIAScreenInit), (VIAInternalScreenInit),
+ (VIAValidMode), (VIAWriteMode), (VIACloseScreen), (VIAFreeScreen),
+ (VIAAdjustFrame), (VIASwitchMode), (VIADPMS), (VIADeviceSelection):
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_i2c.c:
+ (VIAI2C1PutBits), (VIAI2C2PutBits), (ViaGpioI2c_Release),
+ (ViaGpioI2c_SCLWrite), (ViaGpioI2c_SCLRead), (ViaGpioI2c_SDAWrite),
+ (ViaGpioI2c_SDARead), (VIAI2CInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_lib.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (ViaPrintTVRegs), (VIATVDetect), (VIAVT162xDACDetect),
+ (VIASensorDVI), (VIAPostDVI), (VIAGetDeviceDetect),
+ (VIAGetPanelSizeFromDDCv1), (VIAGetPanelSizeFromDDCv2),
+ (ViaGetModeIndex), (ViaPanelGetIndex), (ViaTVGetIndex),
+ (VIAFindModeUseBIOSTable), (VIASetPrimaryClock),
+ (VIASetSecondaryClock), (VIASetLCDMode), (VIAPreSetTV2Mode),
+ (VIAPreSetVT1623ModeGpioI2c), (VIAPostSetTV2Mode),
+ (VIAPreSetTV3Mode), (VIAPostSetTV3Mode), (ViaTVModePreset),
+ (ViaTVClose), (ViaTVModePostSet), (ViaSetPrimaryOffset),
+ (ViaSetBlankingEndOverflow), (VIASetModeUseBIOSTable),
+ (ViaSetSecondaryOffset), (VIASetModeForMHS), (ViaLCDPowerSequence),
+ (VIAEnableLCD), (VIADisableLCD), (VIALoadPalette):
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ (ViaYUVFillBlack), (VIAVidCreateSurface), (Upd_Video),
+ (VIAVidUpdateOverlay):
+ * programs/Xserver/hw/xfree86/drivers/via/via_tuner.c:
+ (ViaAudioSelect), (ViaTunerProbe):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vbe.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_vgahw.c:
+ (ViaVgahwMask), (ViaCrtcMask), (ViaSeqMask), (ViaVgahwPrint):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vgahw.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c:
+ (viaSetupImageVideoG), (viaStopVideoG), (viaSetPortAttributeG),
+ (viaPutImageG), (viaQueryImageAttributesG), (viaPutVideo):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.c:
+ (ViaInitXVMC), (ViaXvMCCreateContext):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvpriv.h:
+
+2004-11-23 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * lib/XvMC/XvMC.c: (XvMCGetDRInfo):
+ * programs/Xserver/Xext/Imakefile:
+ * programs/Xserver/Xext/xvmc.c: (ProcXvMCGetDRInfo):
+ Bugzilla #1883 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1883):
+ Fix insufficient SHM detection in XvMC local test.
+ Removed reference to getpagesize() which caused linking problems on s390.
+ Reported by Stefan Dirsch <sndirsh@suse.de>
+
+2004-11-23 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/miext/damage/damage.c
+ Bugzilla #1204 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1204):
+ Fix X11 test suite (caused by DAMAGE layer) failure with Xvfb when
+ rendering text using |XDrawText*()| (XDrawText() tests 1, 3, 4, 27, 28,
+ 29, 30, 34, 37, 39, 41, 43 and XDrawText16() tests 1, 3, 9, 10, 11, 12,
+ 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34,
+ 37, 39, 41, 43).
+ Patch by Hong Bo Peng <penghb@cn.ibm.com> and Stefan Dirsch
+ <sndirsch@suse.de>.
+
+2004-11-23 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_cursor.c:
+ (SavageShowCursor), (SavageHideCursor), (SavageSetCursorPosition),
+ (SavageSetCursorColors):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ - fix and enable HW Cursor on crtc2
+ - enable independant CLUT access
+
+2004-11-22 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (GetTileAperturePitch2000), (SavageSetGBD), (SavageSetGBD_2000):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.c:
+ (SavageInitStreams2000):
+ - fix tiled framebuffer on Savage2000
+
+2004-11-22 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/mi/mibitblt.c:
+ Windows does not have ffs() implementation. added one
+
+ * programs/Xserver/miext/rootless/Imakefile:
+ * programs/Xserver/miext/rootless/rootlessConfig.h:
+ Enable RootlessSafeAlpha and RootlessAcceleration for the Windows
+ port too
+
+2004-11-22 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/xkb/ddxLoad.c:
+ Use GetTempPath for finding a place where to store temporary files on
+ Windows
+
+2004-11-22 Alexander Gottwald <ago at freedesktop dot org>
+
+ * config/cf/mingw.cf:
+ Enable building of multiwindow and glx on win32
+
+2004-11-22 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/os/WaitFor.c:
+ * programs/Xserver/os/connection.c:
+ * programs/Xserver/os/io.c:
+ * programs/Xserver/os/lbxio.c:
+ * programs/Xserver/os/osdep.h:
+ Use a simple hashtable as ConnectionTranslation instead of a plain
+ array on Windows because socket fds are not sequential and do not
+ start at 0
+
+2004-11-15 Alexander Gottwald <ago at freedesktop dot org>
+
+ * programs/Xserver/xkb/ddxLoad.c:
+ Use CreateProcess instead of system() to spawn xkbcomp on windows.
+ system() can not handle spaces in the path component. Quoted all
+ filenames on the commandline.
+
+2004-11-15 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/GL/glx/glxcmds.c:
+ Bug #1672: Prevent libGL segfault if server's GLX version is > 1.2.
+
+2004-11-15 Alexander Gottwald <ago at freedesktop dot org>
+
+ * Imakefile:
+ * config/cf/Imake.cf:
+ * config/cf/Imakefile:
+ * config/cf/cygwin.cf:
+ * config/cf/mingw.cf:
+ * config/cf/mingw.rules:
+ * config/cf/mingw.tmpl:
+ * config/imake/imake.c: (define_os_defaults):
+ * config/imake/imakemdep.h:
+ * config/util/Imakefile:
+ * include/Imakefile:
+ * include/Xos.h:
+ * include/Xpoll.h:
+ * include/Xthreads.h:
+ * include/Xw32defs.h:
+ * include/Xwinsock.h:
+ * include/Xwindows.h:
+ * lib/GL/glx/glxclient.h:
+ * lib/X11/ConnDis.c:
+ * lib/X11/OpenDis.c:
+ * lib/X11/XlibInt.c:
+ * lib/X11/imTrans.c:
+ * lib/X11/lcFile.c: (parse_line1), (_XlcParsePath), (xlocaledir):
+ * lib/Xau/AuFileName.c: (XauFileName):
+ * lib/Xau/AuLock.c:
+ * lib/Xdmcp/GenKey.c:
+ * lib/font/fc/fsio.c:
+ * lib/font/fontfile/bufio.c: (BufFileOpenRead), (BufFileOpenWrite):
+ * lib/font/fontfile/dirfile.c:
+ * lib/font/fontfile/fontdir.c: (FontFileMakeDir):
+ * lib/font/fontfile/fontfile.c: (FontFileNameCheck):
+ * lib/xtrans/Xtrans.c: (SetOption):
+ * lib/xtrans/Xtransdnet.c: (DNETBytesReadable), (DNETRead),
+ (DNETWrite), (DNETDisconnect), (DNETClose):
+ * lib/xtrans/Xtranssock.c: (SocketINETGetAddr),
+ (SocketINETGetPeerAddr), (SocketOpen):
+ * lib/xtrans/Xtransutil.c: (WSAStartup):
+ * programs/Xserver/GL/Imakefile:
+ * programs/Xserver/Imakefile:
+ * programs/Xserver/os/WaitFor.c:
+ * programs/Xserver/os/access.c: (DefineSelf), (ConvertAddr):
+ * programs/Xserver/os/connection.c:
+ * programs/Xserver/os/io.c:
+ * programs/Xserver/os/log.c: (LogInit), (LogVWrite):
+ * programs/Xserver/os/osdep.h:
+ * programs/Xserver/os/utils.c:
+ * programs/Xserver/os/xdmcp.c: (get_addr_by_name):
+ * programs/Xserver/render/picture.h:
+ * programs/Xserver/xkb/ddxLoad.c: (Win32TempDir),
+ (OutputDirectory):
+ * programs/xkbcomp/listing.c: (AddDirectory), (AddMatchingFiles),
+ (GenerateListing):
+ * programs/xkbcomp/xkbcomp.c:
+ Bufzilla #1802, http://freedesktop.org/bugzilla/show_bug.cgi?id=1802
+ Added mingw (Win32) port
+
+2004-11-15 Alexander Gottwald <ago at freedesktop dot org>
+
+ * lib/X11/XlibInt.c (_XFopenFile):
+ Bugzilla #1864, http://freedesktop.org/bugzilla/show_bug.cgi?id=1864
+ Initialize pointer to NULL to avoid freeing random memory
+
+2004-11-14 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ Fix typos in output file. (Bugzilla #1849, reported by Yi Ren-Chen)
+
+2004-11-13 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_memcpy.c:
+ (fastrdtsc):
+ Bugzilla #1838, http://freedesktop.org/bugzilla/show_bug.cgi?id=1838
+ fixed an asm cpuid call that clobbered the PIC register.
+
+2004-11-13 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * include/extensions/XvMC.h:
+ * include/extensions/XvMClib.h:
+ * include/extensions/XvMCproto.h:
+ * lib/XvMC/Imakefile:
+ * lib/XvMC/XvMC.c: (XvMCGetDRInfo):
+ * lib/XvMC/wrapper/XvMCWrapper.c: (dlopenversion), (preInitW),
+ (initW):
+ * programs/Xserver/Xext/xvmc.c: (ProcXvMCGetDRInfo),
+ (xvmcNumRequest), (XvMCScreenInit), (xf86XvMCRegisterDRInfo):
+ * programs/Xserver/Xext/xvmcext.h:
+ Added support for automatic loading of the correct hardware
+ XvMC driver. This involves a protocol extension of the
+ XvMC protocol. The XvMC revision number was bumped.
+
+2004-11-12 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/lib/GL/mesa/Imakefile
+ * xc/lib/GL/mesa/math/Imakefile
+ * xc/lib/GL/mesa/shader/Imakefile
+ * xc/lib/GL/mesa/sparc/Imakefile
+ * xc/lib/GL/mesa/swrast/Imakefile
+ * xc/lib/GL/mesa/swrast_setup/Imakefile
+ * xc/lib/GL/mesa/tnl/Imakefile
+ * xc/lib/GL/mesa/tnl_dd/Imakefile
+ Bugzilla #1843 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1843):
+ Fix build failure in the linker stage of libOSMesa.so.4.0 which
+ happens more or less every couple of months with the message
+ "ld: fatal: too many symbols require `small' PIC references:
+ have 2112, maximum 2048 -- recompile some modules -K PIC.".
+ The fix is to add |#define LargePICTable YES| to _ALL_ relevant
+ Imakefiles (previously this was done only on "on-demand" basis).
+
+2004-11-11 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * config/cf/OpenBSDLib.tmpl:
+ update shared lib revisions on OpenBSD (Bug #1828).
+ * config/cf/xorgsite.def:
+ * config/cf/xprint_site.def:
+ update references to xf86site.def in comments (Bug #1827).
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_KbdMap.c:
+ (KbdGetMapping):
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c: (KbdOn),
+ (KbdOff), (WSReadInput), (OpenKeyboard), (xf86OSKbdPreInit):
+ fix kbd driver for wskbd protocol and pure wscons console driver
+ (Bug #1825).
+ * programs/Xserver/hw/xfree86/xf86cfg/interface.c: (main):
+ don't add '-4' to generated default file name (bug #1826).
+ * programs/xdm/resource.c:
+ typo in resource name (XFree86 bug #1300, X.org bug #1825)
+
+2004-11-10 Kristian Høgsberg <krh@redhat.com>
+
+ * lib/X11/XKBBind.c (XkbRefreshKeyboardMapping): Buzilla #1459,
+ fix bzero() size argument so it doesn't trash the stack.
+
+ * programs/xmodmap/pf.c (process_line): Fix off-by-one allocation
+ error (#1818).
+
+2004-11-09 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/lib/font/util/Imakefile
+ * xc/lib/font/util/utilbitmap.c
+ Bugzilla #1804 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1804):
+ Fix build failure (caused by missing symbols such as |TwoByteSwap|)
+ when linking the FreeType module and the FreeType library both
+ statically info the Xserver.
+
+2004-11-09 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv.man:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_cursor.c:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_dma.h:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_proto.h:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_type.h:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_video.c:
+ * xc/programs/Xserver/hw/xfree86/drivers/nv/nv_xaa.c:
+
+ (Bugzilla #1777) Import Mark Vojkovich's changes to NV driver
+ since last sync with XFree86, including:
+ Support for new NVIDIA chips.
+ Egbert has a laptop that needs some DPMS ordering reversed.
+ New chip support and workaround for Toshiba M30 laptop issue.
+ PCI-Xpress chip support.
+ DPMS support for DVI.
+ Cursor changes for NV11 so that alpha blended cursors will work
+ in conjunction with dithering (laptop panels). It previously
+ did not.
+ HW support for alpha blended stretch blits on NV5 and higher,
+ though nothing is using them at this point.
+ Add support for VBlank syncing the Xv Blit adaptor on hardware
+ that supports it (NV11 and higher).
+ Make console restoration a little more robust. We were making
+ an assumption that failed on a newer laptop.
+ Workaround for some NV31 DVI artifacts.
+
+ Also add nVidia license statement to nv man page to comply with
+ requirement that it appear in "user documentation"
+
+2004-11-09 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Imakefile
+ Bugzilla #1811 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1811):
+ Fix build failure when linking Xservers if
+ |#define BuildComposite NO| was used.
+
+2004-11-09 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/xprint_site.def
+ Bugzilla #1810 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1810):
+ Fix Xprint standalone config.
+
+2004-11-09 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/drivers/wsfb:
+ Bugs #1807 & #1808: make wsfb driver work on NetBSD (Nathan J.
+ Williams).
+
+2004-11-09 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/xf86cfg/loader.h:
+ Bug #557: Don't use "bool" as a variable name in xf86cfg, to avoid
+ compiler bugs. (Donnie Berkholz)
+
+2004-11-09 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/loader/elfloader.c:
+ Bug #1765: Add support for R_ALPHA_SREL32 relocations in elfloader.
+ Originally Debian patch 202_alpha_elfloader_support_R_ALPHA_SREL32.diff.
+ (Falk Hueffner)
+
+2004-11-08 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/nls/compose.dir
+ * xc/nls/locale.alias
+ * xc/nls/locale.dir
+ * xc/programs/Xserver/XpConfig/Imakefile
+ Bugzilla #1544 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1544):
+ Adding support for the si_LK (si, sinhala, si_LK, si_LK.UTF-8)
+ locale.
+ Patch by Anuradha Ratnaweera <gnu.slash.linux@gmail.com>.
+
+2004-11-08 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xpr/x2jet.c
+ * xc/programs/xpr/xpr.c
+ Bugzilla #1795 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1795):
+ Fix build bustage caused by bug 1779, patch by Bernhard
+ Rosenkraenzer <bero@arklinux.org>.
+
+2004-11-08 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xpr/x2jet.c
+ * xc/programs/xpr/x2pmp.c
+ * xc/programs/xpr/xpr.c
+ * xc/programs/xpr/xpr.h
+ Bugzilla #1779 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1779):
+ Fix various warnings, build problems in "xpr" and convert the
+ whole source from K&R style to ANSI-C.
+
+2004-11-08 Fabio M. Di Nitto <fabbione@fabbione.net>
+
+ * programs/Xserver/hw/darwin/Imakefile
+ * programs/Xserver/hw/darwin/quartz/Imakefile
+ * programs/Xserver/hw/xfree86/common/Imakefile
+ Rename XFREE86_CUSTOM_VERSION to XORG_CUSTOM_VERSION, since
+ the former is not used anymore.
+ Also ensure tohandle properly XFree86CustomVersion to not break
+ actual build systems and provide smooth transition.
+ If both XorgCustomVersion and XFree86CustomVersion are defined,
+ the former is always preferred.
+ * config/cf/linux.cf
+ Rename XFree86CustomVersion to XorgCustomVersion in the Debian
+ Maintainer section.
+
+2004-11-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/sun.cf
+ * xc/config/cf/sv4Lib.rules
+ Bugzilla #1748: Fix the problem that libGLU was not being
+ build on Solaris. This adds the missing
+ |SharedDepCplusplusLibraryTarget| Imake rule which caused
+ C++ libraries to be linked with plain "ld" instead of $(CXX),
+ resulting in missing symbols when linking the library into
+ applications which do not link to libCrun (Sun Workshop/Forte
+ C++ runtime library) elsewhere, too.
+
+2004-11-07 Fabio M. Di Nitto <fabbione@fabbione.net>
+
+ * programs/Xserver/hw/dmx/config/Imakefile
+ Add missing InstallProgram targets for the Xdmx configuration tools.
+
+2004-11-05 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/fb/fb.h:
+ Use ROOTLESS instead of platform specific defines.
+
+2004-11-04 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/fonts/encodings/Imakefile
+ * xc/fonts/encodings/ascii-0.enc
+ * xc/programs/mkfontscale/mkfontscale.c
+ Bugzilla #1703: Adding ascii-0 font encoding which helps in
+ cases where a font has all ASCII chars populated but not enougth
+ glyphs to match the requirements for ISO8859-1 (and to add
+ backwards compatibility to ttmkfdir).
+
+2004-11-04 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/nls/compose.dir
+ * xc/nls/locale.alias
+ * xc/nls/locale.dir
+ * xc/programs/Xserver/XpConfig/Imakefile
+ Bugzilla #860: Adding some of the major indic locales
+ (bn_IN.UTF-8, bn_IN.utf8, gu_IN.UTF-8, gu_IN.utf8, pa_IN.UTF-8,
+ pa_IN.utf8) to X.
+ Patch by Leon Ho <llch@redhat.com>.
+
+2004-11-03 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/doc/man/general/Standards.cpp
+ * xc/doc/man/general/X.cpp
+ * xc/doc/man/general/XProjectTeam.cpp
+ * xc/doc/man/general/security.cpp
+ * xc/extras/accessx/Imakefile
+ * xc/extras/accessx/accessx.c
+ * xc/extras/accessx/accessx.uil.cpp
+ * xc/extras/accessx/accessx.xbm
+ * xc/extras/accessx/accessxstrings.uil
+ * xc/include/extensions/panoramiX.h
+ * xc/lib/X11/xlibi18n/im/ximp40/Imakefile
+ * xc/lib/X11/xlibi18n/im/ximp40/XIMProto.h
+ * xc/lib/X11/xlibi18n/im/ximp40/Ximp40.mapfile
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpCallbk.c
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpConv.c
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpExten.c
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpIC.c
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpICG.c
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpICS.c
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpIM.c
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpIm.h
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpLkup.c
+ * xc/lib/X11/xlibi18n/im/ximp40/XimpRm.c
+ * xc/lib/X11/xlibi18n/lc/UTF-8/Imakefile
+ * xc/lib/X11/xlibi18n/lc/UTF-8/Xlc.mapfile
+ * xc/lib/X11/xlibi18n/lc/UTF-8/XlcDBUnicode.h
+ * xc/lib/X11/xlibi18n/lc/UTF-8/XlcPublicUnicode.h
+ * xc/lib/X11/xlibi18n/lc/UTF-8/lcDBUnicode.c
+ * xc/lib/X11/xlibi18n/lc/UTF-8/lcPublicUnicode.c
+ * xc/lib/X11/xlibi18n/lc/UTF-8/lcUNICODE.c
+ * xc/lib/X11/xlibi18n/lc/big5/Imakefile
+ * xc/lib/X11/xlibi18n/lc/big5/Xlc.mapfile
+ * xc/lib/X11/xlibi18n/lc/big5/lcbig5.c
+ * xc/lib/X11/xlibi18n/lc/gbk/Imakefile
+ * xc/lib/X11/xlibi18n/lc/gbk/Xlc.mapfile
+ * xc/lib/X11/xlibi18n/lc/gbk/lcgbk.c
+ * xc/lib/X11/XlcUTF.h
+ * xc/lib/X11/Xvarargs.h
+ * xc/lib/X11/aixlcLoad.c
+ * xc/lib/X11/lcUTF.c
+ * xc/lib/Xext/XPanoramiX.c
+ * xc/lib/xtrans/Xtransam.c
+ * xc/nls/Compose/fcd8859-15
+ * xc/nls/XI18N_OBJS/zh
+ * xc/nls/XLC_LOCALE/conv_tables/BIG5-1.GLGR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/GB2312-0.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/GBK-0.GLGR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-10.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-15.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-2.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-3.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-4.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-5.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-6.GLGR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-6.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-7.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-8.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/ISO8859-9.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/Imakefile
+ * xc/nls/XLC_LOCALE/conv_tables/JISX0201-0.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/JISX0208-0.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/JISX0212-0.GR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/KSC-JOHAP.GLGR.txt
+ * xc/nls/XLC_LOCALE/conv_tables/SUNUDCJA.GL.txt
+ * xc/nls/XLC_LOCALE/conv_tables/TIS620.2533-0.GR.txt
+ * xc/nls/XLC_LOCALE/util/xuctblgen/Imakefile
+ * xc/nls/XLC_LOCALE/util/xuctblgen/bool.h
+ * xc/nls/XLC_LOCALE/util/xuctblgen/conv_def.h
+ * xc/nls/XLC_LOCALE/util/xuctblgen/conv_info.c
+ * xc/nls/XLC_LOCALE/util/xuctblgen/conv_info.h
+ * xc/nls/XLC_LOCALE/util/xuctblgen/cstream.c
+ * xc/nls/XLC_LOCALE/util/xuctblgen/cstream.h
+ * xc/nls/XLC_LOCALE/util/xuctblgen/lookup_tbl.c
+ * xc/nls/XLC_LOCALE/util/xuctblgen/lookup_tbl.h
+ * xc/nls/XLC_LOCALE/util/xuctblgen/range_tbl.c
+ * xc/nls/XLC_LOCALE/util/xuctblgen/range_tbl.h
+ * xc/nls/XLC_LOCALE/util/xuctblgen/tblgen.c
+ * xc/nls/XLC_LOCALE/util/xuctblgen/time.c
+ * xc/nls/XLC_LOCALE/util/xuctblgen/time.h
+ * xc/nls/XLC_LOCALE/util/Imakefile
+ * xc/nls/XLC_LOCALE/en_US.utf
+ * xc/nls/XLC_LOCALE/fcd8859-15
+ * xc/nls/XLC_LOCALE/gb2312
+ * xc/nls/XLC_LOCALE/jis0201
+ * xc/nls/XLC_LOCALE/jis0208
+ * xc/nls/XLC_LOCALE/ksc5601
+ * xc/nls/XLC_LOCALE/tab8859_1
+ * xc/nls/XLC_LOCALE/tab8859_10
+ * xc/nls/XLC_LOCALE/tab8859_15
+ * xc/nls/XLC_LOCALE/tab8859_2
+ * xc/nls/XLC_LOCALE/tab8859_3
+ * xc/nls/XLC_LOCALE/tab8859_4
+ * xc/nls/XLC_LOCALE/tab8859_5
+ * xc/nls/XLC_LOCALE/tab8859_6
+ * xc/nls/XLC_LOCALE/tab8859_7
+ * xc/nls/XLC_LOCALE/tab8859_8
+ * xc/nls/XLC_LOCALE/tab8859_9
+ * xc/nls/XLC_LOCALE/tabkoi8_r
+ * xc/nls/XLC_LOCALE/th_TH.TACTIS
+ * xc/nls/XLC_LOCALE/zh
+ * xc/programs/Xserver/Xprint/Quarks.c
+ * xc/programs/Xserver/Xprint/Xlcint.h
+ * xc/programs/Xserver/Xprint/Xresource.h
+ * xc/programs/Xserver/Xprint/Xrm.c
+ * xc/programs/Xserver/Xprint/XrmI.h
+ * xc/programs/Xserver/cfb/cfb8cppl.c
+ * xc/programs/Xserver/hw/dec/ws/Imakefile
+ * xc/programs/Xserver/hw/dec/ws/Xdec.man
+ * xc/programs/Xserver/hw/dec/ws/acc_2da.c
+ * xc/programs/Xserver/hw/dec/ws/acc_3d.c
+ * xc/programs/Xserver/hw/dec/ws/acc_none.c
+ * xc/programs/Xserver/hw/dec/ws/cfbinit.c
+ * xc/programs/Xserver/hw/dec/ws/ext_device.c
+ * xc/programs/Xserver/hw/dec/ws/init.c
+ * xc/programs/Xserver/hw/dec/ws/keynames.h
+ * xc/programs/Xserver/hw/dec/ws/mdepthinit.c
+ * xc/programs/Xserver/hw/dec/ws/ws.h
+ * xc/programs/Xserver/hw/dec/ws/ws_color.c
+ * xc/programs/Xserver/hw/dec/ws/ws_io.c
+ * xc/programs/Xserver/hw/hp/include/XHPproto.h
+ * xc/programs/Xserver/hw/hp/include/hppriv.h
+ * xc/programs/Xserver/hw/hp/input/X11/XHPlib.h
+ * xc/programs/Xserver/hw/hp/input/drivers/Imakefile
+ * xc/programs/Xserver/hw/hp/input/drivers/X0screens
+ * xc/programs/Xserver/hw/hp/input/drivers/XHPKeymaps
+ * xc/programs/Xserver/hw/hp/input/drivers/hil_driver.c
+ * xc/programs/Xserver/hw/hp/input/drivers/hp7lc2k.c
+ * xc/programs/Xserver/hw/hp/input/drivers/hp7lc2m.c
+ * xc/programs/Xserver/hw/hp/input/drivers/ps2io.h
+ * xc/programs/Xserver/hw/hp/input/Imakefile
+ * xc/programs/Xserver/hw/hp/input/cr16.s
+ * xc/programs/Xserver/hw/hp/input/get_tv.c
+ * xc/programs/Xserver/hw/hp/input/getkeysym.c
+ * xc/programs/Xserver/hw/hp/input/hildef.h
+ * xc/programs/Xserver/hw/hp/input/hpKeyMap.c
+ * xc/programs/Xserver/hw/hp/input/hpext.h
+ * xc/programs/Xserver/hw/hp/input/hpkeys.h
+ * xc/programs/Xserver/hw/hp/input/screentab.h
+ * xc/programs/Xserver/hw/hp/input/x_hil.c
+ * xc/programs/Xserver/hw/hp/input/x_hil.h
+ * xc/programs/Xserver/hw/hp/input/x_hilinit.c
+ * xc/programs/Xserver/hw/hp/input/x_hilinit.h
+ * xc/programs/Xserver/hw/hp/input/x_serialdrv.h
+ * xc/programs/Xserver/hw/hp/input/xtest1imp.c
+ * xc/programs/Xserver/hw/hp/ngle/Imakefile
+ * xc/programs/Xserver/hw/hp/ngle/dregs.h
+ * xc/programs/Xserver/hw/hp/ngle/hyperScrn.c
+ * xc/programs/Xserver/hw/hp/ngle/ngle.h
+ * xc/programs/Xserver/hw/hp/ngle/ngleblt.c
+ * xc/programs/Xserver/hw/hp/ngle/nglecolormap.c
+ * xc/programs/Xserver/hw/hp/ngle/nglecolormap.h
+ * xc/programs/Xserver/hw/hp/ngle/nglecopy.c
+ * xc/programs/Xserver/hw/hp/ngle/nglecopy.h
+ * xc/programs/Xserver/hw/hp/ngle/nglecursor.c
+ * xc/programs/Xserver/hw/hp/ngle/nglecursor.h
+ * xc/programs/Xserver/hw/hp/ngle/ngledevrom.h
+ * xc/programs/Xserver/hw/hp/ngle/ngledoblt.o.8.07
+ * xc/programs/Xserver/hw/hp/ngle/ngleextern.h
+ * xc/programs/Xserver/hw/hp/ngle/nglehdw.h
+ * xc/programs/Xserver/hw/hp/ngle/nglenoop.c
+ * xc/programs/Xserver/hw/hp/ngle/nglenoop.h
+ * xc/programs/Xserver/hw/hp/ngle/nglescreen.c
+ * xc/programs/Xserver/hw/hp/ngle/nglescreen.h
+ * xc/programs/Xserver/hw/hp/Imakefile
+ * xc/programs/Xserver/hw/hp/Xhp.man
+ * xc/programs/Xserver/hw/hp/ddx_info.c
+ * xc/programs/Xserver/hw/hp/hpCursorUtils.c
+ * xc/programs/Xserver/hw/hp/hpInit.c
+ * xc/programs/Xserver/hw/sunAmoeba/Imakefile
+ * xc/programs/Xserver/hw/sunAmoeba/sun.h
+ * xc/programs/Xserver/hw/sunAmoeba/sunAmInit.c
+ * xc/programs/Xserver/hw/sunAmoeba/sunAmIo.c
+ * xc/programs/Xserver/hw/sunAmoeba/sunAmKbd.c
+ * xc/programs/Xserver/hw/sunAmoeba/sunAmMouse.c
+ * xc/programs/Xserver/hw/sunAmoeba/sunAmProbe.c
+ * xc/programs/Xserver/hw/sunAmoeba/sunAmScreen.c
+ * xc/programs/Xserver/hw/sunAmoeba/sunCfb.c
+ * xc/programs/Xserver/hw/sunAmoeba/sunCursor.c
+ * xc/programs/Xserver/hw/sunAmoeba/sunFbs.c
+ * xc/programs/Xserver/hw/xfree68/LinkKit/Imakefile
+ * xc/programs/Xserver/hw/xfree68/common/Imakefile
+ * xc/programs/Xserver/hw/xfree68/common/XF68_FBDev.c
+ * xc/programs/Xserver/hw/xfree68/doc/man/Imakefile
+ * xc/programs/Xserver/hw/xfree68/doc/sgml/Imakefile
+ * xc/programs/Xserver/hw/xfree68/doc/sgml/fbdev.sgml
+ * xc/programs/Xserver/hw/xfree68/doc/Imakefile
+ * xc/programs/Xserver/hw/xfree68/doc/README.fbdev
+ * xc/programs/Xserver/hw/xfree68/etc/Imakefile
+ * xc/programs/Xserver/hw/xfree68/fbdev/Imakefile
+ * xc/programs/Xserver/hw/xfree68/fbdev/fbdev.c
+ * xc/programs/Xserver/hw/xfree68/os-support/linux/Imakefile
+ * xc/programs/Xserver/hw/xfree68/os-support/misc/Imakefile
+ * xc/programs/Xserver/hw/xfree68/os-support/Imakefile
+ * xc/programs/Xserver/hw/xfree68/Imakefile
+ * xc/programs/Xserver/hw/xfree68/XF68Conf.cpp
+ * xc/programs/Xserver/hw/xfree68/XF68_FBDev.man
+ * xc/programs/Xserver/hw/xfree86/LinkKit/Imakefile
+ * xc/programs/Xserver/hw/xfree86/LinkKit/Imakefile.LK
+ * xc/programs/Xserver/hw/xfree86/LinkKit/README
+ * xc/programs/Xserver/hw/xfree86/LinkKit/mkmf.cpp
+ * xc/programs/Xserver/hw/xfree86/LinkKit/site.def.LK
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/00README
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/01.CopyRights
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/8514.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/AL.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/ARK.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/ATI.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/ATIMach.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Ahead.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Alliance.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Amake.cmds
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Amake.srclist
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/AsmMacros.h
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/CGA.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/ChipsTech.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Cirrus.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Compaq.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/GLINT.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Genoa.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/HMC.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Herc.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/I128.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Imakefile
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Intergraphics.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/MDA.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/MX.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Main.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Makefile.std
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Matrox.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/MemProbe.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/NCR.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/OS_386BSD.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/OS_Linux.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/OS_LynxOS.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/OS_Mach.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/OS_Minix.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/OS_Os2.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/OS_SYSV.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Oak.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/PCI.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/PCI.h
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/PatchLevel.h
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Primus.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Print.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Probe.h
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/RamDac.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/RealTek.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/S3.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/SiS.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/SigmaDesigns.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/SolX86IO.s
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/SuperProbe.man
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Trident.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Tseng.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/UMC.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Utils.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/VGA.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Video7.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/WD.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Weitek.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/Yamaha.c
+ * xc/programs/Xserver/hw/xfree86/SuperProbe/sprobe.def
+ * xc/programs/Xserver/hw/xfree86/VGADriverDoc/Imakefile
+ * xc/programs/Xserver/hw/xfree86/VGADriverDoc/Imakefile.stub
+ * xc/programs/Xserver/hw/xfree86/VGADriverDoc/VGADriver.Doc
+ * xc/programs/Xserver/hw/xfree86/VGADriverDoc/stub_bank.s
+ * xc/programs/Xserver/hw/xfree86/VGADriverDoc/stub_driver.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/Att490.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/Att490.h
+ * xc/programs/Xserver/hw/xfree86/accel/agx/Bt481.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/Bt481.h
+ * xc/programs/Xserver/hw/xfree86/accel/agx/Bt485.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/Bt485.h
+ * xc/programs/Xserver/hw/xfree86/accel/agx/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agx.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agx.h
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxBCach.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxBCach.h
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxBStor.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxBlt.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxCmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxCursor.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxDLine.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxDSeg.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxFArc.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxFCach.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxFPoly.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxFRect.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxFS.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxFont.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxGC.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxGC16.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxGC32.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxGS.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxGtImg.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxIm.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxIm.h
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxInit.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxLine.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxMap.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxPntWin.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxSS.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxScrIn.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxSeg.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxText.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/agxWin.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/hercRamDac.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/hercRamDac.h
+ * xc/programs/Xserver/hw/xfree86/accel/agx/regagx.h
+ * xc/programs/Xserver/hw/xfree86/accel/agx/xf861502x.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/xf861502x.h
+ * xc/programs/Xserver/hw/xfree86/accel/agx/xf86RamDac.c
+ * xc/programs/Xserver/hw/xfree86/accel/agx/xf86RamDac.h
+ * xc/programs/Xserver/hw/xfree86/accel/i128/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128.h
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128Cursor.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128Cursor.h
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128IBMCurs.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128TiCurs.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128accel.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128cmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128gc.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128init.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128misc.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128reg.h
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128scrin.c
+ * xc/programs/Xserver/hw/xfree86/accel/i128/i128stubs.c
+ * xc/programs/Xserver/hw/xfree86/accel/cache/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/cache/xf86bcache.c
+ * xc/programs/Xserver/hw/xfree86/accel/cache/xf86bcache.h
+ * xc/programs/Xserver/hw/xfree86/accel/cache/xf86fcache.c
+ * xc/programs/Xserver/hw/xfree86/accel/cache/xf86fcache.h
+ * xc/programs/Xserver/hw/xfree86/accel/cache/xf86text.c
+ * xc/programs/Xserver/hw/xfree86/accel/cache/xf86text.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/asm/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/asm/w32it.s
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/asm/w32line.s
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/asm/w32pit.s
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/dummy.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/et4000.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/et4000w32.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/gglbox.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/ggldraw.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/ramdac.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/vga.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/vgaCmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/w32.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/w32blt.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/w32box.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/w32funcs.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/w32itext.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/w32map.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/w32stip.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/w32vars.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/w32/w32version.h
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfb8cppl.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfb8line.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbbitblt.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbblt.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbfillrct.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbfillsp.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbgc.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbgetsp.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbglblt8.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbply1rct.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbpntwin.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbpush8.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbscrinit.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbsetsp.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbsolid.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbtegblt.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbtile32.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/cfbtileodd.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/stipple.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/w32bres.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/w32bresd.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/w32fillarc.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/w32hrzvert.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/w32line.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/w32polypnt.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/w32rctstp8.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/w32teblt8.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/cfb.w32/w32zerarc.c
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/confw32.cmd
+ * xc/programs/Xserver/hw/xfree86/accel/et4000w32/confw32.sh
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/8514cach.h
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/8514im.h
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/bcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/blt.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/bstor.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/cmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/dsline.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/dsseg.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/fc.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/fcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/font.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/frect.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/fs.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/gc.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/gs.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/gtimg.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/ibm8514.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/ibm8514.h
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/im.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/imfill.s
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/imread.s
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/imstip.s
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/imwrite.s
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/init.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/line.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/plypt.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/reg8514.h
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/scrin.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/seg.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/ss.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/text.c
+ * xc/programs/Xserver/hw/xfree86/accel/ibm8514/win.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/ativga.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/ativga.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32bc.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32blt.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32bstor.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32cmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32curs.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32dline.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32dseg.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32fcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32font.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32frect.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32fs.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32gc.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32gs.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32gtimg.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32im.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32im.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32init.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32line.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32mem.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32plypt.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32pntwn.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32scrin.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32seg.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32ss.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32text.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/mach32win.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach32/regmach32.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/ativga.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/ativga.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64blt.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64bstor.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64cmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64curs.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64fcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64fifo.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64fifo.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64font.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64frect.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64fs.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64gc.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64im.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64im.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64init.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64line.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64orect.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64pcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64pntwn.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64scrin.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64seg.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64text.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64util.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/mach64win.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach64/regmach64.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8bc.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8blt.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8bstor.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8cache.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8cmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8dsln.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8dssg.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8fc.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8fcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8font.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8frect.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8fs.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8gc.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8gs.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8gtimg.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8im.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8im.h
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8imfl.s
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8imrd.s
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8imst.s
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8imwrt.s
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8init.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8line.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8plypt.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8scrin.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8seg.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8ss.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8text.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/mach8win.c
+ * xc/programs/Xserver/hw/xfree86/accel/mach8/regmach8.h
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/I2061Acal.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/I2061Aset.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/ICD2061A.h
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000.h
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000Bt485.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000Bt485.h
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000BtCurs.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000blt.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000cmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000curs.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000curs.h
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000frect.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000gc.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000gc16.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000gc32.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000im.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000im.h
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000init.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000line.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000orchid.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000orchid.h
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000pntwin.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000reg.h
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000scrin.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000seg.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000text.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000vga.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000viper.c
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000viper.h
+ * xc/programs/Xserver/hw/xfree86/accel/p9000/p9000win.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/drivers/mmio_928/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3/drivers/mmio_928/mmio_928.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/drivers/newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3/drivers/newmmio/newmmio.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/drivers/s3_generic/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3/drivers/s3_generic/s3_generic.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3mmio/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3/IBMRGBCurs.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3/Ti3026Curs.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/confS3.sh
+ * xc/programs/Xserver/hw/xfree86/accel/s3/confs3.cmd
+ * xc/programs/Xserver/hw/xfree86/accel/s3/newmmio.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3/regs3.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3Bt485.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3BtCursor.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3Cursor.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3Cursor.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3ELSA.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3ELSA.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3TiCursor.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3bcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3blt.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3bstor.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3cmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3dline.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3dseg.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3fcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3font.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3frect.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3fs.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3gc.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3gc16.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3gc24.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3gc32.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3gs.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3gtimg.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3im.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3im.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3init.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3line.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3linear.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3misc.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3name.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3plypt.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3ramdacs.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3scrin.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3seg.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3ss.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3text.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3/s3win.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/drivers/s3_virge/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/drivers/s3_virge/s3_virge.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/confS3V.sh
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/confs3v.cmd
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/newmmio-sizes.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/newmmio.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/regs3v.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3Cursor.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3Cursor.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3ELSA.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3ELSA.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3bcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3blt.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3bstor.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3cmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3dline.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3fcach.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3font.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3frect.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3fs.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3gc.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3gc16.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3gc24.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3gc32.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3gs.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3gtimg.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3im.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3im.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3init.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3line.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3misc.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3name.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3plypt.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3rop.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3scrin.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3ss.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3text.c
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3v.h
+ * xc/programs/Xserver/hw/xfree86/accel/s3_virge/s3win.c
+ * xc/programs/Xserver/hw/xfree86/accel/tga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tga.c
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tga.h
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tgaBtCurs.c
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tga_accel.c
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tga_presets.h
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tga_regs.h
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tgacmap.c
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tgacurs.c
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tgacurs.h
+ * xc/programs/Xserver/hw/xfree86/accel/tga/tgainit.c
+ * xc/programs/Xserver/hw/xfree86/accel/Imakefile
+ * xc/programs/Xserver/hw/xfree86/common/Mach32.c
+ * xc/programs/Xserver/hw/xfree86/common/Mach64.c
+ * xc/programs/Xserver/hw/xfree86/common/Mach8.c
+ * xc/programs/Xserver/hw/xfree86/common/NOTES.Mice
+ * xc/programs/Xserver/hw/xfree86/common/XF86_8514.c
+ * xc/programs/Xserver/hw/xfree86/common/XF86_AGX.c
+ * xc/programs/Xserver/hw/xfree86/common/XF86_I128.c
+ * xc/programs/Xserver/hw/xfree86/common/XF86_Mono.c
+ * xc/programs/Xserver/hw/xfree86/common/XF86_P9000.c
+ * xc/programs/Xserver/hw/xfree86/common/XF86_S3.c
+ * xc/programs/Xserver/hw/xfree86/common/XF86_SVGA.c
+ * xc/programs/Xserver/hw/xfree86/common/XF86_TGA.c
+ * xc/programs/Xserver/hw/xfree86/common/XF86_VGA16.c
+ * xc/programs/Xserver/hw/xfree86/common/XF86_W32.c
+ * xc/programs/Xserver/hw/xfree86/common/cfb16.h
+ * xc/programs/Xserver/hw/xfree86/common/cfb24.h
+ * xc/programs/Xserver/hw/xfree86/common/cfb32.h
+ * xc/programs/Xserver/hw/xfree86/common/coKeynames.h
+ * xc/programs/Xserver/hw/xfree86/common/xf86DCConf.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86DCConf.h
+ * xc/programs/Xserver/hw/xfree86/common/xf86Dl.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86Elo.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86Jstk.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86Lock.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86Procs.h
+ * xc/programs/Xserver/hw/xfree86/common/xf86Summa.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86Wacom.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86_Config.h
+ * xc/programs/Xserver/hw/xfree86/common/xf86_Mouse.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86_Option.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86_Option.h
+ * xc/programs/Xserver/hw/xfree86/common/xf86_PnPMouse.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/ATTDac.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/BUSmemcpy.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/BUSmemcpy.s
+ * xc/programs/Xserver/hw/xfree86/common_hw/Ch8391clk.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/CirrusClk.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/CirrusClk.h
+ * xc/programs/Xserver/hw/xfree86/common_hw/I2061Aalt.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/I2061Acal.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/I2061Aset.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/IBMRGB.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/IBMRGB.h
+ * xc/programs/Xserver/hw/xfree86/common_hw/ICD2061A.h
+ * xc/programs/Xserver/hw/xfree86/common_hw/ICS1562.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/ICS2595.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/ICS2595.h
+ * xc/programs/Xserver/hw/xfree86/common_hw/IODelay.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/IODelay.s
+ * xc/programs/Xserver/hw/xfree86/common_hw/Imakefile
+ * xc/programs/Xserver/hw/xfree86/common_hw/S3gendac.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/S3gendac.h
+ * xc/programs/Xserver/hw/xfree86/common_hw/SC11412.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/SC11412.h
+ * xc/programs/Xserver/hw/xfree86/common_hw/STG1703clk.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/SlowBcopy.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/SlowBcopy.s
+ * xc/programs/Xserver/hw/xfree86/common_hw/Ti3025clk.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/Ti3026clk.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/Ti302X.h
+ * xc/programs/Xserver/hw/xfree86/common_hw/glibcAxpIo.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/xf86_ClkPr.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/xf86_HWlib.h
+ * xc/programs/Xserver/hw/xfree86/common_hw/xf86_PCI.c
+ * xc/programs/Xserver/hw/xfree86/common_hw/xf86_PCI.h
+ * xc/programs/Xserver/hw/xfree86/doc/Japanese/sgml/BUILD.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/Japanese/sgml/chips.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/Japanese/BUILD
+ * xc/programs/Xserver/hw/xfree86/doc/Japanese/README.chips
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/CPYRIGHT.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/DocIndex.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/LinkKit.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/Mach.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/NV1.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/OS2note.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/QStart.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTE.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/S3V.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/SOLX86.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/VGADriv.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/VidModes.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/W32.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/sgml/clkprog.sgml
+ * xc/programs/Xserver/hw/xfree86/doc/COPYRIGHT
+ * xc/programs/Xserver/hw/xfree86/doc/READ.FreeBSD
+ * xc/programs/Xserver/hw/xfree86/doc/README.Mach
+ * xc/programs/Xserver/hw/xfree86/doc/README.S3V
+ * xc/programs/Xserver/hw/xfree86/doc/README.SOLX86
+ * xc/programs/Xserver/hw/xfree86/doc/README.W32
+ * xc/programs/Xserver/hw/xfree86/doc/README.clkprog
+ * xc/programs/Xserver/hw/xfree86/doc/README.trident
+ * xc/programs/Xserver/hw/xfree86/etc/BM-Lynx.shar
+ * xc/programs/Xserver/hw/xfree86/etc/apSolx86.shar
+ * xc/programs/Xserver/hw/xfree86/etc/et4000clock.c
+ * xc/programs/Xserver/hw/xfree86/etc/ioctl_pc.h
+ * xc/programs/Xserver/hw/xfree86/etc/ld-wrapper.c
+ * xc/programs/Xserver/hw/xfree86/etc/postinst.sh
+ * xc/programs/Xserver/hw/xfree86/etc/preinst.sh
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/apollo/Imakefile
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/apollo/apolloBlt.c
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/apollo/apolloHW.h
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/apollo/apollodriv.c
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/hercules/Imakefile
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/hercules/hercules.c
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/hgc1280/HGC1280.info
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/hgc1280/Imakefile
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/hgc1280/hgc1280HW.h
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/hgc1280/hgc1280driv.c
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/sigma/Imakefile
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/sigma/sigmaHW.h
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/sigma/sigmadriv.c
+ * xc/programs/Xserver/hw/xfree86/mono/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree86/mono/mfb.banked/Imakefile
+ * xc/programs/Xserver/hw/xfree86/mono/mfb.banked/mfblinebank.h
+ * xc/programs/Xserver/hw/xfree86/mono/mfb.banked/mfbmap.h
+ * xc/programs/Xserver/hw/xfree86/mono/mfb.banked/mfbmap.sh
+ * xc/programs/Xserver/hw/xfree86/mono/mono/Imakefile
+ * xc/programs/Xserver/hw/xfree86/mono/mono/mono.c
+ * xc/programs/Xserver/hw/xfree86/mono/mono/mono.h
+ * xc/programs/Xserver/hw/xfree86/mono/COPYRIGHT
+ * xc/programs/Xserver/hw/xfree86/mono/Imakefile
+ * xc/programs/Xserver/hw/xfree86/mono/USING
+ * xc/programs/Xserver/hw/xfree86/mono/confmono.cmd
+ * xc/programs/Xserver/hw/xfree86/mono/confmono.sh
+ * xc/programs/Xserver/hw/xfree86/os-support/amoeba/Imakefile
+ * xc/programs/Xserver/hw/xfree86/os-support/amoeba/am_init.c
+ * xc/programs/Xserver/hw/xfree86/os-support/amoeba/am_io.c
+ * xc/programs/Xserver/hw/xfree86/os-support/amoeba/am_video.c
+ * xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_video.c
+ * xc/programs/Xserver/hw/xfree86/os-support/mach/Imakefile
+ * xc/programs/Xserver/hw/xfree86/os-support/mach/bios_mmap.c
+ * xc/programs/Xserver/hw/xfree86/os-support/mach/mach_init.c
+ * xc/programs/Xserver/hw/xfree86/os-support/mach/mach_io.c
+ * xc/programs/Xserver/hw/xfree86/os-support/mach/mach_video.c
+ * xc/programs/Xserver/hw/xfree86/os-support/minix/Imakefile
+ * xc/programs/Xserver/hw/xfree86/os-support/minix/bios_devmem.c
+ * xc/programs/Xserver/hw/xfree86/os-support/minix/local.h
+ * xc/programs/Xserver/hw/xfree86/os-support/minix/mnx_init.c
+ * xc/programs/Xserver/hw/xfree86/os-support/minix/mnx_io.c
+ * xc/programs/Xserver/hw/xfree86/os-support/minix/mnx_video.c
+ * xc/programs/Xserver/hw/xfree86/os-support/shared/IO_utils.c
+ * xc/programs/Xserver/hw/xfree86/os-support/shared/mapVT_noop.c
+ * xc/programs/Xserver/hw/xfree86/os-support/shared/std_mouse.c
+ * xc/programs/Xserver/hw/xfree86/os-support/shared/std_mseEv.c
+ * xc/programs/Xserver/hw/xfree86/os-support/solx86/Imakefile
+ * xc/programs/Xserver/hw/xfree86/os-support/solx86/solx86_init.c
+ * xc/programs/Xserver/hw/xfree86/os-support/solx86/solx86_iout.s
+ * xc/programs/Xserver/hw/xfree86/os-support/solx86/solx86_mmap.c
+ * xc/programs/Xserver/hw/xfree86/os-support/solx86/solx86_vid.c
+ * xc/programs/Xserver/hw/xfree86/os-support/sysv/bios_V4mmap.c
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/ati/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/oak/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/cl64xx/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/et3000/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/et4000/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/generic/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/ncr77c22/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/sis/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/tvga8900/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/OScompiler.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/emulOpStip.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/emulRepAre.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/emulStip.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/emulTile.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ibmTrace.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/mfbbres.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/mfbbresd.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/mfbfillarc.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/mfbhrzvert.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/mfbimggblt.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/mfbline.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/mfbzerarc.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/offscreen.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppc.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcArea.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcBStore.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcBitMacs.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcBitmap.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcCReduce.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcClip.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcCpArea.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcCurs.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcDepth.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcFillRct.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcGC.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcGCstr.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcGetSp.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcIO.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcImg.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcPixFS.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcPixmap.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcPntWin.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcPolyPnt.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcPolyRec.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcPushPxl.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcQuery.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcRot.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcRslvC.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcScrn.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcSetSp.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcSpMcro.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcWinFS.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/ppcWindow.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/vga16.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/vgaBitBlt.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/vgaGC.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/vgaImages.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/vgaReg.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/vgaSolid.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/vgaStipple.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/vgaVideo.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/wm0.h
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/wm3.c
+ * xc/programs/Xserver/hw/xfree86/vga16/ibm/wm3.h
+ * xc/programs/Xserver/hw/xfree86/vga16/mfb/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/mi/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/misc/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/vga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga16/cvga16.cmd
+ * xc/programs/Xserver/hw/xfree86/vga16/cvga16.sh
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/ati/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/gvga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/cirrus/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/cl64xx/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/compaq/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/et3000/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/et4000/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/generic/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/generic/gen_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/ncr77c22/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/oak/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/pvga1/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/sis/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/tvga8900/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/mfb/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/mfb.banked/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/mfb.banked/mfbbitblt.c
+ * xc/programs/Xserver/hw/xfree86/vga2/mfb.banked/mfbblt.c
+ * xc/programs/Xserver/hw/xfree86/vga2/mfb.banked/mfblinebank.h
+ * xc/programs/Xserver/hw/xfree86/vga2/misc/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/vga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/vga/vgaLBank.s
+ * xc/programs/Xserver/hw/xfree86/vga2/vga/vgaLBankc.c
+ * xc/programs/Xserver/hw/xfree86/vga2/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga2/confvga2.cmd
+ * xc/programs/Xserver/hw/xfree86/vga2/confvga2.sh
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/al2101/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/al2101/al_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/al2101/al_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ali/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ali/ali_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ali/ali_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/apm/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/apm/apm.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/apm/apm_accel.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/apm/apm_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/apm/apm_cursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/apm/apm_cursor.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/apm/apm_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/ark_accel.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/ark_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/ark_bitblt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/ark_blt16.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/ark_cop.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/ark_cursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/ark_cursor.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/ark_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ark/ark_driver.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/ati.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/ati.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/ati_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiadapter.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiadapter.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiadjust.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiadjust.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atibank.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atibank.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atibanks.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atibus.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atibus.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atichip.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atichip.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/aticlock.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/aticlock.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/aticmap.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/aticmap.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/aticonsole.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/aticonsole.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/aticrtc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/aticrtc.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atidac.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atidac.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atidepth.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atidsp.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atidsp.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atifbinit.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atifbinit.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atigetmode.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atigetmode.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiident.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiident.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiio.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiio.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atimach64.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atimach64.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atimono.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiprint.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiprint.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiprobe.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiprobe.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiproto.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiregs.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atireset.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atireset.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiscrinit.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiscrinit.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiutil.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiutil.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/ativalid.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/ativalid.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/ativersion.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/ativga.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/ativga.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atividmem.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atividmem.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiwonder.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/atiwonder.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ati/regati.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_BitBlt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_BlitMM.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_Blitter.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_BltHiQV.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_FillRct.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_FillSt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_accel.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_alloc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_blitter.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_blt16.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_colexp.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_config.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_cursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_driver.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_line.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_lline.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_lline.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_pci.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_solid.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_teblt8.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/ct_textblt.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/dRegs.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/chips/mRegs.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cirBlitMM.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cirBlitter.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cirFillRct.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cirFillSt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_alloc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_alloc.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_blitLG.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_blitLG.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_blitter.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_blt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_blt16.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_bltC.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_colexp.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_cursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_driver.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_fill.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_fillLG.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_im.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_imblt.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_inline.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_line.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_orect.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_solid.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_span.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_span.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_teblt8.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cir_textblt.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/cirrus_acl.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/laguna_acl.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/linearline.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cirrus/linearline.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cl64xx/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cl64xx/cl_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/cl64xx/cl_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/compaq/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/compaq/cpq_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/compaq/cpq_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et3000/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et3000/bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et3000/et3_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/et4_accel.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/et4_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_acl.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_acl.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_clock.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_colexp.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_colexp.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_cursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_cursor.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_dpms.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_inline.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/et4000/tseng_ramdac.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/generic/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/generic/gen_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/gvga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/gvga/bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/gvga/gvg_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/util/Makefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/util/README
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/util/stormdwg.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/README
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_bios.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_dac1064.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_dac3026.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_hwcurs.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_macros.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_map.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_reg.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_storm.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mga/mga_xaarepl.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mx/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mx/mx_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/mx/mx_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ncr77c22/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ncr77c22/ncr_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/ncr77c22/ncr_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/README
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/README.NV1
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/README.RIVA128
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/README.tech
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nv1cursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nv1driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nv1ref.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nv1setup.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nv3cursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nv3driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nv3ref.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nv3setup.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nv_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nvaccel.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nvcursor.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nvreg.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nvsetup.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nvuser.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/nvvga.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/oak/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/oak/oak_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/oak/oak_colexp.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/oak/oak_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/oak/oak_driver.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/oak/oti87_bltC.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/oak/oti87_fill.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/oak/oti87_sol.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/pvga1/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/pvga1/bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/pvga1/paradise.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/pvga1/pvg_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/pvga1/pvgaBitBlt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/pvga1/pvgablt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/pvga1/pvgapntwin.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/pvga1/pvgasolid.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/realtek/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/realtek/rt_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/realtek/rt_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/IBMRGBCurs.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/README.S3
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/Ti3026Curs.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/newmmio.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3Bt485.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3BtCursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3ELSA.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3ELSA.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3TiCursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3accel.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3cursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3fbinit.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3init.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3misc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3probe.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3ramdacs.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3reg.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3save.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/newmmio.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/regs3v.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_accel.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_cursor.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_driver.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_misc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/s3v/s3v_rop.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis86c201.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_BitBlt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_Blitter.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_FillRct.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_FillSt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_accel.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_blitter.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_blt16.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_colexp.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_curs.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_driver.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_pntwin.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_solid.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_teblt8.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/sis/sis_textblt.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/bankc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/t89_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/t89_driver.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/tgui_accel.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/tgui_curs.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/tgui_drv.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/tgui_ger.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/tgui_mmio.h
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/tvga8900/tgui_oldacl.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/video7/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/video7/v7_bank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/video7/v7_driver.c
+ * xc/programs/Xserver/hw/xfree86/vga256/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/SpeedUpBlt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/fBitBlt.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/fFill.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/fFillSet.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/fLineBres.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/fLineH.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/fLineV.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/gBanks.c
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/suBBlt2.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/suBitBlt.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/suBox.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/suLine.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/suVHLine.s
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/vgaBitBlt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/vgaBltFillc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/vgaFasm.h
+ * xc/programs/Xserver/hw/xfree86/vga256/enhanced/vgaLinec.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/Design
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vga.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vga.h
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vga256.h
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vga8cppl.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaAsm.h
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaBank.h
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaBank.s
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaBankc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaCmap.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaHW.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaPCI.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaPCI.h
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgabitblt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgablt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgabltC.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgabresd.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgabstore.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgafillarc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgafillrct.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgafillsp.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgafuncs.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgagc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgagetsp.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaglblt8.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaimage.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaline.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgalined.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgaply1rct.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgapntwin.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgapolypnt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgapush8.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgapwinS.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgarctstp8.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgascrinit.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgasetsp.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgasolid.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgatables.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgateblt8.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgategblt.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgatile32.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgatileodd.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgawindow.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vga/vgazerarc.c
+ * xc/programs/Xserver/hw/xfree86/vga256/vgainit/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/vgainit/vgabpp.h
+ * xc/programs/Xserver/hw/xfree86/vga256/vgainit/vgabppscrin.c
+ * xc/programs/Xserver/hw/xfree86/vga256/Imakefile
+ * xc/programs/Xserver/hw/xfree86/vga256/cvga256.cmd
+ * xc/programs/Xserver/hw/xfree86/vga256/cvga256.sh
+ * xc/programs/Xserver/hw/xfree86/xaa/xaa16/Imakefile
+ * xc/programs/Xserver/hw/xfree86/xaa/xaa24/Imakefile
+ * xc/programs/Xserver/hw/xfree86/xaa/xaa32/Imakefile
+ * xc/programs/Xserver/hw/xfree86/xaa/xaa8/Imakefile
+ * xc/programs/Xserver/hw/xfree86/xaa/xaavga256/Imakefile
+ * xc/programs/Xserver/hw/xfree86/xaa/Imakefile.BPP
+ * xc/programs/Xserver/hw/xfree86/xaa/cfbcpplane.c
+ * xc/programs/Xserver/hw/xfree86/xaa/sampledrv.c
+ * xc/programs/Xserver/hw/xfree86/xaa/vga256map.h
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86bench.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86bitmap.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86cparea.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86cursor.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86cursor.h
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86defs.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86dline.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86dseg.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86expblt.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86expblt.h
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86farc.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86fpoly.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86frect.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86gc.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86gcmap.h
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86gcmisc.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86im.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86initac.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86line.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86line2.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86local.h
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86maploc.h
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86orect.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86pcache.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86pcache.h
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86plane.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86scrin.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86scrin.h
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86spans.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86stip.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86tables.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86text.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86txtblt.s
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86window.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86wline.c
+ * xc/programs/Xserver/hw/xfree86/xaa/xf86xaa.h
+ * xc/programs/Xserver/hw/xfree86/xf86config/xf86conf.man
+ * xc/programs/Xserver/hw/xfree98/LinkKit/Imakefile
+ * xc/programs/Xserver/hw/xfree98/SuperProbe/Imakefile
+ * xc/programs/Xserver/hw/xfree98/VGADriverDoc/Imakefile
+ * xc/programs/Xserver/hw/xfree98/XF86Setup/pics/Imakefile
+ * xc/programs/Xserver/hw/xfree98/XF86Setup/scripts/Imakefile
+ * xc/programs/Xserver/hw/xfree98/XF86Setup/scripts/xmseconfig
+ * xc/programs/Xserver/hw/xfree98/XF86Setup/tcllib/Imakefile
+ * xc/programs/Xserver/hw/xfree98/XF86Setup/texts/generic/Imakefile
+ * xc/programs/Xserver/hw/xfree98/XF86Setup/texts/ja/Imakefile
+ * xc/programs/Xserver/hw/xfree98/XF86Setup/texts/Imakefile
+ * xc/programs/Xserver/hw/xfree98/XF86Setup/Imakefile
+ * xc/programs/Xserver/hw/xfree98/XF86Setup/filelist.tcl
+ * xc/programs/Xserver/hw/xfree98/accel/cache/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3ga968/drivers/mmio_928/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3ga968/drivers/newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3ga968/drivers/s3_generic/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3ga968/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3ga968/s3mmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3ga968/s3newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3ga968/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3nec/drivers/mmio_928/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3nec/drivers/newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3nec/drivers/s3_generic/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3nec/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3nec/s3mmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3nec/s3newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3nec/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3nec/s3pc98.c
+ * xc/programs/Xserver/hw/xfree98/accel/s3nec/s3pc98.h
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwlb/drivers/mmio_928/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwlb/drivers/newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwlb/drivers/s3_generic/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwlb/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwlb/s3mmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwlb/s3newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwlb/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwskb/drivers/mmio_928/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwskb/drivers/newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwskb/drivers/s3_generic/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwskb/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwskb/s3mmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwskb/s3newmmio/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/s3pwskb/Imakefile
+ * xc/programs/Xserver/hw/xfree98/accel/Imakefile
+ * xc/programs/Xserver/hw/xfree98/common/Imakefile
+ * xc/programs/Xserver/hw/xfree98/common/pc98_vers.h
+ * xc/programs/Xserver/hw/xfree98/common_hw/ga968/Imakefile
+ * xc/programs/Xserver/hw/xfree98/common_hw/generic/Imakefile
+ * xc/programs/Xserver/hw/xfree98/common_hw/nec/Imakefile
+ * xc/programs/Xserver/hw/xfree98/common_hw/pwlb/Imakefile
+ * xc/programs/Xserver/hw/xfree98/common_hw/pwskb/Imakefile
+ * xc/programs/Xserver/hw/xfree98/common_hw/Imakefile
+ * xc/programs/Xserver/hw/xfree98/common_hw/Imakefile.chw
+ * xc/programs/Xserver/hw/xfree98/doc/Japanese/sgml/1st.sgml
+ * xc/programs/Xserver/hw/xfree98/doc/Japanese/sgml/Imakefile
+ * xc/programs/Xserver/hw/xfree98/doc/Japanese/sgml/read98.sgml
+ * xc/programs/Xserver/hw/xfree98/doc/Japanese/Imakefile
+ * xc/programs/Xserver/hw/xfree98/doc/Japanese/README98
+ * xc/programs/Xserver/hw/xfree98/doc/Japanese/README98.1st
+ * xc/programs/Xserver/hw/xfree98/doc/man/Imakefile
+ * xc/programs/Xserver/hw/xfree98/doc/sgml/Imakefile
+ * xc/programs/Xserver/hw/xfree98/doc/Imakefile
+ * xc/programs/Xserver/hw/xfree98/doc/VideoBoard98
+ * xc/programs/Xserver/hw/xfree98/etc/Imakefile
+ * xc/programs/Xserver/hw/xfree98/os-support/bsd/Imakefile
+ * xc/programs/Xserver/hw/xfree98/os-support/misc/Imakefile
+ * xc/programs/Xserver/hw/xfree98/os-support/linux/Imakefile
+ * xc/programs/Xserver/hw/xfree98/os-support/minix/Imakefile
+ * xc/programs/Xserver/hw/xfree98/os-support/sysv/Imakefile
+ * xc/programs/Xserver/hw/xfree98/os-support/Imakefile
+ * xc/programs/Xserver/hw/xfree98/reconfig/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga16/drivers/generic/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga16/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga16/ibm/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga16/ibm/egc_asm.s
+ * xc/programs/Xserver/hw/xfree98/vga16/mfb/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga16/mi/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga16/misc/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga16/vga/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga16/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/ganbwap/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/mga/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/nec480/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/nec480/bank.s
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/nec480/nec480_dr.c
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/nkvnec/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/svga/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/trident/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/trident/pc98_tgui.c
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/trident/pc98_tgui.h
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/wabep/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/wabs/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/wsna/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/drivers/cir_pc98.c
+ * xc/programs/Xserver/hw/xfree98/vga256/ganbwap/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/mga/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/nec480/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/nkvnec/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/svga/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/trident/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/vgainit/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/wabep/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/wabs/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/wsna/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/Imakefile
+ * xc/programs/Xserver/hw/xfree98/vga256/Imakefile.vga
+ * xc/programs/Xserver/hw/xfree98/vga256/cmga.cmd
+ * xc/programs/Xserver/hw/xfree98/vga256/cmga.sh
+ * xc/programs/Xserver/hw/xfree98/vga256/cnec480.cmd
+ * xc/programs/Xserver/hw/xfree98/vga256/cnec480.sh
+ * xc/programs/Xserver/hw/xfree98/vga256/ctgui.cmd
+ * xc/programs/Xserver/hw/xfree98/vga256/ctgui.sh
+ * xc/programs/Xserver/hw/xfree98/vga256/cvga256.cmd
+ * xc/programs/Xserver/hw/xfree98/vga256/cvga256.sh
+ * xc/programs/Xserver/hw/xfree98/xaa/xaa16/Imakefile
+ * xc/programs/Xserver/hw/xfree98/xaa/xaa24/Imakefile
+ * xc/programs/Xserver/hw/xfree98/xaa/xaa32/Imakefile
+ * xc/programs/Xserver/hw/xfree98/xaa/xaa8/Imakefile
+ * xc/programs/Xserver/hw/xfree98/xaa/xaavga256/Imakefile
+ * xc/programs/Xserver/hw/xfree98/xaa/Imakefile
+ * xc/programs/Xserver/hw/xfree98/xaa/Imakefile.BPP
+ * xc/programs/Xserver/hw/xfree98/xf86config/Cards98
+ * xc/programs/Xserver/hw/xfree98/xf86config/Imakefile
+ * xc/programs/Xserver/hw/xfree98/Imakefile
+ * xc/programs/Xserver/hw/xfree98/XF98Conf.cpp
+ * xc/programs/Xserver/hw/xnest/Cursor.h
+ * xc/programs/Xserver/hw/xnest/Pixmap.h
+ * xc/programs/Xserver/os/iopreader.c
+ * xc/programs/Xserver/pandix/Imakefile
+ * xc/programs/Xserver/pandix/dispatch.c
+ * xc/programs/Xserver/pandix/dixfonts.c
+ * xc/programs/Xserver/pandix/events.c
+ * xc/programs/Xserver/pandix/main.c
+ * xc/programs/Xserver/pandix/resource.c
+ * xc/programs/Xserver/pandix/window.c
+ * xc/programs/Xserver/panmi/Imakefile
+ * xc/programs/Xserver/panmi/miexpose.c
+ * xc/programs/Xserver/panmi/miregion.c
+ * xc/programs/Xserver/panmi/mivaltree.c
+ * xc/programs/fsinfo/Imakefile
+ * xc/programs/fsinfo/fsinfo.c
+ * xc/programs/fsinfo/fsinfo.man
+ * xc/programs/xdm/config/Xresources
+ * xc/programs/xfs/include/events.h
+ * xc/programs/xfs/include/resource.h
+ * xc/programs/xkbcomp/keymap/sgi/cs
+ * xc/programs/xkbcomp/symbols/cs
+ * xc/programs/xkbcomp/xkbparse.h
+ * xc/programs/xprop/dsimple.c
+ * xc/programs/xprop/dsimple.h
+ * xc/programs/xwd/dsimple.c
+ * xc/programs/xwd/dsimple.h
+ * xc/programs/xwininfo/dsimple.c
+ * xc/programs/xwininfo/dsimple.h
+ * xc/fonts/bdf/misc/7x13euro.bdf
+ * xc/fonts/bdf/misc/7x13euroB.bdf
+ * xc/fonts/bdf/misc/7x14rk.bdf
+ * xc/fonts/bdf/misc/heb6x13.bdf
+ * xc/fonts/bdf/misc/heb8x13.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTBI__10.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTBI__12.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTBI__14.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTBI__18.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTBI__24.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTB___10.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTB___12.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTB___14.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTB___18.bdf
+ * xc/fonts/bdf/unnec_100dpi/UTB___24.bdf
+ * xc/fonts/bdf/unnec_100dpi/charB08.bdf
+ * xc/fonts/bdf/unnec_100dpi/charB10.bdf
+ * xc/fonts/bdf/unnec_100dpi/charB12.bdf
+ * xc/fonts/bdf/unnec_100dpi/charB14.bdf
+ * xc/fonts/bdf/unnec_100dpi/charB18.bdf
+ * xc/fonts/bdf/unnec_100dpi/charB24.bdf
+ * xc/fonts/bdf/unnec_100dpi/charBI08.bdf
+ * xc/fonts/bdf/unnec_100dpi/charBI10.bdf
+ * xc/fonts/bdf/unnec_100dpi/charBI12.bdf
+ * xc/fonts/bdf/unnec_100dpi/charBI14.bdf
+ * xc/fonts/bdf/unnec_100dpi/charBI18.bdf
+ * xc/fonts/bdf/unnec_100dpi/charBI24.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTBI__10.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTBI__12.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTBI__14.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTBI__18.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTBI__24.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTB___10.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTB___12.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTB___14.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTB___18.bdf
+ * xc/fonts/bdf/unnec_75dpi/UTB___24.bdf
+ * xc/fonts/bdf/unnec_75dpi/charB08.bdf
+ * xc/fonts/bdf/unnec_75dpi/charB10.bdf
+ * xc/fonts/bdf/unnec_75dpi/charB12.bdf
+ * xc/fonts/bdf/unnec_75dpi/charB14.bdf
+ * xc/fonts/bdf/unnec_75dpi/charB18.bdf
+ * xc/fonts/bdf/unnec_75dpi/charB24.bdf
+ * xc/fonts/bdf/unnec_75dpi/charBI08.bdf
+ * xc/fonts/bdf/unnec_75dpi/charBI10.bdf
+ * xc/fonts/bdf/unnec_75dpi/charBI12.bdf
+ * xc/fonts/bdf/unnec_75dpi/charBI14.bdf
+ * xc/fonts/bdf/unnec_75dpi/charBI18.bdf
+ * xc/fonts/bdf/unnec_75dpi/charBI24.bdf
+ * xc/util/patch/ChangeLog
+ * xc/util/patch/Configure
+ * xc/util/patch/EXTERN.h
+ * xc/util/patch/INTERN.h
+ * xc/util/patch/MANIFEST
+ * xc/util/patch/Makefile.SH
+ * xc/util/patch/Makefile.nt
+ * xc/util/patch/README
+ * xc/util/patch/backupfile.c
+ * xc/util/patch/backupfile.h
+ * xc/util/patch/common.h
+ * xc/util/patch/config.H
+ * xc/util/patch/config.h.SH
+ * xc/util/patch/config.h.nt
+ * xc/util/patch/inp.c
+ * xc/util/patch/inp.h
+ * xc/util/patch/malloc.c
+ * xc/util/patch/patch.c
+ * xc/util/patch/patch.man
+ * xc/util/patch/patchlevel.h
+ * xc/util/patch/pch.c
+ * xc/util/patch/pch.h
+ * xc/util/patch/util.c
+ * xc/util/patch/util.h
+ * xc/util/patch/version.c
+ * xc/util/patch/version.h
+ * xc/util/patch/winnt.h
+ Bugzilla #1770 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1770):
+ Fixing build bustage caused by dead files which were never properly
+ cvs removed, the RCS backing files just had an invalid default branch
+ set, which prevented CVS from checking them out. After fixing the RCS
+ backing files this patch now removes those files.
+
+2004-11-03 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/lib/font/FreeType/ftfuncs.c
+ Bugzilla #1767 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1767):
+ Fixing build bustage in xc/programs/bdftopcf/ due missing
+ `FT_STREAM_SEEK'/`FT_STREAM_POS' symbols.
+
+2004-11-02 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/pclcomp/pclcomp.c
+ Bugzilla #1758 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1758):
+ Fixing various build errors and warnings in "pclcomp".
+
+2004-11-02 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * lib/font/FreeType/ftfuncs.c:
+ Removing unneeded private FreeType2 symbol.
+
+ * programs/Xserver/hw/xfree86/ddc/edid.h:
+ * programs/Xserver/hw/xfree86/ddc/interpret_edid.c:
+ (xf86InterpretEDID), (get_display_section),
+ (get_std_timing_section), (get_dt_md_section),
+ (get_dst_timing_section), (get_monitor_ranges),
+ (get_detailed_timing_section), (validate_version):
+ * programs/Xserver/hw/xfree86/ddc/print_edid.c: (xf86PrintEDID),
+ (print_display), (print_input_features), (print_dpms_features),
+ (print_detailed_monitor_section), (print_detailed_timings),
+ (print_number_sections):
+ Updating to EDID 1.3. (Bugzilla# 1490, Jay Cotton, Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c:
+ (chipsModeInitHiQV):
+ Removing unneeded code.
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ (I810SetMode), (I810ModeInit):
+ * programs/Xserver/xkb/ddxList.c: (XkbDDXListComponent):
+ * programs/Xserver/xkb/ddxLoad.c: (XkbDDXCompileNamedKeymap):
+ Fixed KGA handling for i810. KGA handling for chips derived from
+ C&T chips is slightly different. The changes make the code
+ consistent with the C&T (chips) and i740 drivers.
+
+
+2004-11-01 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/Xext/saver.c: (ScreenSaverUnsetAttributes):
+ Fixed sig11 which occured when calling a CloseDisplay()
+ after XScreenSaverSetAttributes() followed by
+ XScreenSaverUnsetAttributes(). Caused by missing FreeResource()
+ in XScreenSaverUnsetAttributes().
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c:
+ (configureDDCMonitorSection):
+ Removing unused DDC sections that caused misinterpretation of
+ DDC data due to a missing break statement in a switch.
+ * programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c:
+ (ix86PciSelectCfgmech):
+ Fixed typo: #if <-> #ifdef.
+
+2004-10-31 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/glxgears/Imakefile
+ Bugzilla #1747: Fix build failure on Solaris due missing
+ |sched_yield| symbol (which is provided by the realtime library
+ (librt.so) in Solaris).
+
+2004-10-31 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/lib/GL/mesa/drivers/osmesa/Imakefile
+ Bugzilla #1743: Fix build failure on Solaris due "ld: fatal:
+ too many symbols require `small' PIC references" via adding
+ |#define LargePICTable YES| to the Imakefile.
+
+2004-10-31 Felix Kuehling <fxkuehl@gmx.de>
+
+ * xc/programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavageDDC1):
+ * xc/programs/Xserver/hw/xfree86/drivers/savage/savage_streams.c:
+ (SavageInitStreamsNew), (SavageInitStreams2000):
+ Make the Savage driver work with the dl-loader.
+
+2004-10-30 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/pclcomp/Imakefile
+ Bugzilla #631: Adding missing Imakefile.
+
+2004-10-30 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Imakefile
+ * xc/programs/pclcomp/README
+ * xc/programs/pclcomp/pclcomp.c
+ * xc/programs/pclcomp/pclcomp.man
+ * xc/programs/pclcomp/printer.note
+ * xc/programs/xpr/Imakefile
+ * xc/programs/xpr/lncmd.h
+ * xc/programs/xpr/pmp.h
+ * xc/programs/xpr/x2jet.c
+ * xc/programs/xpr/x2pmp.c
+ * xc/programs/xpr/xdpr.man
+ * xc/programs/xpr/xdpr.script
+ * xc/programs/xpr/xpr.c
+ * xc/programs/xpr/xpr.h
+ * xc/programs/xpr/xpr.man
+ Bugzilla #631: Uploading "xpr" and "pclcomp" as they are needed
+ for the RASTER and PCL drivers on some platforms.
+
+2004-10-30 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/config/util/mdepend.cpp:
+ Add -d flag for compilers like the Sun C compilers that
+ produce dependency lists themselves. To use with the Sun
+ compilers, add to host.def:
+ # define UseCCMakeDepend YES
+ # define DependFlags -cc $(CC) -d -xM
+ (Sun bug id #4245688 - fix by Alan Coopersmith)
+ * xc/programs/Xserver/hw/xfree86/loader/elfloader.c:
+ Add Solaris to the platforms on which mprotect is run to set
+ execute permissions when necessary. (Sun bug id #6175128 -
+ Xorg bugzilla #1812 - fix by Alan Coopersmith)
+ * xc/programs/xclock/Imakefile,Clock.c,ClockP.h,xclock.c:
+ Internationalize digital output (Sun bug id #4119396 - fix by
+ Steve Swales), add -bgpixmap option to set XPM file as background
+ (originally from STSF project version of xclock by Alan Coopersmith)
+ * xc/programs/xmodmap/handle.c,pf.c
+ xmodmap was printing line numbers which are one too low in error
+ messages (Xorg bugzilla #1739, Sun bug id 4637857 - fix by Sam Lau)
+
+2004-10-29 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * config/cf/X11.tmpl:
+ * config/cf/cygwin.cf:
+ * config/cf/darwin.cf:
+ * programs/Xserver/dix/Imakefile:
+ * programs/Xserver/miext/damage/Imakefile:
+ Add BuildRootless Imake variable and ROOTLESS define.
+
+2004-10-28 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/quartz/rootlessAqua.h:
+ Removed unused vestigial file.
+
+2004-10-27 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_accel.c:
+ (I810Sync):
+ Removing vtSema shilding of accel sync - should have been
+ '&&' instead of '||' anyway.
+
+2004-10-25 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/miext/rootless/accel/rlAccel.c: (rlCreateGC):
+ Fix rootless Cygwin crash due to acceleration code illegally modifying
+ a const structure (Reported by Kensuke Matsuzaki).
+
+2004-10-24 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/xprint_site.def
+ * xc/programs/Xserver/Xprint/ps/Ps.h
+ * xc/programs/Xserver/Xprint/ps/PsPixmap.c
+ * xc/programs/Xserver/Xprint/ps/PsPolygon.c
+ * xc/programs/Xserver/mi/miinitext.c
+ Bugzilla #1664 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1664)
+ attachment #1161 (https://bugs.freedesktop.org/attachment.cgi?id=1161):
+ RFE: Add support for the DOUBLE-BUFFER extension
+ to the Xprint server and DDX. Additionally a "pixmap-scrubber"
+ optimisation is added to the PostScript DDX to remove all content
+ from a vector pixmap when a |PolyFillRect()| call covers the whole
+ pixmap surface with a solid fill (this avoids that a backbuffer
+ vector pixmap gets constantly filled even when the content is
+ not visible anymore after |XdbeSwapBuffers()| has cleared the
+ hidden buffer with the background color).
+
+2004-10-24 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/drivers/wsfb/wsfb_driver.c:
+ - don't pretend to support 24bpp or 32bpp framebuffers if probed
+ depth is less than 24. Avoids a core dump after a common
+ configuration error.
+
+2004-10-21 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (RADEONDisplayVideo), (RADEONPutVideo):
+ - make the overlay work on crtc2 again
+ - make PutVideo() MergedFB aware
+
+2004-10-22 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/xdm/greeter/verify.c
+ Make BSDAUTH able to use non-default login classes.
+ (Bugzilla #1676, Pierre Lalet).
+
+2004-10-21 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ Make sure the overlay is off when switching modes, otherwise you
+ can get a chip lockup if you switch modes with a video playing
+
+2004-10-20 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.c:
+ (SavageStreamsOn), (SavageStreamsOff):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_video.c:
+ (SavageInitVideo), (SavageStopVideo), (SavageDisplayVideoOld),
+ (SavageDisplayVideoNew), (SavageStopSurface):
+ when using the overlay for Xv, only enable it when displaying the
+ video otherwise the overlay breaks on mode changes.
+
+2004-10-20 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavageGetRefresh), (SavageValidMode), (SavageModeInit):
+ Take doublescan and interlace flags into account when choosing a
+ BIOS mode. Otherwise it choses modes with double refresh rates for
+ double scan modes or half refresh rates for interlaced modes.
+
+2004-10-20 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/via/via_lib.h:
+ Fixed a compile error on BSD in the via driver
+
+2004-10-20 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * lib/XvMC/Imakefile:
+ * lib/XvMC/hw/via/Imakefile:
+ * lib/XvMC/hw/via/viaLowLevel.c: (hwlLock), (hwlUnlock),
+ (viaMpegGetStatus), (viaMpegIsBusy), (timeDiff), (syncDMA),
+ (syncVideo), (syncAccel), (syncMpeg), (pciFlush), (agpFlush),
+ (flushXvMCLowLevel), (pciCommand), (agpCommand),
+ (viaMpegSetSurfaceStride), (viaVideoSetSWFLipLocked),
+ (viaVideoSWFlipLocked), (viaMpegSetFB), (viaMpegBeginPicture),
+ (viaMpegReset), (viaMpegWriteSlice), (viaVideoSubPictureOffLocked),
+ (viaVideoSubPictureLocked), (viaBlit), (syncXvMCLowLevel),
+ (initXvMCLowLevel), (setLowLevelLocking), (closeXvMCLowLevel):
+ * lib/XvMC/hw/via/viaLowLevel.h:
+ * lib/XvMC/hw/via/viaXvMC.c: (yOffs), (vOffs), (uOffs),
+ (defaultQMatrices), (releaseDecoder), (grabDecoder),
+ (setupAttribDesc), (releaseAttribDesc), (XvMCCreateContext),
+ (XvMCDestroyContext), (XvMCCreateSurface), (XvMCDestroySurface),
+ (XvMCPutSlice2), (XvMCPutSlice), (updateXVOverlay),
+ (XvMCPutSurface), (XvMCBeginSurface), (XvMCSyncSurface),
+ (XvMCLoadQMatrix), (XvMCRenderSurface), (XvMCCreateBlocks),
+ (XvMCDestroyBlocks), (XvMCCreateMacroBlocks),
+ (XvMCDestroyMacroBlocks), (XvMCCreateSubpicture),
+ (XvMCSetSubpicturePalette), (findOverlap), (XvMCClearSubpicture),
+ (XvMCCompositeSubpicture), (XvMCBlendSubpicture),
+ (XvMCBlendSubpicture2), (XvMCSyncSubpicture),
+ (XvMCFlushSubpicture), (XvMCDestroySubpicture),
+ (XvMCGetSubpictureStatus), (XvMCFlushSurface),
+ (XvMCGetSurfaceStatus), (XvMCQueryAttributes), (XvMCSetAttribute),
+ (XvMCGetAttribute), (XvMCHideSurface):
+ * lib/XvMC/hw/via/viaXvMCPriv.h:
+ * lib/XvMC/wrapper/Imakefile:
+ * lib/XvMC/wrapper/XvMCWrapper.c: (preInitW):
+ Imported via XvMC library release 0.13.0 from unichrome.sf.net.
+ This enables hardware mpeg2 decoding for the CLE266 chip using the
+ nonstandard VLD XvMC extension. Complete author information is
+ available at the unichrome site.
+ Updated the XvMC wrapper to look for version specific Xv and XvMC
+ shared libraries.
+
+2004-10-19 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Imakefile
+ * xc/programs/xdbedizzy/Imakefile
+ * xc/programs/xdbedizzy/xdbedizzy.c
+ * xc/programs/xdbedizzy/xdbedizzy.man
+ * xc/programs/xdbedizzy/xdbedizzy.sgml
+ Bugzilla #1673: Adding sample application "xdbedizzy" for the
+ DOUBLE-BUFFER extension ("DBE").
+ Original "dbedizzy" version written by Mark Kilgard, adapted to
+ use DBE for double buffering by Allen Leinwand, print support
+ by Roland Mainz.
+
+2004-10-19 Luc Verhaegen <libv@skynet.be>
+
+ * programs/Xserver/hw/xfree86/drivers/via/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/via/ddmpeg.h:
+ * programs/Xserver/hw/xfree86/drivers/via/ginfo.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via.man:
+ * programs/Xserver/hw/xfree86/drivers/via/via_accel.c:
+ (VIAInitialize2DEngine), (dispatchCBuffer), (dispatchCBufferAGP),
+ (VIAInitAccel), (VIAAccelSync), (VIASetupForScreenToScreenCopy),
+ (VIASubsequentScreenToScreenCopy), (VIASetupForSolidFill),
+ (VIASubsequentSolidFillRect), (VIASetupForMono8x8PatternFill),
+ (VIASubsequentMono8x8PatternFillRect),
+ (VIASubsequentColor8x8PatternFillRect),
+ (VIASetupForCPUToScreenColorExpandFill),
+ (VIASubsequentScanlineCPUToScreenColorExpandFill),
+ (VIASetupForScreenToScreenColorExpand),
+ (VIASubsequentScreenToScreenColorExpand), (VIASetupForImageWrite),
+ (VIASubsequentImageWriteRect), (VIASetupForSolidLine),
+ (VIASubsequentSolidTwoPointLine), (VIASubsequentSolidHorVertLine),
+ (VIASetupForDashedLine), (VIASubsequentDashedTwoPointLine),
+ (VIASetClippingRectangle), (ViaVQDisable):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bandwidth.c:
+ (ViaSetCLE266APrimaryFIFO), (ViaSetPrimaryExpireNumber),
+ (ViaSetPrimaryFetchCount), (ViaSetPrimaryFIFO),
+ (ViaSetSecondaryFetchCount), (ViaSetSecondaryFIFO),
+ (ViaDisablePrimaryFIFO):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bandwidth.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_bios.c:
+ (VIACreateHeaderFile), (VIACreateTV2), (VIAGetTV2Mask),
+ (VIAGetTV2NTSC), (VIAGetTV2PAL), (VIACreateTV3), (VIAGetTV3Mask),
+ (VIAGetTV3NTSC), (VIAGetTV3PAL), (VIACreateVT1622A),
+ (ViaGetRomTVTableVersion), (ViaGetRomOutputModeTables),
+ (ViaGetRomModeTables), (ViaGetRomImage),
+ (ViaGetIncludedOutputModeTables), (ViaGetIncludedModeTables),
+ (ViaModeTablesInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_bios.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_capture.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_ch7019.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_common.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_compose.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_cursor.c:
+ (VIALoadCursorImage), (ViaCursorStore), (ViaCursorRestore):
+ * programs/Xserver/hw/xfree86/drivers/via/via_dga.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c:
+ (VIADRIIrqInit), (VIADRIIrqExit), (VIADRIRingBufferCleanup),
+ (VIADRIRingBufferInit), (VIADRIAgpInit), (VIADRIScreenInit),
+ (VIADRICloseScreen), (VIADRIFinishScreenInit), (VIADRIMapInit),
+ (viaDRIEnterVT), (viaDRILeaveVT):
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c: (VIASetup),
+ (ViaWaitIdle), (VIAGetRec), (VIAFreeRec), (VIAIdentify),
+ (VIAProbe), (LookupChipSet), (VIAProbeDDC), (VIAPreInit),
+ (VIAEnterVT), (VIALeaveVT), (VIASave), (VIARestoreRegs),
+ (VIAEnableMMIO), (VIADisableMMIO), (VIAMapMMIO), (VIAMapFB),
+ (VIAScreenInit), (VIAInternalScreenInit), (VIAWriteMode),
+ (VIACloseScreen), (VIAAdjustFrame), (VIASwitchMode), (VIADPMS),
+ (VIADeviceSelection), (VIADeviceDispatch):
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_fs454.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_gpioi2c.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_gpioi2c.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_hwdiff.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_i2c.c:
+ (VIAI2C1PutBits), (VIAI2C1GetBits), (ViaI2CBus1Init),
+ (VIAI2C2PutBits), (VIAI2C2GetBits), (ViaI2CBus2Init),
+ (ViaI2CBus3Init), (ViaGpioI2CInit), (VIAGPIOI2C_Initial),
+ (ViaGpioI2c_Release), (ViaGpioI2c_SCLWrite), (ViaGpioI2c_SCLRead),
+ (ViaGpioI2c_SDAWrite), (ViaGpioI2c_SDARead), (HWGPIOI2C_SetSCL),
+ (HWGPIOI2C_SetSDA), (HWGPIOI2C_GetSDA), (GPIOI2C_START),
+ (GPIOI2C_STOP), (GPIOI2C_ACKNOWLEDGE), (GPIOI2C_SENDACKNOWLEDGE),
+ (GPIOI2C_SENDNACKNOWLEDGE), (GPIOI2C_WriteBit),
+ (GPIOI2C_WriteData), (GPIOI2C_ReadBit), (GPIOI2C_ReadData),
+ (VIAGPIOI2C_Write), (VIAGPIOI2C_Read), (VIAGPIOI2C_ReadByte),
+ (ViaGpioI2c_Probe), (VIAI2CInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_i2c.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.c:
+ (ViaDoubleCheckCLE266Revision), (ViaCheckCardId):
+ * programs/Xserver/hw/xfree86/drivers/via/via_id.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_lib.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_memcpy.c:
+ (libc_YUV42X), (__memcpy), (kernel_YUV42X), (kernel_memcpy),
+ (fastrdtsc), (time_function), (flagValid), (cpuValid),
+ (viaVidCopyInit):
+ * programs/Xserver/hw/xfree86/drivers/via/via_memcpy.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_memory.c:
+ (VIAFreeLinear), (offScreenLinear), (VIAAllocLinear),
+ (VIAInitLinear):
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.c:
+ (VIACheckTVExist), (VIAGetActiveDisplay), (VIASensorTV2),
+ (VIASensorTV3), (VIASensorDVI), (VIAPostDVI), (VIAGetDeviceDetect),
+ (ViaGetPanelSizeFromEDID), (VIAGetPanelSizeFromDDCv1),
+ (VIAGetPanelSizeFromDDCv2), (VIAGetPanelSize),
+ (ViaGetResolutionIndex), (ViaGetModeIndex), (ViaPanelGetIndex),
+ (ViaGetNearestRefresh), (ViaRefreshAllowed), (ViaTVGetIndex),
+ (VIAFindModeUseBIOSTable), (VIASetUseExternalClock),
+ (VIASetPrimaryClock), (VIASetSecondaryClock), (VIASetLCDMode),
+ (VIAPreSetTV2Mode), (VIAPreSetVT1623Mode), (VIAPostSetTV2Mode),
+ (VIAPreSetTV3Mode), (VIAPostSetTV3Mode), (ViaTVModePreset),
+ (ViaTVClose), (ViaTVModePostSet), (ViaSetPrimaryOffset),
+ (ViaSetBlankingEndOverflow), (ViaPrimaryRefreshPatch),
+ (VIASetModeUseBIOSTable), (ViaSetSecondaryOffset),
+ (VIASetModeForMHS), (ViaLCDPowerSequence), (VIAEnableLCD),
+ (VIADisableLCD), (VIASavePalette), (VIARestorePalette),
+ (VIALoadPalette):
+ * programs/Xserver/hw/xfree86/drivers/via/via_mode.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_overlay.c:
+ (viaOverlayGetV1Format), (viaOverlayGetV3Format),
+ (viaOverlayGetSrcStartAddress), (viaOverlayHQVCalcZoomHeight),
+ (viaOverlayGetFetch), (viaOverlayGetDisplayCount), (rangeEqualize),
+ (vPackFloat), (viaCalculateVideoColor):
+ * programs/Xserver/hw/xfree86/drivers/via/via_overlay.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_priv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_refresh.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_regrec.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_regrec.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_saa7108.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_shadow.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ (VIAVidHWDiffInit), (viaSetColorSpace), (ViaInitVideoStatusFlag),
+ (ViaSetVidCtl), (ViaVideoRegWrite), (VIAVidCreateSurface),
+ (VIAVidLockSurface), (VIAVidDestroySurface), (Upd_Video),
+ (VIAVidUpdateOverlay):
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_tuner.c:
+ (ViaAudioSelect):
+ * programs/Xserver/hw/xfree86/drivers/via/via_tv2.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_tv3.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_utility.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_utility.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_vbe.c:
+ (ViaVBEGetActiveDevice), (ViaVBEGetDisplayDeviceInfo),
+ (ViaVBEGetDisplayDeviceAttached), (ViaVBEGetBIOSDate),
+ (ViaVBEGetBIOSVersion), (ViaVBEGetFlatPanelInfo),
+ (ViaVBEGetTVConfiguration), (ViaVBEGetTVEncoderType),
+ (ViaVBEGetVideoMemSize), (ViaVBESetActiveDevice),
+ (ViaVBEGetModeInfo), (ViaVBEQueryModeList),
+ (ViaVBEQuerySupportedRefreshRate), (ViaVBESetDeviceRefreshRate),
+ (ViaVBESetFlatPanelState):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vgahw.c:
+ (ViaVgahwIn), (ViaVgahwOut), (ViaVgahwRead), (ViaVgahwWrite),
+ (ViaVgahwChange), (ViaCrtcChange), (ViaSeqChange), (ViaVgahwPrint):
+ * programs/Xserver/hw/xfree86/drivers/via/via_vgahw.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.c:
+ (DecideOverlaySupport), (viaResetVideo), (viaSaveVideo),
+ (viaRestoreVideo), (viaExitVideo), (viaInitVideo),
+ (viaSetupImageVideoG), (viaStopSWOVerlay), (viaStopVideoG),
+ (xv_to_tuner), (viaSetPortAttributeG), (viaGetPortAttributeG),
+ (viaPutImageG), (viaQueryImageAttributesG), (viaPutVideo):
+ * programs/Xserver/hw/xfree86/drivers/via/via_video.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_vt1622a.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.c:
+ (initViaXvMC), (cleanupViaXvMC), (stride), (size_yuv420),
+ (size_xx44), (mpegDisable), (ViaInitXVMC), (ViaCleanupXVMC),
+ (ViaXvMCCreateContext), (ViaXvMCCreateSurface),
+ (ViaXvMCCreateSubpicture), (ViaXvMCDestroyContext),
+ (ViaXvMCDestroySurface), (ViaXvMCDestroySubpicture),
+ (viaXvMCSetDisplayLock), (viaXvMCInitXv),
+ (viaXvMCInterceptXvAttribute), (viaXvMCInterceptXvGetAttribute),
+ (viaXvMCDisplayAttributes), (viaXvMCInterceptPutImage),
+ (viaXvMCPutImageSize):
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvmc.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_xvpriv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/videodev.h:
+
+ Sync via driver with unichrome (r26).
+ New features include: Asm videoblit; XvMC VLD support for
+ CLE266; Xv support for KM400; Panel activation by pci subsystem
+ id.
+ Some bugs were fixed, S3utility xv backend and support for
+ saa71xx, ch7xxx and FS45x tv/lvds encoders were removed, many
+ things were severely cleaned up. MMIO is exported read-only to
+ DRI for security.
+ Complete changelog (with author information) is available at
+ unichrome.sf.net.
+
+2004-10-19 Felix Kuehling <fxkuehl@gmx.de>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_vbe.c:
+ (SavageSetVESAMode):
+ Fix a regression in the CrtOnly option. This was fixed in DRI CVS
+ once but must have been lost during the port to Xorg CVS.
+
+2004-10-19 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * config/cf/linux.cf:
+ * config/imake/imakemdep.h:
+ Enabling modules and DRI for Linux HPPA.
+ * programs/Xserver/os/Imakefile:
+ * programs/Xserver/os/hpsocket.c:
+ Removing hpsocket.c as it isn't used anywhere any more
+ (Bugzilla #1584).
+
+2004-10-18 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * fonts/encodings/large/gb18030-0.enc:
+ Added file that was missing from last commit.
+
+2004-10-18 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * fonts/encodings/large/Imakefile:
+ * fonts/encodings/large/big5.eten-0.enc:
+ * fonts/encodings/large/big5hkscs-0.enc:
+ * fonts/encodings/large/gb2312.1980-0.enc:
+ * nls/Compose/Imakefile:
+ * nls/Compose/zh_CN.gb18030:
+ * nls/Compose/zh_HK.big5:
+ * nls/Compose/zh_HK.big5hkscs:
+ * nls/XI18N_OBJS/Imakefile:
+ * nls/XI18N_OBJS/zh_CN.gb18030:
+ * nls/XI18N_OBJS/zh_HK.UTF-8:
+ * nls/XI18N_OBJS/zh_HK.big5:
+ * nls/XLC_LOCALE/Imakefile:
+ * nls/XLC_LOCALE/zh_CN.UTF-8:
+ * nls/XLC_LOCALE/zh_CN.gb18030:
+ * nls/XLC_LOCALE/zh_CN.gbk:
+ * nls/XLC_LOCALE/zh_HK.UTF-8:
+ * nls/XLC_LOCALE/zh_HK.big5hkscs:
+ * nls/XLC_LOCALE/zh_TW.UTF-8:
+ * nls/compose.dir:
+ * nls/locale.alias:
+ * nls/locale.dir:
+ Correcting font encodings for GB18030, GBK and BIG5-HKSCS.
+ Adding nls support for those encodings (Bugzilla 1573, James Su).
+
+2004-10-18 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (RADEONSetupRenderByteswap):
+ Fixing one of the infamous
+ 'control reaches end of non void function problems'.
+
+2004-10-18 Egbert Eich <eich-at-freedesktop-dot-xorg>
+
+ * config/cf/Imake.cf:
+ * config/cf/linux.cf:
+ * config/cf/xfree86.cf:
+ * config/cf/xorg.cf:
+ * config/imake/imakemdep.h:
+ powerpc/powerpc64 build fixes.
+
+2004-10-18 Egbert Eich <eich-at-freedesktop-dot-xorg>
+
+ * config/cf/xorg.cf:
+ Made handling of DevelDrivers for x86-64 more conformant
+ to other platforms.
+
+ * fonts/encodings/Imakefile:
+ Compress all font encodings (Stefan Dirsch).
+
+ * lib/SM/sm_manager.c: (_SmsProtocolSetupProc):
+ Fixed warnings.
+
+ * lib/X11/imRm.c:
+ Turn on forwarding XNSpotLocation event to XIM server in
+ OffTheSpot and Root mode (bugzilla #1580, James Su).
+
+ * nls/Compose/en_US.UTF-8:
+ Added another compose key combination for the Euro symbol
+ (Stefan Dirsch).
+
+ * nls/compose.dir:
+ Added support for UTF-8 in ja_JP, ko_KR and zh_TW locales
+ (Mike Fabian).
+
+ * nls/locale.alias:
+ Changed default encoding for ru from KOI8-R to ISO8859-5
+ (Mike Fabian).
+ This is the encoding that is also used by glibc. We may
+ break other libcs - lets see who complains.
+
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ Added explanation for DESTDIR to install to a different directory
+ than /.
+
+ * programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c: (ATIProbe):
+ Added some early bailouts to atiprobe if PCI structure pointer is
+ NULL to prevent sig11.
+
+ * programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx1_video.c:
+ (GX1InitVideo), (GX1ResetVideo), (GX1StopVideo),
+ (GX1SetPortAttribute), (GX1DisplayVideo), (GX1BlockHandler):
+ * programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx2_video.c:
+ (GX2InitVideo), (GX2ResetVideo), (GX2StopVideo),
+ (GX2SetPortAttribute), (GX2DisplayVideo), (GX2BlockHandler):
+ XV support doesn't depend on 2D acceleration any more. This patch
+ removes this limitation from the NSC driver. This is a patch that
+ I have committed to XFree86 a while ago but never ported over to
+ X.Org. Matthieu Herrb contributed some build fixes.
+
+ * programs/Xserver/os/WaitFor.c:
+ Fixing SetDPMSTimers() so that DPMS*Time == 0 disables the
+ appropriate timer. This takes advantage of the fact that
+ TimerSet() with a timeout argument 0 behaves like TimerCanel().
+
+ * programs/xconsole/xconsole.c: (OpenConsole), (get_pty):
+ Use /dev/xconsole (named pipe) or devpts for system logger
+ (Werner Fink).
+
+ * programs/xkbcomp/rules/Imakefile:
+ Create missing links for backward compatibility to XFree86
+ (Stefan Dirsch).
+
+ * programs/xkbcomp/symbols/inet:
+ Changed comment to mention xorg.
+
+ * programs/xkill/xkill.c: (get_window_id):
+ Changed cursor for the 'kill' action from XC_draped_box to
+ XC_Pirate. If you don't like it we can change it back
+ (original author unknown).
+
+ * programs/xman/vendor.h:
+ Added 'pic' to the man page rendering command pipeline
+ (Werner Fink).
+
+ * programs/xrx/helper/helper.c:
+ Added missing return value (Stefan Dirsch, Roland Mainz)
+
+
+2004-10-17 Eric Anholt <anholt@FreeBSD.org>
+
+ * extras/Mesa/src/mesa/drivers/dri/tdfx/tdfx_tex.c:
+ (convertPalette):
+ Bug #1108: abort if no palette format matches. (Already in upstream
+ Mesa)
+
+2004-10-17 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xset/Imakefile
+ * xc/programs/xset/xset.c
+ Bugzilla #1659: Fix Imakefile bug which caused the Xprint support
+ in "xset" not being build.
+
+2004-10-17 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ - Fix DFP detection in r128 driver (bug 1386, Klaus Kusche)
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ (MouseCommonOptions):
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.man:
+ - Fix EmulateWheelInertia defaults (bug 1115, Andrew Pimlott)
+
+2004-10-17 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c: (S3PreInit),
+ (S3ModeInit):
+ - Add interlaced support to S3 driver (bug 332, Leo Savernik)
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c:
+ (MouseCommonOptions), (MouseProc), (MouseDoPostEvent):
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.man:
+ * programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h:
+ - EmulateWheelTimeout (bug 323, Mathias Fröhlich)
+ - single button double-click (bug 322, Rob Brown)
+
+2004-10-17 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+ On my Inspiron 8600 both internal and external ports are
+ marked DAC_PRIMARY in BIOS. So be extra careful - only
+ swap when the first port is not DAC_PRIMARY
+
+2004-10-17 Alex Deucher <agd5f@yahoo.com>
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.man
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c
+ - Add Thomas' latest sis MergedFB enhancements to the radeon driver
+
+2004-10-17 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/os/access.c: (CheckAddr):
+ * programs/Xserver/os/connection.c: (AuthAudit),
+ (ClientAuthorized):
+ Remove some remaining AMOEBA specific code.
+
+2004-10-16 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageSetGBD), (SavageSetGBD_Twister), (SavageSetGBD_3D),
+ (SavageSetGBD_PM), (SavageSetGBD_2000):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.c:
+ (SavageInitStreams2000), (SavageStreamsOn):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_video.c:
+ (SavageClipVWindow), (SavageInitVideo), (SavageSetColorKey2000),
+ (SavageSetColor2000), (SavageSetupImageVideo),
+ (SavageDisplayVideoNew), (SavageDisplayVideo2000):
+ - fix savage2000, savage3D
+ - attempt to fix Xv on savage2000 (still not there yet)
+
+2004-10-15 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/attributes.c
+ Bugzilla #1647: Fix the problem that |XpSubmitJob()| returns
+ a random value (patch by Stefan Dirsch/SuSE).
+
+2004-10-15 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/ps/PsColor.c
+ Bugzilla #1646: Fix the problem that |PsCreateColormap()| returns
+ a random value (patch by Stefan Dirsch/SuSE).
+
+2004-10-15 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Oid.c
+ Bugzilla #1637: Fix problems in oid code which may cause the
+ usage of an invalid string pointer (original patch by Egbert Eich).
+
+Thu Oct 14 20:43:03 2004 Søren Sandmann <sandmann@redhat.com>
+
+ * programs/xmodmap/pf.c (process_line): Fix a
+ write-to-constant-string issue.
+ * programs/xmodmap/xmodmap.c (main): Fix several buffer overruns.
+
+2004-10-14 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/os-support/misc/BUSmemcpy.S:
+ Bug #1628: Convert xf86{BusToMem,MemToBus} to PIC code, eliminating
+ a text relocation and enabling the server to be built as a
+ position-independent executable. (PaX Team)
+
+2004-10-14 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/pcl/PclInit.c
+ * xc/programs/Xserver/Xprint/ps/PsInit.c
+ Bugzilla #1629: Fix crash on AMD64, regression caused by bug
+ 1496 ("Xorg Xprt does not support "*xp-listfonts-mode:
+ xp-list-internal-printer-fonts" to toggle the usage of
+ printer-builtin fonts").
+
+2004-10-04 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c
+ * xc/programs/Xserver/hw/xfree86/drivers/i2c/fi1236.h
+ Squash annoying warning about fi1236_dump_status
+
+2004-10-13 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Imakefile
+ Bugzilla #1372: Fix build bustage in Broadway/XRX code when
+ Xaw8 is not available.
+
+2004-10-13 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/xdm/sessreg.c:
+ Bug #1627: Zero out struct utmp before writing it to prevent garbage
+ fields. (Egmont Koblinger)
+
+2004-10-13 Alexander Gottwald <ago@freedesktop.org>
+
+ * config/cf/Imakefile:
+ Bugzilla #1621, Bugzilla #1393: Add xorgversion.def to files to
+ install
+
+2004-10-13 Eric Anholt <anholt@FreeBSD.org>
+
+ * lib/X11/UIThrStubs.c:
+ Use attributes instead of pragmas for weak symbols on gcc 2.95 as well.
+ Using pragmas may result in the symbols being undefined with big -O.
+ (FreeBSD ports/69708, Masakazu HIGAKI <higamasa@dream.com>)
+
+2004-10-12 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xman/print.c
+ * xc/programs/xmore/print.c
+ * xc/programs/xphelloworld/xpawhelloworld/xpawhelloworld.c
+ Bugzilla #1601: Fix problems with wrong page counts in xedit&co.
+ when a global "*geometry" resource was overriding the internal
+ geometry management used by XawPrintShell(=usually adjust to
+ current page size, the resource was turning this into a static
+ value).
+
+2004-10-12 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ Set fbdev mode as the default mode on PPC (Olaf Hering).
+
+ * programs/xkbcomp/rules/xorg:
+ * programs/xkbcomp/rules/xorg.lst:
+ * programs/xkbcomp/rules/xorg.xml:
+ * programs/xkbcomp/symbols/inet:
+ Added support for IBM space saver keyboard (Stefan Dirsch).
+ Added support for Cherry CyMotion Master XPress (Marcus Schaefer).
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c:
+ (I830BIOSLeaveVT):
+ Change order of SetDisplayDevice(), HWRestore(), UnbindGART()
+ and RestoreBIOSMemSize() to be exactly opposite to the Save
+ procedure in EnterVT() (Matthias Hopf, Alan Hourihane).
+
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c: (NVDACSave):
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c: (NVRestore),
+ (NVSave):
+ Fix text mode restauration by removing the assumption that
+ the register which determines which head is programmed is set.
+ to the active head by the BIOS (Mark Vojkovich).
+
+ * programs/Xserver/hw/xfree86/common/xf86pciBus.c:
+ When I wrote the resource code 5 years ago I made some assumptions
+ which turned out to be false:
+ I've assumed that the bus number of the PCI hostbridge would be
+ the PCI bus the bridge links to. This is not correct. Fixing this
+ assumption is not easy.
+ However I hope that the attached patch will make the system work
+ regardless as it 'ignores' host bridges from which the target bus
+ is not known. This should not matter at all as we really don't
+ care about host bridges (unless we have bridge specific code
+ which retrieves information about the bridge).
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ (I810PreInit), (I810ScreenInit)
+ Fixed server crash on reset when a structure allocated in
+ PreInit() was freed on CloseScreen().
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ (I810ScreenInit):
+ Fixed ring buffer lock ups that happened because the structure
+ that contained ringbuffer data was not zeroed after allocation.
+ * programs/Xserver/hw/xfree86/drivers/i810/common.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c:
+ (I810DRIScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ (I810MapMem):
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c:
+ (I810AllocLow), (I810AllocHigh):
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_reg.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830.h:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c:
+ (I830MapMem), (SetRingRegs), (I830VESASetMode),
+ (I830BIOSSaveScreen):
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_memory.c:
+ (AllocFromPool), (AllocFromAGP), (I830AllocVidMem),
+ (I830Allocate2DMemory), (I830GetExcessMemoryAllocations),
+ (MakeTiles):
+ Fixed numerous warnings due to signed unsigned comparisons.
+ programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ (NVBacklightEnable):
+ Changed the order in which the sequencer registers and
+ the backlight control registers are written. The sequencer
+ control register need to be written first otherwise DPMS
+ screen blanking produces vertical bars on a mobile device.
+ lib/Xau/Imakefile:
+ Build libXau static library PIC so it can be linked into
+ toolkits that would like to wrap its functionality.
+
+2004-10-11 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONEnterVT):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_i2c.c:
+ (SavageI2CPutBits), (SavageI2CGetBits):
+ - fix resume on radeons (bug 1220)
+ - clean up some old cruft in the savage i2c code
+
+2004-10-11 Egbert Eich <eich-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Events.c: (xf86VTSwitch):
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (AbortDDX):
+ Improving DPMS handling on VT swich and server
+ termination/abort: previous version called the driver directly and
+ too late.
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONInitCrtc2Registers):
+ Unblank secondary screen explicitely. Don't rely on the value
+ read during register save as the BIOS have blanked the secondary
+ head.
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_accel.c:
+ (I810Sync):
+ Checking if server isn't switched away before calling sync.
+ Sanity check for possible bugs in aother areas of the code.
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ (I810PreInit):
+ Fixing default amount of of allocated video memory from
+ AGP for i810: Use 16MB if less than 192MB are installed
+ else use 24MB (Matthias Hopf).
+
+2004-10-10 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_video.c:
+ (SavageSetupImageVideo), (SavageSetPortAttribute),
+ (SavageGetPortAttribute), (SavageDisplayVideoOld):
+ Turn off vertical interpolation on "old" engines by default.
+ It's bandwidth intensive and causes artifacts on one of my
+ savage4s. I added an Xv attribute, XV_VERTICAL_INTERPOLATION,
+ so users can turn it on and off on the fly.
+
+2004-10-10 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.c:
+ (SavageInitStreamsOld):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_video.c:
+ (SavageDisplayVideoOld):
+ Fix Xv on savages with "old" streams engine. Streams FIFO reg does
+ not need to be set if you are doing vertical interpolation.
+ Setting the FIFO reg is only required when doing line doubling.
+
+2004-10-10 Alexander Gottwald <ago@freedesktop.org>
+
+ * fonts/bdf/100dpi/Imakefile:
+ * fonts/bdf/75dpi/Imakefile:
+ Bugzilla #1560: Fix build of lucida fonts which were broken since
+ 6.8.0
+
+2004-10-10 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/Xext/saver.c
+ Fix for XFree86 bugzilla #1224.
+ * lib/lbxutil/lbx_zlib/Imakefile
+ Don't mix in-tree libz headers and external libz
+ (Problem reported by Marc Espie on OpenBSD lists).
+ * config/cf/OpenBSDLib.tmpl
+ Fix shared libXaw revision numbers for OpenBSD 3.6.
+
+2004-10-09 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * config/cf/Imake.tmpl:
+ * config/cf/OpenBSD.cf:
+ * config/cf/xf86.tmpl:
+ * config/cf/xorg.tmpl:
+ * config/imake/imake.c: (get_stackprotector):
+ Fix ProPolice support for OpenBSD (merge with the
+ HasGccStackProtector define that was used on OpenBSD).
+ * config/cf/OpenBSD.cf:
+ remove -ansi from DefaultCCOptions on OpenBSD.
+
+Fri Oct 8 18:53:11 2004 Soeren Sandmann <sandmann@redhat.com>
+
+ * nls/XLC_LOCALE/en_US.UTF-8: Move iso10646 last so the "fallback"
+ fonts will actually be used if they are better matches.
+
+2004-10-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/docbook/docbookconv.sh
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.html
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.txt
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.xml
+ * xc/programs/Xserver/Xprint/Xprint.html
+ * xc/programs/Xserver/Xprint/Xprint.man
+ * xc/programs/Xserver/Xprint/Xprint.sgml
+ * xc/programs/xlsfonts/xlsfonts.man
+ * xc/programs/xlsfonts/xlsfonts.sgml
+ * xc/programs/xphelloworld/xphelloworld/xphelloworld.html
+ * xc/programs/xphelloworld/xphelloworld/xphelloworld.man
+ * xc/programs/xphelloworld/xphelloworld/xphelloworld.sgml
+ * xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.html
+ * xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.man
+ * xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.sgml
+ * xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.html
+ * xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.man
+ * xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.sgml
+ * xc/programs/xphelloworld/xpxthelloworld/xpxthelloworld.html
+ * xc/programs/xphelloworld/xpxthelloworld/xpxthelloworld.man
+ * xc/programs/xphelloworld/xpxthelloworld/xpxthelloworld.sgml
+ * xc/programs/xplsprinters/xplsprinters.html
+ * xc/programs/xplsprinters/xplsprinters.man
+ * xc/programs/xplsprinters/xplsprinters.sgml
+ * xc/programs/xprehashprinterlist/xprehashprinterlist.man
+ * xc/programs/xprehashprinterlist/xprehashprinterlist.sgml
+ Bugzilla #1557: Update DocBook SGML+XML manual pages and docmentation
+ and the in-tree copies of the generated files (*.man, *.html) to
+ get them properly working with newer versions of the tools within the
+ Xorg tree.
+
+2004-10-07 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c
+ Remove redundant and incorrect line.
+
+2004-10-07 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/quartz/applewm.c:
+ (AppleWMDoReorderWindow), (ProcAppleWMDispatch),
+ (SProcAppleWMQueryVersion), (SProcAppleWMDispatch):
+ * programs/Xserver/hw/darwin/quartz/applewmExt.h:
+ * programs/Xserver/hw/darwin/quartz/cr/crFrame.m:
+ (CRDoReorderWindow):
+ * programs/Xserver/hw/darwin/quartz/xpr/xprFrame.c:
+ (xprDoReorderWindow):
+ * programs/Xserver/miext/rootless/rootless.h:
+ * programs/Xserver/miext/rootless/rootlessWindow.c:
+ (RootlessReorderWindow):
+ Allow rootless implementations to override frame reordering. This is
+ used on Mac OS X when genie-restoring from the Dock to ensure that the
+ animation completes before drawing the frame.
+
+2004-10-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xlsfonts/Imakefile
+ * xc/programs/xlsfonts/xlsfonts.c
+ * xc/programs/xlsfonts/xlsfonts.man
+ * xc/programs/xlsfonts/xlsfonts.sgml
+ * xc/programs/xplsprinters/xplsprinters.html
+ * xc/programs/xplsprinters/xplsprinters.man
+ * xc/programs/xplsprinters/xplsprinters.sgml
+ Bugzilla #1551: Convert "xlsfonts" manual page to DocBook
+ format (and document the new functionality introduced
+ with bug #1518).
+
+2004-10-06 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageSetGBD), (SavageInitAccel):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIAgpInit), (SAVAGEDRIFinishScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ Require tiled mode for 3D
+
+2004-10-06 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIFinishScreenInit):
+ Fix glDrawPixels on supersavage
+
+2004-10-06 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xlsfonts/Imakefile
+ * xc/programs/xlsfonts/dsimple.c
+ * xc/programs/xlsfonts/dsimple.h
+ * xc/programs/xlsfonts/xlsfonts.c
+ Bugzilla #1518: Add filter support to "xlsfonts" that it can
+ filter builtin-, glyph- and/or other kinds of printer fonts
+ (controlled by the xp-listfonts-modes attribute as described
+ in the CDE DtPrint and Xprint specifications).
+
+2004-10-05 Adam Jackson <ajax@freedesktop.org>
+
+ * extras/Mesa/src/mesa/drivers/dri/common/dri_util.c:
+ * lib/GL/glx/glxext.c:
+ Bug #1501: More complete fix for libglx bugs. (Egbert Eich, Matthias
+ Hopf)
+
+2004-10-05 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavageEntPriv):
+ move this function outside of #ifdef XFree86LOADER.
+
+2004-10-05 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ Make xorgconfig ask again instead of giving up and throwing
+ away all your answers when you give a bad file name or bad
+ amount of video RAM. (Sun bug id 5070654, Xorg bugzilla #1813
+ - fix from Derek Wang of Sun)
+
+2004-10-04 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/theatre.h
+ Patch from Matthieu Herrb - fix compilation with
+ DoLoadableServer=NO
+
+2004-10-04 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/Imakefile
+ Apply patch from Matthieu Herrb - fix for my inexpert
+ attempt to hook up i2c driver subdirectory
+
+2004-10-04 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ Correct radeon man page, IGP is supported for 3D but R400 is not.
+
+2004-10-04 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/drivers/chips/chips.man:
+ * programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.man:
+ Manual pages fixes (XFree86 bugzilla #1487, Nicolas Joly).
+
+2004-10-04 Alexander Gottwald <ago@freedesktop.org>
+
+ * xc/config/cf/xorg.cf, xc/config/cf/cygwin.cf:
+ * xc/config/xorgversion.def:
+ Bugzilla #1393: Move xorg version numbers to separate config file
+
+2004-10-04 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c
+ Do not probe for Rage Theatre if no multimedia table is present
+ and no parameters have been specified.
+
+2004-10-04 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c
+ This is really embarassing - I found a part of code that had
+ <cr> at the end of the lines. I am certain I never saw it
+ before - talk about code rot !
+
+2004-10-03 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/ps/psout.c
+ Bugzilla #661: Xprt producing spurious characters in PS
+ output when using the bitmap cache (Originally reported
+ against Solaris Xprt as Sun bug id #4369307, and
+ fixed in Solaris by Jay Hobson <jay.hobson@sun.com>).
+
+2004-10-03 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Init.c
+ * xc/programs/Xserver/Xprint/ps/Ps.h
+ * xc/programs/Xserver/Xprint/ps/PsArea.c
+ * xc/programs/Xserver/Xprint/ps/PsColor.c
+ * xc/programs/Xserver/Xprint/ps/PsInit.c
+ * xc/programs/Xserver/Xprint/ps/psout.c
+ * xc/programs/Xserver/Xprint/ps/psout.h
+ Bugzilla #1299: Add more visuals to the Postscript DDX (8bit
+ GrayScale/StaticGray, 1bit StaticGray and the basic
+ infratructure for "deep" visuals with more than 8bits per RGB
+ gun).
+
+2004-10-03 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_mm_i2c.c
+ Remove debugging statement that cause loading of DLL modules
+ to fail.
+
+2004-10-03 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Init.c
+ * xc/programs/Xserver/Xprint/pcl/PclInit.c
+ * xc/programs/Xserver/Xprint/ps/PsInit.c
+ Bugzilla #1496: Fixed Xprt font handling which did not support
+ "*xp-listfonts-modes: xp-list-internal-printer-fonts" or
+ "*xp-listfonts-modes: xp-list-glyph-fonts" to toggle
+ the usage of printer-builtin and glyph fonts in XListFonts*(),
+ XLoad*Font(), etc.
+ Additionally the Xprint DDX now explicitly list "xp-listfonts-modes"
+ in "document-attributes-supported" (for document-level) or
+ "xp-page-attributes-supported" (for page-level) when the DDX implements
+ this feature (as described in the CDE DtPrint and Xprint
+ specifications).
+
+2004-10-03 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * doc/man/Xt/XtManChild.man:
+ * doc/man/Xt/XtName.man:
+ Xt Manual pages fixes from Dmitry Bolkhovitanov
+ (Bugzilla #1498, $1499).
+
+2004-10-03 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/ps/PsGC.c
+ * xc/programs/Xserver/Xprint/ps/PsPixmap.c
+ Bugzilla #1416: Fix Xprt PostScript DDX crashes when copying
+ offscreen pixmap content to the same pixmap (the crash can
+ be reproduced with % x11perf -copypixpix500 ... # or the
+ reduced testcase in bug #1416 (attachment #993)).
+
+2004-10-03 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/i2c/fi1236.c
+ Make sure formatting style is consistent within a single
+ function. MT2032 functions are best be in separate file
+ anyway.
+
+2004-10-03 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c
+ Fix compilation with gcc 3.4.x (patch by Ronny V. Vindenes)
+
+2004-10-03 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/i2c/fi1236.c
+ Fix compilation with gcc 3.4.x
+ Cleanup xf86DrvMsg noise.
+
+2004-10-02 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.[c,h]
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/theatre.c
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h
+ Port the rest of GATOS Radeon-specific code.
+ Remove "checkpoint" noise from logs.
+ Test with AIW Radeon 7500
+
+2004-10-02 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.[c,h]
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/theatre.c
+ Detect and initialize Rage Theatre (RT100)
+
+2004-10-02 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.[c,h]
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/theatre_reg.h
+ New:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_vip.c
+ Add VIP bus access code, hook it into initialization system.
+
+2004-10-02 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile
+ New:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/theatre*
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/generic_bus.h
+ Add Rage Theatre (RT100) module code and hook it into the
+ build system
+
+2004-10-02 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/config/cf/xorg.cf
+ Update version number and date, indicating CVS version
+ This needs to be changed regularly as releases are made
+
+2004-10-01 Vladimir Dergachev <volodya@mindspring.com>
+
+ Modified:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile
+ New:
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.h
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_mm_i2c.c
+ Add code to access and initialize multimedia i2c bus.
+ Hook it up.
+
+2004-10-01 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/glxgears/Imakefile
+ * xc/programs/glxgears/glxgears.c
+ Bugzilla #382: Timing patch for glxgears to rotate smoothly.
+
+2004-10-01 Vladimir Dergachev <volodya@mindspring.com>
+
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h
+ Add more multimedia registers
+
+2004-10-01 Vladimir Dergachev <volodya@mindspring.com>
+
+ * xc/programs/Xserver/hw/xfree86/drivers/i2c/*_module.c
+ Change version strings to XORG.
+
+2004-10-01 Vladimir Dergachev <volodya@mindspring.com>
+
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+ * xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h
+ Add TV-in specific options. Add TV-in specific fields to
+ radeon per-screen structure, add code to initialize them.
+ Preserve MM_TABLE (instead of whole VBIOS as was done in
+ GATOS drivers)
+
+2004-09-30 Vladimir Dergachev <volodya@mindspring.com>
+
+ * xc/programs/Xserver/hw/xfree86/drivers/i2c/*
+ * xc/programs/Xserver/hw/xfree86/drivers/Imakefile
+ Import GATOS I2C drivers and hook them into the build system
+
+2004-09-30 Nolan <nolan@vmware.com>
+
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmwarexaa.c:
+ (RGBPlusAlphaChannelToPremultipliedRGBA):
+ Bugfix for Alpha Texture acceleration from Constantine Sapuntzakis.
+
+2004-09-30 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/GL/glx/glxext.c:
+ Bug #1501: Fix a double-free in libglx. (Egbert Eich)
+
+2004-09-30 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (GetTileAperturePitch), (SavageSetGBD_Twister), (SavageSetGBD_M7),
+ (SavageSetGBD_PM), (SavageRestoreAccelState):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_regs.h:
+ Portability fixes from Matthieu Herrb (bug 1409)
+
+2004-09-30 Alex Deucher <agd5f@yahoo.com>
+
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageSetGBD_M7), (SavageSetGBD_PM), (SavageRestoreAccelState),
+ (SavageInitAccel):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_bci.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_cursor.c:
+ (SavageShowCursor), (SavageHideCursor), (SavageLoadCursorImage),
+ (SavageSetCursorPosition), (SavageSetCursorColors):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavageEntPriv), (SavageProbe), (SavageDoDDC),
+ (SavageGetPanelInfo), (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.c:
+ (SavageInitStreamsOld), (SavageInitStreamsNew), (SavageStreamsOn),
+ (SavageStreamsOff):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_vbe.c:
+ (SavageSetVESAModeCrtc1), (SavageSetVESAModeCrtc2),
+ (SavageSetVESAMode), (SavageMatchBiosMode):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_vbe.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_video.c:
+ (SavageClipVWindow), (SavageInitVideo), (SavageSetColorKeyNew),
+ (SavageSetColorNew), (SavageSetBlend), (SavageDisplayVideoNew):
+ Add Dualhead support for mobile savage chips (MX, IX, supersavage)
+
+2004-09-29 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/xman/search.c: (DoSearch):
+ Avoid several buffer overflows if search string is too long.
+ Bugzilla #1481.
+
+2004-09-29 Alexander Gottwald <ago@freedesktop.org>
+
+ * xc/lib/Imakefile:
+ Bugzilla #920: fix undefined references in libdpstkXm
+ build psres before dpstk
+ * xc/lib/dpstk/Imakefile:
+ Bugzilla #920: fix undefined references in libdpstkXm
+ Link libdpstkXm with MOTIFLIB, DPSTKLIB and PSRESLIB
+
+2004-09-29 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/os/utils.c
+ Bugzilla #1489: Use |long| instead of |int| for BIGREQUESTS
+ commandline option.
+
+2004-09-28 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/Imakefile:
+ Remove more xf24_32bpp references.
+
+2004-09-26 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * config/cf/OpenBSD.cf:
+ Hook the wsfb driver and resynchonize with OpenBSD's version.
+ * programs/Xserver/hw/xfree86/drivers/wsfb/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/wsfb/wsfb.man:
+ * programs/Xserver/hw/xfree86/drivers/wsfb/wsfb_driver.c:
+ Add wsfb, a Net- and OpenBSD specific driver for dumb bitmapped
+ wsdisplay screens.
+
+2004-09-26 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ Bug #1468: Add xorgVersion.h to the SDK (Bernhard Rosenkraenzer).
+
+2004-09-26 Thomas Hellström <unichrome-at-shipmail-dot-org>
+
+ * include/extensions/Imakefile:
+ * include/extensions/vldXvMC.h:
+ * lib/XvMC/Imakefile:
+ * lib/XvMC/wrapper/Imakefile:
+ * lib/XvMC/wrapper/XvMCWrapper.c:
+ Added the XvMC wrapper. First support for runtime loading of
+ hardware-specific XvMC libraries.
+
+2004-09-26 Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+
+ * doc/specs/XProtocol/X11.keysyms
+ * include/keysymdef.h
+ Big keysym cleanup (Bug #246):
+ - added Unicode keysym range to the protocol spec
+ - added Unicode mappings for the legacy keysyms to the spec
+ - moved some new non-spec keysyms from XFree86 to Unicode keysym range
+ - editorial changes to keysym spec
+ * lib/X11/util/makekeys.c
+ * lib/X11/KeysymStr.c
+ * lib/X11/StrKeysym.c
+ - support for full 29-bit keysyms (was: 16-bit only)
+ * lib/X11/KeyBind.c
+ - removed support for non-spec keysyms from XFree86 (superseeded
+ by corresponding Unicode keysyms)
+
+2004-09-24 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/Xext/MITMisc.c:
+ * lib/Xext/XAppgroup.c:
+ * lib/Xext/XEVI.c:
+ * lib/Xext/XLbx.c:
+ * lib/Xext/XMultibuf.c:
+ * lib/Xext/XShape.c:
+ * lib/Xext/XShm.c:
+ * lib/Xext/XSync.c:
+ * lib/Xext/XTestExt1.c:
+ * lib/Xext/Xcup.c:
+ * lib/Xext/Xdbe.c:
+ * lib/Xext/extutil.c:
+ Bug #1434: Convert lib/Xext to ANSI function prototypes (Jeff
+ Muizelaar).
+
+2004-09-24 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/os/utils.c
+ Bugzilla #1453: Fix spaces in usage output for BIGREQUESTS
+ extension (option "-maxbigreqsize").
+
+2004-09-23 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/savage/Imakefile:
+ Bugs #1444, #1449: 'make install.sdk' fixes from Bernhard
+ Rosenkraenzer.
+
+2004-09-23 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ark/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/chips/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/cirrus/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/fbdev/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/glide/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/glint/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/mga/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/savage/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/sis/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/tseng/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/vesa/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/voodoo/Imakefile:
+ Remove xf24_32bpp references from driver Imakefiles.
+
+2004-09-23 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageSetGBD_Twister), (SavageSetGBD_M7):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_bci.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ (SAVAGEDRIFinishScreenInit):
+ Small cleanups and corrections
+
+2004-09-22 Torrey Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/quartz/XDarwin.pbproj/project.pbxproj:
+ Update XDarwin project file to Xcode 1.5 format.
+ * programs/Xserver/hw/darwin/quartz/quartzStartup.c:
+ (DarwinModeProcessArgument):
+ Remove unused QUARTZ_SAFETY_DELAY code.
+
+2004-09-22 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/darwin.c: (DarwinParseModifierList),
+ (ddxProcessArgument):
+ * programs/Xserver/hw/darwin/darwin.h:
+ * programs/Xserver/hw/darwin/darwinEvents.c:
+ (DarwinPressModifierMask), (DarwinEQEnqueue),
+ (DarwinEQSwitchScreen), (ProcessInputEvents):
+ * programs/Xserver/hw/darwin/darwinKeyboard.c:
+ (DarwinParseNXKeyMapping), (DarwinBuildModifierMaps),
+ (DarwinLoadKeyboardMapping), (DarwinKeyboardInit), (InitModMap),
+ (DarwinKeyboardReload):
+ * programs/Xserver/hw/darwin/darwinKeyboard.h:
+ * programs/Xserver/hw/darwin/iokit/xfIOKitStartup.c:
+ (DarwinModeSystemKeymapSeed):
+ * programs/Xserver/hw/darwin/quartz/quartzKeyboard.c:
+ (DarwinModeSystemKeymapSeed):
+ Add option for XDarwin to track system keyboard layout changes as
+ they occur (John Harper and Torrey T. Lyons).
+
+2004-09-22 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/quartz/quartzAudio.c:
+ (QuartzCoreAudioBell), (QuartzAudioInit):
+ Warning fixes.
+
+2004-09-22 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/dix/globals.c:
+ Allow overriding DPMS defaults (timeouts & default for on/off) from
+ #defines/-D options.
+ * programs/Xserver/hw/xfree86/common/xf86DPMS.c
+ Use defaultDPMSEnabled global for the default state of DPMS if not
+ set in any config files.
+ * programs/Xserver/hw/xfree86/os-support/sunos/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/sunos/solaris-sparcv8plus.S
+ Add support for required assembly inline functions for Sun compilers
+ on Solaris/sparc.
+ * programs/Xserver/hw/xfree86/os-support/sunos/find_deps.pl:
+ Add support for Solaris/sparc libraries.
+
+2004-09-22 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/input/elographics/xf86Elo.c:
+ Bug #506: Fix pointer behaviour when using multiple Elographics
+ touchscreens, from Miroslav Halas.
+
+2004-09-22 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/XvMC/hw/i810/I810XvMC.c:
+ * programs/Xserver/hw/xfree86/common/xf86Helper.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c:
+ * programs/Xserver/hw/xfree86/input/citron/citron.c:
+ Bug #1252, #1253, #1255, #1256: Various typo fixes from Dave Jones.
+
+2004-09-21 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/GL/apple/indirect.c: (glAquaDestroyContext),
+ (glAquaLoseCurrent), (surface_notify), (attach),
+ (glAquaMakeCurrent), (glAquaForceCurrent), (makeFormat),
+ (init_visuals), (glAquaInitVisuals):
+ * programs/Xserver/hw/darwin/quartz/xpr/dri.c: (DRIExtensionInit),
+ (DRIUpdateSurface), (DRICreateSurface), (DRIDestroySurface),
+ (DRIDrawablePrivDelete), (DRIWindowExposures), (DRICopyWindow),
+ (DRIClipNotify), (DRISurfaceNotify):
+ * programs/Xserver/hw/darwin/quartz/xpr/dri.h:
+ * programs/Xserver/hw/darwin/quartz/xpr/dristruct.h:
+ Add offscreen GLX direct rendering with XDarwin's xpr backend (John
+ Harper).
+
+2004-09-21 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/atiaccel.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiadjust.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atibank.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atibus.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atichip.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/aticlock.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/aticonfig.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/aticonsole.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/aticursor.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atidac.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atidga.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atidri.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atidripriv.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atidsp.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atifillin.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atii2c.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiident.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiload.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atilock.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64accel.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64cursor.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64i2c.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64io.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64xv.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64xv.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimode.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atioption.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atipreinit.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiprint.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiprobe.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiproto.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atirgb514.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiscreen.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiutil.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/ativalid.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/ativga.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/ativgaio.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atividmem.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiwonder.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiwonderio.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atixv.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_probe.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.h:
+ Convert the ATI drivers to ANSI function prototypes.
+
+2004-09-21 Egbert Eich <eich-at-freedesktop-org>
+
+ * BUILD:
+ * extras/Xpm/lib/Attrib.c:
+ * extras/Xpm/lib/CrDatFrI.c:
+ * extras/Xpm/lib/WrFFrI.c:
+ * extras/Xpm/lib/XpmI.h:
+ * extras/Xpm/lib/create.c:
+ * extras/Xpm/lib/data.c:
+ * extras/Xpm/lib/hashtab.c:
+ * extras/Xpm/lib/parse.c:
+ * extras/Xpm/lib/scan.c:
+ * lib/Xpm/Imakefile:
+ Merged over libXpm security fix provided by Chris Evans,
+ Matthieu Herrb and Alan Coopersmith from release 6.8.1.
+
+ * lib/Xaw/AsciiSink.c: (XawAsciiSinkInitialize):
+ * lib/Xaw/Label.c: (XawLabelInitialize), (XawLabelSetValues):
+ * lib/Xaw/List.c: (XawListInitialize):
+ * lib/Xaw/MultiSink.c: (XawMultiSinkInitialize):
+ * lib/Xaw/SmeBSB.c: (XawSmeBSBInitialize):
+ * lib/Xaw/Tip.c: (XawTipInitialize):
+ * lib/Xaw/XawIm.c: (CreateIC), (SetICValues):
+ Fail during initialization with error if font/fontset is not
+ set for widget. This prevents a sig11 later when the non-existent
+ font/fontset structs are referenced.
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (AbortDDX):
+ Check if xf86Info.kbdProc pointer is really set before calling
+ it on abort as this pointer won't be set if the new modular
+ keyboard driver is used (Matthias Hopf).
+
+ * programs/Xserver/hw/xfree86/etc/bindist/Cygwin/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/Darwin-ix86/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/Darwin-ix86/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/Darwin-ppc/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/Darwin-ppc/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/FreeBSD/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/FreeBSD/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/Interactive/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/Linux-amd64/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/Linux-amd64/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/LynxOS/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-aout-ix86/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-aout-ix86/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/SVR4.0/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/SVR4.0/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/Solaris/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/Solaris/update-upd:
+ * programs/Xserver/hw/xfree86/etc/bindist/UnixWare/bin-list:
+ * programs/Xserver/hw/xfree86/etc/bindist/UnixWare/update-upd:
+ Added new libs to the bindist control files.
+
+ * programs/xedit/lisp/lisp.c:
+ Removed inclusion of unnecessary kernel header on Linux.
+ This may fail in an -ansi environment.
+
+
+2004-09-20 Alexander Gottwald <ago@freedesktop.org>
+
+ * programs/Xserver/Xext/xf86bigfont.c:
+ Bugzilla #1402: The last patch was broken on linux. Take definition
+ of badSysCall out of the OS specific block.
+
+2004-09-19 Alexander Gottwald <ago@freedesktop.org>
+
+ * programs/Xserver/Xext/xf86bigfont.c:
+ Bugzilla #1402: fix BigFont extension if SHM is compiled in but
+ not working. Does not access SHM and privates if the SHM syscall
+ failed during extension initialization.
+
+2004-09-19 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/i128/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/rendition/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/v4l/Imakefile:
+ More cfb cleanup, delete mfb/cfb/xf24_32bpp references from
+ Imakefiles of drivers that don't use them.
+
+2004-09-18 Felix Kuehling <fxkuehl@gmx.de>
+
+ * xc/programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ Fixed segmentation fault: vbeFree after SavageWriteMode in
+ SavageCloseScreen.
+
+2004-09-18 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/dix/main.c
+ Bugzilla #1404: Fixing random crashes (like in DAMAGE code etc.)
+ in Xnest due uninitalised GetWindowPixmap.
+ Original patch by Alexander Gottwald <ago@freedesktop.org>
+
+2004-09-18 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * config/cf/bsdLib.tmpl:
+ define dependencies for libXevie for *BSD systems.
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ fix spelling of my first name and remove duplicate.
+ * programs/xrx/xnest-plugin/XnestDis.c:
+ build fix.
+
+2004-09-17 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * xc/programs/Xserver/dix/Imakefile:
+ Fix bug that caused restacks to be optimized away in rootless mode.
+
+2004-09-17 Torrey T. Lyons <torrey@freedesktop.org>
+ * xc/programs/Xserver/hw/darwin/quartz/xpr/x-hash.c:
+ * xc/programs/Xserver/hw/darwin/quartz/xpr/x-list.c:
+ * xc/programs/Xserver/hw/darwin/quartz/xpr/x-list.h:
+ Update Apple's list and hash utility routines to latest versions
+ (John Harper).
+
+2004-09-17 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/quartz/cr/crScreen.m:
+ (CRSetupScreen):
+ * programs/Xserver/hw/darwin/quartz/xpr/xprScreen.c:
+ (xprSetupScreen):
+ * programs/Xserver/miext/rootless/accel/Imakefile:
+ * programs/Xserver/miext/rootless/accel/rlAccel.c: (rlCreateGC),
+ (RootlessAccelInit):
+ * programs/Xserver/miext/rootless/accel/rlAccel.h:
+ * programs/Xserver/miext/rootless/rootless.h:
+ * programs/Xserver/miext/rootless/rootlessGC.c: (RootlessCreateGC):
+ Bugzilla #1032: Make rootless acceleration functions compatible with
+ Damage.
+
+2004-09-17 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ * xc/programs/xrx/Imakefile
+ * xc/programs/xrx/plugin/Imakefile
+ * xc/programs/xrx/plugin/Main.c
+ * xc/programs/xrx/plugin/PProcess.c
+ * xc/programs/xrx/xnest-plugin/Imakefile
+ * xc/programs/xrx/xnest-plugin/NewNDest.c
+ * xc/programs/xrx/xnest-plugin/SetWin.c
+ * xc/programs/xrx/xnest-plugin/XnestDis.c
+ Bugzilla #1372: Initial part of repairing XRX/Broadway support.
+ This patch fixes both the libxrx.so plugin and the Xnest-based
+ libxrxnest.so plugin and making them compatible to newer versions
+ of Mozilla and removing the backwards compatibility hacks for old
+ Netscape3.x versions with statically linked Motif.
+
+2004-09-17 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/scripts/Imakefile
+ * xc/programs/scripts/xauth_switch_to_sun-des-1.cpp
+ Bugzilla #1407: Adding simple helper script which switches the current
+ user authentification from MIT-MAGIC-COOKIE-1 to SUN-DES-1 if this
+ authentification is available.
+
+2004-09-16 Eric Anholt <anholt@FreeBSD.org>
+
+ * extras/Mesa/src/mesa/tnl/t_vtx_x86_gcc.S:
+ Bugzilla #1079: Add missing check for CYGWIN for adding underscores to
+ symbol names in assembler. Merged upstream, and should be brought in in
+ the next import. (Alexander Gottwald)
+
+2004-09-16 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (R200SubsequentCPUToScreenTexture):
+ Bugzilla #1170: Fix an overcounting of DMA in BEGIN_RING that wasn't
+ harmful.
+ Bugzilla #1169: Add counting for BEGIN_RING/OUT_RING/ADVANCE_RING to
+ avoid these sorts of problems in the future.
+
+2004-09-16 Adam Jackson <ajax@freedesktop.org>
+
+ * config/cf/xorg.cf:
+ * programs/Xserver/hw/xfree86/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64io.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiscreen.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c:
+ * programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/i740/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/i740/i740_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nsc/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/nsc/nsc_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx1_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx2_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/riva_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/s3/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/s3/s3.h:
+ * programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/s3virge/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/s3virge/s3v.h:
+ * programs/Xserver/hw/xfree86/drivers/s3virge/s3v_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi.h:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.h:
+ * programs/Xserver/hw/xfree86/drivers/via/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.h:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/Imakefile:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfb24_32.h:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfb24_32module.c:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfbbstore.c:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfbcpyarea.c:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfbgc.c:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfbgcmisc.c:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfbimage.c:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfbpixmap.c:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfbscrinit.c:
+ * programs/Xserver/hw/xfree86/xf24_32bpp/cfbwindow.c:
+ Bug #1192: Remove cfb support from drivers where its use is an option.
+ Delete xf24_32bpp, as s3virge was the last user. Fix up some comments
+ to refer to fb rather than cfb.
+
+2004-09-16 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageSetGBD), (SavageSetGBD_PM):
+ Proper GBD setup for savage2000
+
+2004-09-16 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c:
+ Update comment
+
+2004-09-16 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage.man:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (GetTileAperturePitch), (SavageInitialize2DEngine), (SavageSetGBD),
+ (SavageSetGBD_Twister), (SavageSetGBD_M7), (SavageSetGBD_PM),
+ (SavageSetGBD_2000), (SavageInitAccel),
+ (SavageSubsequentColor8x8PatternFillRect):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_bci.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_cursor.c:
+ (SavageHWCursorInit), (SavageShowCursor), (SavageHideCursor):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavageSetup), (WaitQueue4), (WaitIdleEmpty3D), (WaitIdleEmpty4),
+ (WaitIdleEmpty2K), (WaitIdle3D), (WaitIdle4), (WaitIdle2K),
+ (SavageProbe), (SavagePreInit):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_i2c.c:
+ (SavageI2CPutBits), (SavageI2CGetBits):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.c:
+ (SavageInitSecondaryStream), (SavageInitStreamsOld),
+ (SavageInitStreamsNew), (OverlayTwisterInit),
+ (PatchEnableSPofPanel), (SavageStreamsOn), (SavageStreamsOff):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_video.c:
+ (SavageInitVideo), (SavageSetupImageVideo),
+ (SavageCopyPlanarDataBCI), (SavageDisplayVideoOld),
+ (SavagePutImage), (SavageQueryImageAttributes):
+ Merge Savage DDX from the DRI tree and fix conflicts
+
+2004-09-15 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/linux.cf
+ Bugzilla #1381: Enable SecureRPC code (used for goodies such as
+ the SUN-DES-1 user2user authentification scheme) on Linux if
+ glibc version is >= 6.3.2.
+
+2004-09-15 Egbert Eich <eich-at-freedesktop-org>
+ * programs/Xserver/hw/xfree86/os-support/bus/460gxPCI.c:
+ (xorgProbe460GX), (xf86PreScan460GX):
+ * programs/Xserver/hw/xfree86/os-support/bus/460gxPCI.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bus/e8870PCI.c:
+ (xorgProbeE8870), (xf86PreScanE8870):
+ * programs/Xserver/hw/xfree86/os-support/bus/e8870PCI.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/ia64Pci.c:
+ * programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c:
+ (xf86PreScanZX1):
+ * programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.h:
+ * programs/Xserver/hw/xfree86/os-support/linux/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_ia64.c:
+ (OS_PROBE_PCI_CHIPSET):
+ * programs/Xserver/hw/xfree86/os-support/shared/ia64Pci.c:
+ (ia64ScanPCIWrapper):
+ * programs/Xserver/hw/xfree86/os-support/shared/ia64Pci.h:
+ Adding support for OS dependent probing of IA64 chipsets.
+ Not all IA64 chipsets can be probed without OS support as
+ probing them is only possible using ACPI. One example of this
+ are the HP ZX1/2 chipsets: previously the code assumed that
+ these chips were present when no other of the known chipsets
+ could be probed. This assumption brought SGI Altrix
+ machines with 64 CPUs to a grinding halt.
+
+
+2004-09-14 Egbert Eich <eich-at-freedesktop-org>
+
+ * lib/X11/imInsClbk.c: (_XimUnRegisterIMInstantiateCallback):
+ Unregistering events in XSelectInput() when unregistering IM
+ filter callbacks may be a bad idea as others may be interested
+ in this event. Removed the call to XSelectInput() altogether
+ as we are in root window anyway (Lubos Lunak).
+ * programs/Xserver/dix/dispatch.c: (Dispatch):
+ Fix size of a variable that gets assigned the value of
+ SmartScheduleTime (long) to long. This should help to prevent
+ smart scheduler lockup on 64 bit systems due to overruns
+ (Andreas Schwab).
+
+2004-09-14 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/hw/xfree86/loader/dixsym.c
+ * xc/programs/Xserver/hw/xfree86/loader/extsym.c
+ Bugzilla #1361: Fix module loader bustage due duplicate symbols
+ caused by the first patch in Bugzilla #1361
+
+2004-09-14 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/hw/xfree86/loader/dixsym.c
+ * xc/programs/Xserver/include/globals.h
+ * xc/programs/Xserver/mi/miinitext.c
+ * xc/programs/Xserver/os/utils.c
+ Bugzilla #1361: Allow turning on/off most of the Xserver extensions
+ (=all except server-specific extensions (e.g. DMX, XpExtension,
+ etc.) via +extension/-extension
+
+2004-09-07 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * BUILD:
+ * programs/Xserver/hw/xfree86/doc/BUILD:
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/index.pre:
+ Fix dates for release.
+
+2004-09-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ Update docs for Mac OS changes (Torrey T. Lyons).
+
+2004-09-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * BUILD:
+ * README:
+ * RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/BUILD:
+ * programs/Xserver/hw/xfree86/doc/DESIGN:
+ * programs/Xserver/hw/xfree86/doc/Install:
+ * programs/Xserver/hw/xfree86/doc/LICENSE:
+ * programs/Xserver/hw/xfree86/doc/OS2.Notes:
+ * programs/Xserver/hw/xfree86/doc/README:
+ * programs/Xserver/hw/xfree86/doc/README.DECtga:
+ * programs/Xserver/hw/xfree86/doc/README.Darwin:
+ * programs/Xserver/hw/xfree86/doc/README.I128:
+ * programs/Xserver/hw/xfree86/doc/README.LynxOS:
+ * programs/Xserver/hw/xfree86/doc/README.NetBSD:
+ * programs/Xserver/hw/xfree86/doc/README.OpenBSD:
+ * programs/Xserver/hw/xfree86/doc/README.SCO:
+ * programs/Xserver/hw/xfree86/doc/README.SiS:
+ * programs/Xserver/hw/xfree86/doc/README.Solaris:
+ * programs/Xserver/hw/xfree86/doc/README.XKB-Config:
+ * programs/Xserver/hw/xfree86/doc/README.XKB-Enhancing:
+ * programs/Xserver/hw/xfree86/doc/README.apm:
+ * programs/Xserver/hw/xfree86/doc/README.ati:
+ * programs/Xserver/hw/xfree86/doc/README.chips:
+ * programs/Xserver/hw/xfree86/doc/README.cyrix:
+ * programs/Xserver/hw/xfree86/doc/README.dps:
+ * programs/Xserver/hw/xfree86/doc/README.fonts:
+ * programs/Xserver/hw/xfree86/doc/README.i740:
+ * programs/Xserver/hw/xfree86/doc/README.i810:
+ * programs/Xserver/hw/xfree86/doc/README.mouse:
+ * programs/Xserver/hw/xfree86/doc/README.newport:
+ * programs/Xserver/hw/xfree86/doc/README.r128:
+ * programs/Xserver/hw/xfree86/doc/README.rendition:
+ * programs/Xserver/hw/xfree86/doc/README.s3virge:
+ * programs/Xserver/hw/xfree86/doc/RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/Versions:
+ * programs/xkbcomp/README.config:
+ * programs/xkbcomp/README.enhancing:
+ Update formatted docs.
+
+2004-09-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ Updated release notes for bug #999.
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ Update Radeon man page to note that RenderAccel is now enabled by
+ default on certain chips.
+
+2004-09-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ * programs/Xserver/hw/xfree86/doc/sgml/Install.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/README.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/Versions.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/XKB-Config.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/defs.ent:
+ Second round of documentation updates.
+
+2004-09-03 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/README.sgml:
+ Mostly fix version numbers and use symbolic release date.
+
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml:
+ Fix lots of version numbers.
+ Change description of Composite extension a bit.
+ Add reference to Xaw8 as the version of Xaw which includes
+ XawPrintShell.
+ Document Render additions to xclock.
+ Document to XPrint additions to xedit.
+ Note disappearance of X-TrueType.
+
+ * programs/Xserver/hw/xfree86/doc/sgml/SCO.sgml:
+ Add 'R' before &relvers;
+
+ * programs/Xserver/hw/xfree86/doc/sgml/defs.ent:
+ Add reldate entity
+
+ * programs/Xserver/hw/xfree86/doc/sgml/dps.sgml:
+ Add 'R' before &relvers;
+
+ * programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml:
+ Fix version numbers.
+ Note disapparance of X-TrueType
+
+
+2004-09-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * LABEL:
+ * Makefile:
+ * config/cf/X11.tmpl:
+ * config/cf/cygwin.cf:
+ * config/cf/lnxdoc.rules:
+ * config/cf/lnxdoc.tmpl:
+ * config/cf/xorg.cf:
+ * config/util/makedef.cmd:
+ * doc/man/general/Standards.man:
+ * doc/man/general/X.man:
+ * doc/man/general/XOrgFoundation.man:
+ * doc/specs/BDF/bdf.ms:
+ * doc/specs/CTEXT/ctext.tbl.ms:
+ * doc/specs/FSProtocol/protocol.ms:
+ * doc/specs/ICCCM/icccm.ms:
+ * doc/specs/ICCCM/indexmacros.t:
+ * doc/specs/ICE/ICElib.ms:
+ * doc/specs/ICE/ice.ms:
+ * doc/specs/SM/SMlib.ms:
+ * doc/specs/SM/xsmp.ms:
+ * doc/specs/X11/CH01:
+ * doc/specs/X11/abstract.t:
+ * doc/specs/X11/indexmacros.t:
+ * doc/specs/XDMCP/xdmcp.ms:
+ * doc/specs/XIM/xim.ms:
+ * doc/specs/XLFD/xlfd.tbl.ms:
+ * doc/specs/XProtocol/X11.protocol:
+ * doc/specs/XProtocol/indexmacros.t:
+ * doc/specs/Xaw/CH1:
+ * doc/specs/Xaw/TPage_Credits:
+ * doc/specs/Xaw/widg.idxmac.t:
+ * doc/specs/Xext/DPMS.ms:
+ * doc/specs/Xext/DPMSLib.ms:
+ * doc/specs/Xext/bigreq.ms:
+ * doc/specs/Xext/evi.ms:
+ * doc/specs/Xext/record.ms:
+ * doc/specs/Xext/recordlib.ms:
+ * doc/specs/Xext/security.tex:
+ * doc/specs/Xext/shape.ms:
+ * doc/specs/Xext/shapelib.ms:
+ * doc/specs/Xext/sync.tex:
+ * doc/specs/Xext/synclib.tex:
+ * doc/specs/Xext/tog-cup.ms:
+ * doc/specs/Xext/xc-misc.ms:
+ * doc/specs/Xi/library.ms:
+ * doc/specs/Xi/porting.ms:
+ * doc/specs/Xi/protocol.ms:
+ * doc/specs/Xmu/Xmu.ms:
+ * doc/specs/Xt/strings.mit:
+ * doc/specs/i18n/Framework.ms:
+ * doc/specs/i18n/LocaleDB.ms:
+ * doc/specs/i18n/Trans.ms:
+ * programs/Xserver/hw/xfree86/doc/sgml/Imakefile:
+ * programs/Xserver/hw/xfree86/doc/sgml/NetBSD.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/README:
+ * programs/Xserver/hw/xfree86/doc/sgml/README.build-docs:
+ * programs/Xserver/hw/xfree86/doc/sgml/defs.ent:
+ * programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml:
+ * programs/Xserver/hw/xfree86/doc/sgml/mouse.sgml:
+ First set of documentation updates.
+
+ * programs/Xserver/miext/damage/damage.c: (getDrawableDamageRef):
+ Include more correct fix for rootless interaction with damage (Bug
+ #1168, Keith Packard).
+
+2004-09-02 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/cygwin.cf:
+ * config/cf/xorg.cf:
+ Update release number and date for RC4.
+
+2004-09-02 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/glxgears/glxgears.c: (usage):
+ * programs/xedit/Imakefile:
+ * programs/xedit/Xedit-noxprint.ad:
+ * programs/xedit/Xedit-xprint.ad:
+ * programs/xedit/Xedit.ad:
+ * programs/xedit/commands.c: (DoSave), (ReallyDoLoad),
+ (printshellDestroyXtProc), (printOKXtProc), (printCancelXtProc),
+ (PrintFile), (DoPrint):
+ * programs/xedit/hook.c: (LineEditAction):
+ * programs/xedit/ispell.c: (IspellConvertHtmlAmp), (IspellSend),
+ (ReplaceIspell):
+ * programs/xedit/lisp/Imakefile:
+ * programs/xedit/lisp/lisp.c:
+ * programs/xedit/util.c: (MakeCommandButton):
+ * programs/xedit/xedit.c: (main), (makeButtonsAndBoxes):
+ * programs/xedit/xedit.h:
+ * programs/xman/Imakefile:
+ * programs/xman/ScrollByL.c: (Layout), (PaintText),
+ (ScrollVerticalText), (Initialize), (SetValuesHook), (LoadFile),
+ (PrintText):
+ * programs/xman/ScrollByL.h:
+ * programs/xman/ScrollByLP.h:
+ * programs/xman/Xman-noxprint.ad:
+ * programs/xman/Xman-xprint.ad:
+ * programs/xman/Xman.ad:
+ * programs/xman/buttons.c: (MakeTopBox), (CreateManpageWidget),
+ (CreateOptionMenu):
+ * programs/xman/defs.h:
+ * programs/xman/handler.c: (OptionCallback), (DirectoryHandler),
+ (Quit), (Search), (printshellDestroyXtProc), (printOKXtProc),
+ (printCancelXtProc), (PrintThisManpage):
+ * programs/xman/main.c: (main), (AdjustDefResources):
+ * programs/xman/man.h:
+ * programs/xman/misc.c: (PrintError), (OpenFile):
+ * programs/xman/search.c: (DoSearch):
+ * programs/xman/version.h:
+ * programs/xset/Imakefile:
+ Restore xman and xedit changes that were previously reverted, and
+ make Xprint support optional (Bug #1273, Roland Mainz).
+
+2004-09-02 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/X11.tmpl:
+ * programs/glxgears/Imakefile:
+ * programs/glxgears/glxgears.c: (event_loop), (main):
+ * programs/xdpyinfo/Imakefile:
+ * programs/xdpyinfo/xdpyinfo.c: (print_screen_info):
+ * programs/xlogo/Imakefile:
+ * programs/xlogo/xlogo.c: (Syntax), (main):
+ * programs/xset/Imakefile:
+ * programs/xset/xset.c: (main), (usage):
+ Clean up defines for Xprint support and fix BuildServersOnly build
+ for libXaw.
+
+2004-09-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/miext/damage/Imakefile:
+ * programs/Xserver/miext/damage/damage.c: (getDrawableDamageRef):
+ Workaround for servers using rootless layer with damage (Bug
+ #1168, Torrey T. Lyons).
+
+2004-09-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * extras/Mesa/src/mesa/drivers/dri/i915/i830_vtbl.c:
+ (i830_render_start):
+ * extras/Mesa/src/mesa/drivers/dri/i915/i915_fragprog.c:
+ (i915ValidateFragmentProgram):
+ * extras/Mesa/src/mesa/drivers/dri/i915/i915_texprog.c:
+ (i915ValidateTextureProgram):
+ Fix colors on i8x0 DRI (Bug #1216, Keith Whitwell).
+
+2004-09-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/GL/apple/aglGlx.c: (glAquaDestroyContext),
+ (glAquaLoseCurrent), (attach), (glAquaMakeCurrent),
+ (glAquaCopyContext), (glAquaCreateContext), (glAquaRealizeWindow),
+ (glAquaUnrealizeWindow), (init_visuals), (glAquaInitVisualConfigs),
+ (glAquaInitVisuals), (glAquaResizeBuffers):
+ Fix AGL display problems (Bug #1210, Torrey T. Lyons).
+
+2004-09-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/cygwin.cf:
+ * config/cf/darwin.cf:
+ Enable XtransFailSoft on cygwin and Darwin (Bug #1029, Alexander
+ Gottwald, Torrey T. Lyons).
+
+2004-09-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/OpenBSDLib.tmpl:
+ * config/cf/WinLib.tmpl:
+ * config/cf/X11.tmpl:
+ * config/cf/bsdLib.tmpl:
+ * config/cf/bsdiLib.tmpl:
+ * config/cf/cygwin.rules:
+ * config/cf/cygwin.tmpl:
+ * config/cf/darwinLib.tmpl:
+ * config/cf/gnuLib.tmpl:
+ * config/cf/hpLib.tmpl:
+ * config/cf/ibmLib.tmpl:
+ * config/cf/lnxLib.tmpl:
+ * config/cf/os2Lib.tmpl:
+ * config/cf/osfLib.tmpl:
+ * config/cf/sco5.cf:
+ * config/cf/sunLib.tmpl:
+ * config/cf/sv4Lib.tmpl:
+ * lib/Imakefile:
+ * lib/Xaw/AllWidgets.c:
+ * lib/Xaw/Imakefile:
+ * lib/Xaw/sharedlib.c:
+ * lib/Xaw7/Imakefile:
+ * lib/Xaw7/Xaw-def.cpp:
+ * programs/Imakefile:
+ * programs/Xserver/hw/xfree86/xf86cfg/Imakefile:
+ * programs/glxgears/Imakefile:
+ * programs/xdpyinfo/Imakefile:
+ * programs/xlogo/Imakefile:
+ * programs/xlogo/XLogo.ad:
+ * programs/xlogo/xlogo.c: (die), (Syntax), (main), (quit), (print):
+ * programs/xphelloworld/Imakefile:
+ * programs/xset/Imakefile:
+ Bump major version number of libXaw (Bug #1273).
+
+2004-09-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * extras/Mesa/src/mesa/main/imports.h:
+ Fix libGL build on ARM (Bug #1155).
+
+2004-09-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/xkbcomp/keycodes/xfree86:
+ Fix slash key on ABNT2 keyboard (Bug #1257, Alexander Gottwald).
+
+2004-08-31 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/X11/Imakefile:
+ Fix multiple definitions of XdmcpWrap for CYGWIN (Bug #1203,
+ Alexander Gottwald).
+
+2004-08-31 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/Imakefile:
+ Fixed link ordering for building without Xinerama (Bug #1221).
+
+2004-08-31 Egbert Eich <eich-at-freedesktop-org>
+
+ * lib/X11/GetWAttrs.c: (_XGetWindowAttributes),
+ (XGetWindowAttributes):
+ * lib/X11/PutBEvent.c: (_XPutBackEvent), (XPutBackEvent):
+ * lib/X11/Xlibint.h:
+ * lib/X11/imDefLkup.c: (_XimGetWindowEventmask):
+ * lib/X11/imLcFlt.c:
+ Fixed some lockups in XIM code when the application is running
+ with multi thread support. These lockups occur deep down in
+ XFilterEvents() which itself locks when another Xlib function
+ gets called that also locks. This fixes two instances by
+ separating those Xlib functions into an internal (non-locking)
+ call and a locking wrapper that is used as an external function.
+ There may be several other such instances therefore another
+ more general patch is eventually required (Bugzilla #1182).
+
+2004-08-31 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ Added a note about cross compiling.
+ * programs/Xserver/hw/xfree86/doc/sgml/README:
+ Added instructions on how to build and updated formatted docs
+ in the tree.
+
+2004-08-30 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c: (PostKbdEvent):
+ Fix keyboard driver regression (Bug #1238, Kristian Høgsberg).
+
+Mon Aug 30 22:58:59 2004 Soeren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml: Update the
+ release notes.
+
+2004-08-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * config/cf/X11.rules:
+ Make handling of XtransFailSoft Imake variable more consistent.
+ It needs to receive a boolean value now (Alexander Gottwald).
+
+2004-08-30 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/ibm.cf:
+ * config/cf/ibmLib.tmpl:
+ AIX Imake config file updates (Bug #1234, Dan McNichol).
+
+2004-08-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * config/cf/X11.rules:
+ Fix: move flag for HARD_FAIL in Xtransutil.c to the correct
+ setting of the Imake variable.
+ * programs/Xserver/Xprint/ps/Imakefile:
+ Fix Imake condiditon for LynxOS (Thomas Mueller).
+
+2004-08-30 Michel Daenzer <michel@daenzer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (RADEONSetupRenderByteswap):
+ Hotfix for Eric Anholt's fix for bug #1156 : Clear the
+ RADEON_NONSURF_AP0_SWP_16BPP bit for 4 bpp data, otherwise it breaks
+ at depth 16.
+
+2004-08-29 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c:
+ (I810AllocateGARTMemory):
+ Fix ARGB cursor problem on i810 (Bug #1195, Alan Hourihane).
+
+2004-08-29 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/OpenBSD.cf:
+ Fix typo that caused both X.Org and XFree86 servers to be built on
+ OpenBSD/AMD64 (Bug #1231, Matthieu Herrb).
+
+2004-08-29 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/X11.tmpl:
+ Fix make install when BuildServersOnly is YES (Bug #1213).
+
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c:
+ Fix build failures when UseDeprecatedKeyboardDriver is YES and
+ DoLoadableServer is NO (Bug #1229, Kristian Høgsberg).
+
+ * programs/Xserver/hw/xfree86/loader/loader.c: (LoaderInit):
+ Fix failure when using DLL loader and LD_BIND_NOW is set (Bug
+ #1212, Adam Jackson).
+
+2004-08-28 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xaa/xaaWideLine.c:
+ Don't define _XOPEN_SOURCE before including math.h on Solaris -
+ it's not needed on older releases, and breaks builds on Solaris 10.
+ (Same as bugzilla #189).
+
+2004-08-28 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ Update release number and date for RC3.
+
+2004-08-28 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ Merge Mesa 6.1
+
+ * extras/Mesa/src/mesa/main/imports.h:
+ Fix build on HPPA/MIPS (Bug #1155).
+
+2004-08-28 Egbert Eich <eich-at-freedesktop-org>
+
+ * config/cf/X11.rules:
+ * config/cf/X11.tmpl:
+ * lib/FS/Imakefile:
+ * lib/ICE/Imakefile:
+ * lib/X11/Imakefile:
+ * lib/xtrans/Imakefile:
+ * lib/xtrans/Xtransutil.c: (trans_mkdir):
+ * programs/Xserver/os/Imakefile:
+ Set the define XtransFailSoft to restore the old behavior to
+ fail softly when socket directory cannot chowned/chmod to correct
+ user/group. This should be added on a per OS basis which hasn't
+ been done.
+
+2004-08-27 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86fbman.c:
+ (localQueryLargestOffscreenLinear):
+ Fix for XV memory allocation: Also use tiled area for allocation
+ even if it hasn't been used before.
+
+2004-08-27 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/miext/cw/cw.c: (cwFillRegionTiled),
+ (cwPaintWindowBackground), (cwPaintWindowBorder):
+ Bug #1101: Fix PaintWindow in the pixmap case when the window's origin
+ is not at the backing pixmap's origin. Resulted in incorrect rendering
+ in at least aisleriot, fluxbox, and KDE apps, and probably many more.
+ While here, move the ParentRelative loop above the drawable grab -- may
+ improve correctness with ParentRelative backgrounds' origins as well.
+ Note that the border code doesn't handle ParentRelative yet.
+
+2004-08-27 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/Xext/dmx.c: (ProcDMXForceWindowCreation):
+ Add missing reply for DMX (Rik Faith).
+
+2004-08-27 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/Xprint/ps/Imakefile:
+ * programs/Xserver/Xprint/ps/ttf2pt1wrap.c:
+ Fixed typos.
+
+2004-08-27 Egbert Eich <eich-at-freedesktop-org>
+
+ * config/cf/lynx.cf:
+ * lib/font/util/Imakefile:
+ * programs/Xserver/Xprint/ps/Imakefile:
+ * programs/Xserver/hw/xfree86/doc/sgml/LynxOS.sgml:
+ * programs/Xserver/hw/xfree86/etc/MTRR-Lynx.shar:
+ * programs/xdriinfo/Imakefile:
+ * programs/xprehashprinterlist/Imakefile:
+ Added support for LynxOS 4.0 (Thomas Mueller).
+ * programs/Xserver/hw/xfree86/common/compiler.h:
+ Fix arm netwinder build (Donnie Berkholz).
+
+2004-08-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/GL/glx/Imakefile:
+ Move line break/continuation to not be in the middle of a word
+ (Bugzilla #1207)
+
+2004-08-27 Egbert Eich <eich-at-freedesktop-org>
+
+ * config/cf/X11.rules:
+ * config/cf/X11.tmpl:
+ Fixed UseInstalled handling when cross compiling when building
+ with different ProjectRoot. Set X11ProjectRoot to the ProjectRoot
+ on the build host (where the binaries that run on the build host
+ live) (Alexander Gottwald).
+
+2004-08-27 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/ddc/interpret_edid.c:
+ (get_monitor_ranges):
+ - Make DDC code more VESA compliant: when MaxClock is set
+ to 0xFF it means 'no value specified'. Therefore setting it
+ to 0 (Thomas Winischhofer).
+
+2004-08-26 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (RADEONSetupRenderByteswap), (RADEONRestoreByteswap),
+ (R100SetupTexture), (R200SetupTexture):
+ Bug #1156: Fix the build on PPC by splitting the byte-order-setting code
+ into a separate routine. While here, fix the byte swapping in the 32bpp
+ case. (Michel Daenzer)
+
+2004-08-26 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c:
+ (RADEONSetupForSolidLine):
+ Bug #1157: Fix Radeon line acceleration in the DMA case
+ (Michel Daenzer).
+
+2004-08-26 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/GL/dri/drm/Imakefile:
+ Add drm.h to SDK; required by xf86drm.h (Bug #1160, Bryan Stine).
+
+2004-08-26 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c:
+ (RADEONXineramaExtensionInit):
+ Fix Radeon compilation without Xinerama (Bug #1179, Simon
+ Schubert).
+
+2004-08-26 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/vfb/InitOutput.c: (vfbScreenInit):
+ Fix xtest failures in Xvfb from XMatchVisualInfo test.
+
+2004-08-26 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/miext/cw/cw.c:
+ * programs/Xserver/miext/cw/cw_ops.c:
+ Bug #1138: Wrap funcs in CW's GC ops as well. While this is unnecessary
+ according to the rules as I understand them (bug #1045), not everybody
+ follows the rules. GC funcs were being called on the same GC from
+ within GC ops, and the cwValidateGC caused a loop in the funcs chain
+ that resulted in a crash, notably in cwPolylines.
+
+2004-08-26 Egbert Eich <eich-at-freedesktop-org>
+
+ * lib/X11/xlibi18n/Xi18nLib.conf:
+ Added missing make variable.
+
+2004-08-26 Egbert Eich <eich-at-freedesktop-org>
+
+ * config/cf/lynx.cf:
+ * fonts/bdf/100dpi/Imakefile:
+ * fonts/bdf/75dpi/Imakefile:
+ * fonts/bdf/75dpi/Imakefile.inc:
+ * fonts/util/ucs2any.c:
+ * lib/GL/glx/Imakefile:
+ * programs/Xserver/hw/xfree86/doc/Imakefile:
+ * programs/Xserver/hw/xfree86/etc/MTRR-Lynx.shar:
+ * programs/Xserver/hw/xfree86/etc/bindist/LynxOS/host.def:
+ * programs/Xserver/hw/xfree86/loader/xf86sym.c:
+ * programs/Xserver/hw/xfree86/os-support/lynxos/Imakefile:
+ * programs/fonttosfnt/Imakefile:
+ * programs/xtrap/xtrapchar.c:
+ * programs/xtrap/xtrapin.c:
+ * programs/xtrap/xtrapout.c:
+ Fixed support for LynxOS 3.1 (LynxOS 4 will follow) (Thomas Mueller).
+
+2004-08-26 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/util/lndir.c: (dodir):
+ Fix lndir to handle symlinks to directories correctly (Bug #1083,
+ H.J. Lu).
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_video.c:
+ (I830PutImage), (I830DisplaySurface):
+ Fix i810 compilation without Xinerama (Bug #1180, Simon Schubert).
+
+2004-08-24 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/Xext/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONGetLVDSInfo):
+ Fix hangs during startup with Radeon driver (Bug #1007, Sjoerd
+ Simons).
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ (I810PreInit), (I810CloseScreen):
+ Fix i810 driver startup on Sony VAIO laptop (Bug #1084, Dave
+ Airlie).
+
+ * config/cf/X11.tmpl:
+ Fix several library build problem (Bug #1147).
+
+ * programs/Xserver/xkb/Imakefile:
+ * programs/xrx/Imakefile:
+ Fix build problems (Bugs #1148 and #1149).
+
+2004-08-24 Keith Packard <keithp@keithp.com>
+
+ reviewed by: Stuart Kreitman <Stuart.Kreitman@Sun.COM>
+
+ * lib/Xdmcp/Wraphelp.c: (_XdmcpAuthSetup), (_XdmcpAuthDoIt):
+ Replace 'uint32_t' with 'CARD32' and 'uint8_t' with 'CARD8'.
+ Add #include <X11/Xmd.h>
+
+2004-08-20 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/quartz/XDarwin.pbproj/project.pbxproj:
+ Update XDarwin application version for release.
+
+2004-08-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/sis/310vtbl.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/init.c:
+ (InitCommonPointer):
+ * programs/Xserver/hw/xfree86/drivers/sis/init.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/init301.c:
+ (GetLCDStructPtr661), (GetLCDStructPtr661_2):
+ * programs/Xserver/hw/xfree86/drivers/sis/init301.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/initdef.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_vb.c:
+ (SISLCDPreInit):
+ * programs/Xserver/hw/xfree86/drivers/sis/vstruct.h:
+ Support for Sis 1280x800 panels (Bug #1139, Thomas Winischhofer).
+
+2004-08-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/xterm/MANIFEST:
+ * programs/xterm/configure:
+ * programs/xterm/configure.in:
+ * programs/xterm/main.c: (Exit):
+ * programs/xterm/version.h:
+ * programs/xterm/xterm.log.html:
+ Merge xterm #196 patch which fixed utmp cleanup infinite loop (Bug
+ #1137, Thomas E. Dickey).
+
+2004-08-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (InitOutput):
+ * programs/Xserver/hw/xfree86/input/Imakefile:
+ * programs/Xserver/hw/xfree86/input/confdrv.sh:
+ Fix keyboard driver failing to initialize if DoLoadableServer is
+ NO (Bug #1133, Kristian Høgsberg).
+
+2004-08-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ * programs/Xserver/hw/xfree86/input/keyboard/Imakefile:
+ Fix white space problem with BSD make (Bug #1132, Matthieu Herrb).
+
+2004-08-19 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * doc/man/general/security.man:
+ Update documentation of authentication methods to cover the
+ ServerInterpreted access type added in X11R6.7 and the
+ authentication types available via its framework.
+
+2004-08-19 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/X11.tmpl:
+ * config/cf/sun.cf:
+ * config/cf/svr4.cf:
+ * config/cf/xorg.cf:
+ * programs/Xserver/hw/xfree86/doc/sgml/Solaris.sgml:
+ Fix the build on Solaris/sparc to use Xorg server instead of the
+ deprecated Xsun (Bug #1134, Alan Coopersmith).
+
+2004-08-19 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/GL/mesa/main/Imakefile:
+ * lib/GL/mesa/sparc/Imakefile:
+ * programs/Xserver/GL/glx/Imakefile:
+ * programs/Xserver/GL/mesa/main/Imakefile:
+ * programs/Xserver/GL/mesa/swrast/Imakefile:
+ * programs/Xserver/GL/mesa/tnl/Imakefile:
+ Fix build problems on Solaris/sparc (Bug #1104, Alan Coopersmith).
+
+2004-08-19 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/X11/Xutil.h:
+ Fix header file to #ifdef the XKB keysyms when they are used.
+ This fixes the X test suite build failure.
+
+2004-08-19 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/loader/dixsym.c:
+ Add missing no.*Extension symbols (Bug #1131, Aaron Plattner).
+
+2004-08-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/darwinLib.tmpl:
+ Fix libXevie build on Darwin (Bug #1124, Torrey T. Lyons).
+
+ * lib/GL/mesa/drivers/osmesa/Imakefile:
+ Fix libOSMesa build on Darwin (Bug #1125, Torrey T. Lyons).
+
+ * lib/GL/apple/dri_dispatch.defs:
+ * lib/GL/apple/dri_dispatch.h:
+ Fix libGL build on Mac OS X 10.3.0-3 (Bug #1127, Torrey T. Lyons).
+
+2004-08-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/miext/cw/cw.c: (cwCreateBackingGC),
+ (cwDestroyBackingGC), (cwValidateGC), (cwDestroyGC), (cwCreateGC),
+ (miInitializeCompositeWrapper):
+ * programs/Xserver/miext/cw/cw_ops.c:
+ Fix CopyArea for non-redir dst, redir src (Bug #1105, Eric
+ Anholt).
+
+2004-08-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/SM/sm_manager.c:
+ * programs/Xserver/Xprint/ps/PsPixmap.c: (PsCreatePixmap):
+ * programs/Xserver/render/renderedge.c: (RenderSampleFloorY):
+ Fix AIX build problems (Bugs #1020, 1102, 1103, Dan McNichol).
+
+ * programs/Xserver/hw/xfree86/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/newport/Imakefile:
+ Remove old config files (Bug #1123, Jim Gettys).
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (xf86PrintBanner):
+ Remove old log message (Bug #1123, Jim Gettys).
+
+2004-08-17 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ Update release and date for RC2.
+
+2004-08-17 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig):
+ Reenable Radeon Render acceleration now that interactions with 3D
+ clients should be resolved.
+
+2004-08-17 Eric Anholt <anholt@FreeBSD.org>
+
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_cmdbuf.c:
+ (r200EmitVbufPrim), (r200AllocEltsOpenEnded), (r200EmitVertexAOS),
+ (r200EmitAOS):
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_context.h:
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_ioctl.c:
+ (r200FlushCmdBufLocked), (r200Clear):
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_ioctl.h:
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_lock.h:
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_state_init.c:
+ (r200InitState):
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_swtcl.c:
+ (flush_last_swtcl_prim):
+ * extras/Mesa/src/mesa/drivers/dri/r200/r200_tcl.c:
+ (r200AllocElts), (EMIT_PRIM):
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_context.h:
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_ioctl.c:
+ (radeonEmitVbufPrim), (radeonAllocEltsOpenEnded),
+ (radeonEmitVertexAOS), (radeonEmitAOS), (radeonFlushCmdBufLocked),
+ (radeonClear):
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_ioctl.h:
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_lock.h:
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_state_init.c:
+ (radeonInitState):
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_swtcl.c:
+ (flush_last_swtcl_prim):
+ * extras/Mesa/src/mesa/drivers/dri/radeon/radeon_tcl.c:
+ (radeonAllocElts), (EMIT_PRIM):
+ Check in new Radeon/R200 drivers from Mesa CVS which close several
+ races in the code, which could cause rendering errors on r100 and hangs
+ and rendering errors on r200, when there are multiple clients.
+
+2004-08-17 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/cygwin.tmpl:
+ Add SharedXevieReqs for cygwin (Bug #1108, Alexander Gottwald).
+
+2004-08-17 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/GL/glx/Imakefile:
+ Fix DRI module loading (Bug #1057, Ronny Vindenes).
+
+ * programs/Xserver/hw/vfb/InitOutput.c: (vfbScreenInit):
+ Fix Xvfb at 8bpp (Bug #1091).
+
+ * programs/glxgears/Imakefile:
+ Fix link order when building with Xprint in glxgears (Bug #1060,
+ Alexander Gottwald).
+
+2004-08-17 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/GL/glx/Imakefile:
+ Fix bug where DRI drivers look in wrong dir (Bug #1057, Mike
+ Harris, Ronny Vindenes).
+
+ * programs/xphelloworld/Imakefile:
+ Disable building xpawhelloworld until Xaw/Xprint library is
+ available.
+
+2004-08-16 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ Update release and date for first RC.
+
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c:
+ Fix kbd/keyboard driver for DoLoadableServer NO.
+
+ * programs/Xserver/hw/xfree86/xf86Date.h:
+ Revert change since it is better to set date in the config files.
+
+2004-08-16 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ (xf86BuiltinInputDriver):
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ * programs/Xserver/hw/xfree86/input/keyboard/Imakefile:
+ * programs/Xserver/hw/xfree86/input/keyboard/kbd.c: (xf86KbdPlug),
+ (xf86KeyboardPlug):
+ Add kbd <-> keyboard aliasing when UseDeprecatedKeyboardDriver
+ is NO (Bug #1072, Kristian Høgsberg).
+
+2004-08-16 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * lib/Xevie/Imakefile:
+ Fix build problem with xevie.pc
+
+2004-08-16 Stuart Kreitman <stukreit@freedesktop.org>
+ * xc/lib/Imakefile
+ * xc/lib/Xext/Imakefile
+ * xc/lib/Xext/Attic/Xevie.c moved to lib/Xevie
+ * xc/lib/Xevie/Imakefile
+ * xc/lib/Xevie/Xevie.c
+ * xc/lib/Xevie/Xevie.man
+ * xc/lib/Xevie/xevie.pc.in
+ * xc/lib/Xevie/xevieplaceholder.h
+ Bug #957 Moved Xevie client side to libXevie.so
+
+2004-08-16 Kristian Høgsberg <krh@redhat.com>
+
+ As discussed and agreed on on the release-wranglers meeting of
+ August 16, I'm committing the patch from bug #1060 to back out
+ unconditional Xprint functionality.
+
+ * lib/Xaw/Imakefile:
+ Back out Xprint changes.
+
+ * programs/xman:
+ * programs/xlogo:
+ * programs/xedit:
+ Revert xman to CVS of June 5, revert xlogo to CVS of May 8, revert
+ xedit to CVS of April 25, to back out unconditional Xprint support.
+
+ * config/cf/X11.tmpl:
+ Fix up Xprint config logic to be like the rest of the extensions:
+ BuildXprint is a one-stop option for disabling everything Xprint
+ related. XprtServer controls building Xprt, BuildXprintLib
+ controls building Xprint libs and BuildXprintClients controls
+ building clients related to Xprint. BuiltXprint defaults to YES
+ and the other options respects relevant settings, i.e. BuildServer
+ and BuildServersOnly.
+
+ * lib/Imakefile:
+ Build Xaw regardless of BuildXprintLib setting.
+
+ * programs/Imakefile:
+ Only build xphelloworld, xplsprinters and xprehashprinterlist when
+ BuildXprintClients it YES. Disable building xmore, it has always
+ supported XawPrintShell.
+
+ * programs/xdpyinfo:
+ * programs/xset:
+ * programs/glxgears:
+ Make Xprint support depend on BuildXprintLib.
+
+2004-08-16 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/riva_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ Bug #1087: Make sure all the *Weak symbols are documented in the
+ import list, so the loader knows not to complain about unresolved
+ symbols when an optional module isn't loaded. This typically
+ manifests as warnings about fbdevHW symbols when the user isn't
+ using the framebuffer console.
+
+2004-08-15 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (xf86PrintBanner):
+ * programs/Xserver/hw/xfree86/xorgVersion.h:
+ Fix banner to print out proper version information.
+
+2004-08-15 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/composite/compwindow.c:
+ (compWindowUpdateAutomatic):
+ Clip destination instead of source. Should be the same,
+ but it looks nicer to me.
+
+ * programs/Xserver/miext/cw/cw.c: (cwCreateGCPrivate),
+ (cwDestroyGCPrivate), (cwCheapValidateGC):
+ Clean up transition between cheap and expensive GC wrappers
+ by using the prologue and epilogue macros. Before, the GC
+ would be left unvalidated sometimes which would cause all
+ kinds of entertaining bugs against a DDX which cares (XAA).
+
+2004-08-15 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/composite/compint.h:
+ * programs/Xserver/composite/compwindow.c: (compPositionWindow):
+ Remove debugging code which did a full tree walk
+ on every window operation
+
+ * programs/Xserver/miext/cw/cw.c: (cwDestroyGCPrivate),
+ (cwSetWindowPixmap):
+ Eliminate needless (and, it turns out, dangerous) call
+ to ChangeGC on DestroyGCPrivate.
+
+ in cwSetWindowPixmap, check if the pixmap is the screen
+ pixmap and disable the wrapper by setting the private to NULL.
+
+2004-08-15 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c:
+ Remove #error used for testing.
+
+2004-08-14 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/composite/compalloc.c: (compNewPixmap),
+ (compAllocPixmap), (compReallocPixmap):
+ Copy bits from parent window when allocating pixmaps so that
+ Background == None works.
+
+ * programs/Xserver/miext/cw/cw_render.c: (cwValidatePicture):
+ Copy filter to backing picture during validation.
+
+ * programs/Xserver/render/filter.c: (SetPictureFilter):
+ * programs/Xserver/render/picture.c: (SetPictureTransform),
+ (CopyPicture):
+ Mark picture serialNumber when setting Filter or Transform so
+ Validate occurs.
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (InitOutput):
+ Initialize xf86Screens[i]->pScreen to NULL so that RADEON
+ driver doesn't crash during server reset using old pScreen.
+
+2004-08-15 Kristian Høgsberg <krh@redhat.com>
+
+ * config/cf/DGUX.cf, config/cf/QNX4.cf, config/cf/bsdi.cf,
+ config/cf/isc.cf, config/cf/lynx.cf, config/cf/mach.cf,
+ config/cf/nto.cf, config/cf/sco5.cf, config/cf/sgi.cf,
+ config/cf/sun.cf, config/cf/x386.cf
+ Enable compilation of old keyboard driver for these platforms by
+ default (#1070).
+
+2004-08-14 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ Fix unresolved symbol warnings in r128 driver (Adam Jackson)
+
+2004-08-14 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/composite/compwindow.c: (compRepaintBorder),
+ (compSetPixmapVisitWindow):
+ Redraw window borders when switching window pixmaps around
+
+ * programs/Xserver/miext/cw/cw.c: (cwGetBackingDrawable),
+ (cwGetWindowPixmap), (cwSetWindowPixmap),
+ (miInitializeCompositeWrapper):
+ * programs/Xserver/miext/cw/cw.h:
+ * programs/Xserver/miext/cw/cw_render.c: (cwCreatePicturePrivate),
+ (cwGetBackingPicture):
+ Make cw "own" the window pixmaps by wrapping
+ GetWindowPixmap/SetWindowPixmap.
+
+2004-08-14 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/FreeBSD.cf:
+ * config/cf/NetBSD.cf:
+ Bug #909: Remove incorrect HasGhostScript YES from BSD config files.
+
+2004-08-15 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c:
+ More kbd fun: write out "kbd" from Xorg -configure (#1078).
+
+2004-08-14 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/miext/cw/cw.c: (cwCopyWindow):
+ Fix offsets again. Really, it works this time. Promise.
+
+2004-08-14 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/miext/cw/cw.c: (cwCopyWindow):
+ Fix offsets, do whole region at once by using GC clipping
+
+2004-08-14 Eric Anholt <anholt@FreeBSD.org>
+
+ reviewed by: <keihtp@keithp.com>
+
+ * programs/Xserver/hw/xfree86/xaa/xaaPict.c: (XAADoComposite),
+ (XAACompositeSrcCopy), (XAAComposite):
+ Bug #1077: Fix source copy performance problem exposed by Composite.
+
+2004-08-14 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/miext/cw/cw.c: (cwValidateGC):
+ * programs/Xserver/miext/cw/cw.h:
+ * programs/Xserver/miext/cw/cw_render.c: (cwCreatePicturePrivate),
+ (cwDestroyPicturePrivate), (cwGetBackingPicture),
+ (cwDestroyPicture), (cwChangePicture), (cwValidatePicture):
+ Fix clip list computation and setting to ignore clip changes
+ to "real" GC/Picture and track serial numbers correctly when
+ copying pCompositeClip down.
+
+2004-08-14 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/miext/cw/cw.c: (cwCopyWindow),
+ (miInitializeCompositeWrapper), (cwCloseScreen):
+ * programs/Xserver/miext/cw/cw.h:
+ Wrap CopyWindow in cw, which fixes scrolling in many apps.
+
+2004-08-14 Keith Packard <keithp@keithp.com>
+
+ * lib/X11/OpenDis.c: (XOpenDisplay):
+ Use XLIB_SKIP_ARGB_VISUALS environment variable to disable
+ all depth 32 visuals. Necessary to keep Flash from crashing.
+
+ * programs/Xserver/miext/cw/cw.c: (cwValidateGC):
+ * programs/Xserver/miext/cw/cw_render.c: (cwValidatePicture):
+ Must call ValidateGC/ValidatePicture on "real" GC/Picture to
+ ensure pCompositeClip is set correctly.
+
+ Need to take the composite clip from the "real" GC/Picture and
+ turn it into the clientClip for the backing version.
+
+ * programs/Xserver/miext/damage/damage.c: (damageDamageRegion):
+ Adjust pixmap screen origin to account for drawable->x/y
+ Change debugging output a bit (disabled by default)
+
+2004-08-13 Nolan Leake <xorg-nolan@sigbus.net>
+
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmware.c
+ Save the register state before we write to any of them. This
+ makes the VMware driver coexist with VESA fbcon.
+
+2004-08-13 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/xf86config/Imakefile:
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ Don't enable speedo & type1 modules if they're not being built
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ * programs/Xserver/hw/xfree86/xf86config/cards.c:
+ Clean up a couple of hardcoded paths & vendor names to use defines
+ set by Imakefile
+
+ * config/cf/X11.tmpl:
+ Bugzilla #1055: "#define BuildXprint NO" is broken (6.7.99.2)
+ If XprtServer is undefined, but BuildXprint is defined, then
+ BuildXprint should set XprtServer as well.
+
+ * config/cf/xorg.cf:
+ Remove extra setting of XprtServer - just let it use the setting
+ in X11.tmpl
+
+2004-08-13 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/os/log.c: (VAuditF):
+ Fix Xprt bug by disabling code that merges multiple audit messages
+ (Bug #964, Roland Mainz).
+
+Fri Aug 13 19:53:10 2004 Soeren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_storm.c
+ (MGAStormSync): Fix for lockups on some versions of Matrox
+ Mystique. #687, Patch from Mike Harris.
+
+ * programs/Xserver/hw/xfree86/common/xf86RandR.c
+ (xf86RandRSetMode): Call xf86EnableDisableFBAccess though the
+ function pointer instead of directly. #1041, Patch from Aaron Plattner.
+
+ * programs/Xserver/hw/xfree86/common/xf86RandR.c: Swap the
+ phsyical size of the screen when rotiation. #1050, Patch from
+ Aaron Plattner.
+
+2004-08-13 Kristian Høgsberg <krh@redhat.com>
+
+ * config/cf/Imake.rules:
+ Add .PHONY target when using GNU make. This will speed up make in
+ general, but more importantly fix #1042.
+
+2004-08-13 Alexander Gottwald <ago@freedesktop.org>
+
+ * lib/X11/lcSjis.c:
+ Set most significant bit to be a one. (Bug #1024, Kensuke Matsuzaki)
+ * lib/X11/lcEuc.c:
+ Fix conversion from sjis and euc. (Bug #1024, Toshio Takabe)
+
+2004-08-13 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/xterm/*:
+ Merge in version 195 from upstream xterm
+ (http://dickey.his.com/xterm). Fixes #855.
+
+ * programs/Xserver/Xprint/etc/init.d/Imakefile (install):
+ Fix my typo in Solaris part of Xprint /etc/init.d install.
+
+2004-08-13 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/composite/compalloc.c: (compFreePixmap):
+ Empty damage object when freeing pixmap.
+
+ * programs/Xserver/composite/compinit.c: (compCloseScreen),
+ * programs/Xserver/composite/compint.h:
+ (compInstallColormap), (compAddAlternateVisuals), (compScreenInit):
+ Wrap InstallColormap so that the DDX doesn't see colormaps from
+ our ARGB visual (avoids lovely green tint to screen).
+ Also, set visual->nplanes of ARGB visual to all used
+ (including alpha) planes so DIX can set pixel values correctly.
+
+ * programs/Xserver/composite/compwindow.c:
+ (compWindowUpdateAutomatic):
+ Translate automatic update regions correctly to account for borders
+
+ * programs/Xserver/dix/colormap.c:
+ When nplanes == 32 (ARGB visuals), mask in all ones for alpha values
+ to allocated pixel values.
+
+ * programs/Xserver/fb/fbpict.h:
+ Remove redundant fbAddTraps declaration
+
+ * programs/Xserver/fb/fbwindow.c: (fbCopyWindow):
+ Fix fbCopyWindow to work on non-screen pixmaps (not needed yet)
+
+ * programs/Xserver/render/mipict.c: (miClipPictureReg),
+ (miClipPictureSrc), (miCompositeSourceValidate),
+ (miComputeCompositeRegion):
+ Replace broken clipping code with that from modular tree.
+
+ * programs/Xserver/render/mirect.c: (miColorRects):
+ Respect subWindowMode.
+
+2004-08-13 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/render/picture.c: (CopyPicture):
+ Fix copy'n'paste-os of x/y in CopyPicture for AlphaXOrigin and
+ ClipXOrigin.
+
+2004-08-12 Eric Anholt <anholt@FreeBSD.org>
+
+ * extras/Mesa/XOrg-Xlist:
+ Removed files left over from older versions of Mesa, both on the vendor
+ branch and older ones from head. Several directories have been pruned
+ from the current import (but not docs, which includes COPYING), which
+ are listed in the new file "XOrg-Xlist". This can be used in the form
+ of "rm -rf `cat .../XOrg-Xlist`" when preparing a Mesa checkout for
+ importing.
+
+2004-08-12 Keith Packard <keithp@keithp.com>
+
+ * programs/xcursorgen/redglass/gumby*
+ * programs/xcursorgen/whiteglass/gumby*
+ * programs/xcursorgen/handhelds/gumby*
+ Replace the cursors used for the 'gumby' name by
+ ones which don't infringe on copyright and trademarks.
+
+2004-08-12 Eric Anholt <anholt@FreeBSD.org>
+
+ * extras/Mesa/include/GL/glxext.h:
+ * programs/Xserver/GL/glx/singlesize.c: (__glGet_size):
+ Fix after Mesa 20040812 merge: revert glxext.h to vendor branch, and fix
+ bug #1022.
+
+2004-08-12 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/quartz/cr/Imakefile:
+ * programs/Xserver/hw/darwin/quartz/cr/crScreen.m:
+ (CRSetupScreen):
+ * programs/Xserver/hw/darwin/quartz/xpr/Imakefile:
+ * programs/Xserver/hw/darwin/quartz/xpr/xprScreen.c:
+ (xprSetupScreen):
+ Fix crash in rootless XDarwin due to rootless being initialized
+ before damage extension.
+
+2004-08-12 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/loader/Imakefile:
+ Add Imake instrumentation for the ProPolice fix; #define
+ ProPoliceSupport YES in host.def to enable the workaround.
+
+2004-08-12 Kristian Høgsberg <krh@redhat.com>
+
+ * config/cf/xorg.cf:
+ Update PPC64 defines to use XorgServer instead of XF86Server.
+
+ * config/cf/X11.tmpl:
+ Fix double-backslash typo.
+
+2004-08-12 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/miext/cw/cw.c: (cwDestroyGCPrivate),
+ (cwValidateGC):
+ * programs/Xserver/miext/cw/cw.h:
+ * programs/Xserver/miext/cw/cw_ops.c:
+ * programs/Xserver/miext/cw/cw_render.c: (cwCreateBackingPicture),
+ (cwGetBackingPicture), (cwDestroyPicture), (cwValidatePicture),
+ (cwInitializeRender), (cwFiniRender):
+ Fix various cw issues, including a couple reported by deronj:
+ - Fix wrapping of GC ops/funcs according to policy described in bug
+ #1045.
+ - Remove ValidateGC/ValidatePictures on the redirected
+ drawables/pictures -- it's not needed, and DDXs shouldn't be seeing
+ redirected drawables in render or GC ops/funcs when cw is running.
+ - Mark all GC/Picture state as dirty when moving from redirected to
+ non-redirected, since it hadn't been passed down in Change* or
+ Validate* while redirected.
+ - Remove CreatePicture wrapper that didn't do anything.
+ - Comment on why AddTraps wrapper isn't needed.
+
+2004-08-12 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/composite/compint.h:
+ * programs/Xserver/composite/compwindow.c: (compCheckRedirect):
+ Fix some issues reported by deronj:
+ - Hopefully fix a crash in compCheckRedirect on unrealizing windows.
+ - Remove an extern that doesn't point at anything.
+
+2004-08-11 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/Imakefile:
+ * programs/Xserver/composite/Imakefile:
+ * programs/Xserver/composite/cw.c:
+ * programs/Xserver/composite/cw.h:
+ * programs/Xserver/composite/cw_ops.c:
+ * programs/Xserver/composite/cw_render.c:
+ * programs/Xserver/miext/cw/Imakefile:
+ Move cw to miext/cw after repo-copy. It's not really tied to the
+ composite extension, and may need to be separate any way to handle some
+ wrapping ordering vs linking ordering issues.
+
+2004-08-12 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineRestore):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ (RADEONEnterServer):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (RadeonInit3DEngine), (R100SetupTexture),
+ (R100SetupForCPUToScreenAlphaTexture),
+ (R100SetupForCPUToScreenTexture), (R200SetupTexture),
+ (R200SetupForCPUToScreenAlphaTexture),
+ (R200SetupForCPUToScreenTexture):
+ Fix context switching on Radeons and build problem when XF86DRI is
+ not defined (Bug #922, Eric Anholt).
+
+2004-08-12 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/miext/damage/damage.c (damageCopyPlane)
+ (damageCopyArea):
+ Add call to SourceValidate() when pDst == pSrc, so misprite.c get
+ a chance to remove the sprite before the area is copied. The
+ drivers handle pDst != pSrc (#1030).
+
+2004-08-11 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_chipset.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_probe.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_chipset.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c:
+ * programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c:
+ Factor out R{128,ADEON}Chipsets into their own headers so they can be
+ sanely included in both the ati core and the r128/radeon submodules;
+ r128 and radeon can now be directly loaded under dlloader. Teach
+ imstt about the dlloader-frendly way to talk to fbdevhw. (Partial
+ for bugs #393 and #400.)
+
+2004-08-11 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/composite/compwindow.c:
+ (compWindowUpdateAutomatic):
+ Paint to parent window instead of parent window's pixmap
+ (helps for servers that don't have a pixmap for the root)
+
+ * programs/Xserver/composite/cw_render.c: (cwGetBackingPicture):
+ Fix offsets for render drawing.
+
+2004-08-11 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/darwin.c: (DarwinPrintBanner):
+ Fix leftover XF86_VERSION_SNAP macro.
+
+2004-08-11 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * xftfreetype.c: (_XftReleaseFile):
+ Called strlen with (f->file) without checking for NULL (which
+ happens when directly using FT_Face objects) (Bug #1047, Keith
+ Packard).
+
+2004-08-11 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drm.c:
+ Bug #979: Don't include <sys/sysmacros.h> on linux, it occasionally
+ emits makedev() as a function call that elfloader can't resolve.
+ Originally Gentoo Bug #41962, reported by Ryan Breen, fix feedback
+ from Ryan Lortie.
+
+2004-08-11 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/loader/xf86sym.c:
+ Teach the loader about the extra symbols needed for Propolice-
+ protected modules to work under elfloader. From Matthieu Herrb
+ (OpenBSD) by way of Travis Tilley (Gentoo).
+
+2004-08-11 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/X11.tmpl:
+ Fix Xnest and Xdmx builds when BuildServersOnly is YES (Bug #1026,
+ Alexander Gottwald, Kevin Martin).
+
+2004-08-11 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/fb/fbwindow.c: (fbCopyWindow):
+ Add COMPOSITE change to fbCopyWindow (not needed yet)
+
+ * programs/Xserver/hw/xnest/Cursor.c: (xnestSetCursor),
+ (xnestMoveCursor):
+ * programs/Xserver/hw/xnest/Events.c: (ProcessInputEvents),
+ (xnestCollectEvents):
+ * programs/Xserver/hw/xnest/GCOps.c: (xnestPushPixels):
+ * programs/Xserver/hw/xnest/Screen.c: (xnestOpenScreen):
+ * programs/Xserver/hw/xnest/XNCursor.h:
+ Xnest was half-using midispcur and doing a bad job of it.
+ Replace all of that code with mipointer which does a lot of the
+ work.
+
+ * programs/Xserver/miext/damage/damage.c: (getDrawableDamageRef),
+ (damageCreateGC), (damageRemoveDamage), (damageInsertDamage),
+ (damageDestroyPixmap), (damageSetWindowPixmap), (DamageSetup),
+ (DamageRegister), (DamageUnregister):
+ * programs/Xserver/miext/damage/damagestr.h:
+ Support DDXen which don't provide GetWindowPixmap, or which
+ return NULL for the root pixmap.
+
+2004-08-11 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/os/Imakefile:
+ * programs/Xserver/os/utils.c: (CheckUserParameters):
+ Fix bogus contact address in Xserver/os/util.c (Bug #738).
+
+2004-08-11 Eric Anholt <anholt@FreeBSD.org>
+
+ reviewed by: <keithp@keithp.com>
+
+ * programs/Xserver/render/picture.c: (CopyPicture):
+ In CopyPicture, add missing call to ChangePicture to notify about
+ the changes that CopyPicture has done.
+
+2004-08-11 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/Imake.cf:
+ * config/cf/linux.cf:
+ * config/cf/xorg.cf:
+ * config/imake/imakemdep.h:
+ * include/Xmd.h:
+ * lib/Xt/Xtos.h:
+ * programs/Xserver/fb/fb.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.h:
+ * programs/Xserver/os/xalloc.c:
+ Apply PPC64 build patch (Bug #303, Mike A. Harris, Alan
+ Coopersmith).
+
+2004-08-11 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/xf86config/Imakefile:
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ Patch xorgconfig to generate config files with correct keyboard
+ driver; use "kbd" by default, "keyboard" if
+ UseDeprecatedKeyboarDriver is YES (#1040).
+
+ * programs/Xserver/Xprint/etc/profile.d/Imakefile:
+ * programs/Xserver/Xprint/etc/Xsession.d/Imakefile:
+ * programs/Xserver/Xprint/etc/init.d/Imakefile:
+ Don't install files outside ProjectRoot when
+ NothingOutsideProjectRoot is YES (#972).
+
+2004-08-11 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.c:
+ Fix vesa.c's shadow symbol list.
+
+2004-08-11 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.html
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.txt
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.xml
+ Syncing FAQ
+
+2004-08-11 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint.cpp
+ Bugzilla #492: /etc/init.d/xprint did not source xorg.conf
+ for font paths additionally to xfree86 config files
+
+2004-08-11 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/x11perf/Imakefile:
+ * programs/x11perf/do_traps.c: (InitFixedTraps):
+ - Fix the build with old libXrender headers installed by including
+ TOP_INCLUDES first in the INCLUDES line.
+ - Drive-by fix of unused variables warnings in do_traps.c.
+
+2004-08-10 Adam Jackson <ajax@freedesktop.org>
+
+ * lib/X11/PolyReg.c:
+ Bug #372: Prevent a crash in XPolygonRegion when called with a bogus
+ point count. Reported by Andreas Luik.
+
+2004-08-10 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/atimodule.c:
+ Bug #978: Silence more unresolved symbol warnings from the ati driver.
+ Patch from Stefan Dirsch.
+
+2004-08-10 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c:
+ (RADEONAccelInit):
+ Fix Radeon build problem with #define DoLoadableServer NO (Bug
+ #1031)
+
+2004-08-10 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/xorg.cf:
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (xf86PrintBanner):
+ Update version to 6.7.99.1 and fix problem with snapshot string
+ generation.
+
+2004-08-10 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/atimodule.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ Bug #978: Silence unresolved symbol warnings from the ati driver.
+ Reported by Michel Daenzer.
+
+2004-08-10 Kristian Høgsberg <krh@redhat.com>
+
+ * lib/Xcomposite/xcomposite.pc.in (Version):
+ * lib/Xcomposite/xdamage.pc.in (Version):
+ * lib/Xcomposite/xfixes.pc.in (Version):
+ Replace @PACKAGE_VERSION@ with @VERSION@ so the substs works, fix
+ copy-and-paste error.
+
+2004-08-09 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/Imakefile:
+ Fix install problem on platforms not using xorg.cf/xfree86.cf
+ (Bug #339, Harold L. Hunt II, Alexander Gottwald).
+
+ * lib/X11/lcUTF8.c: (create_tofontcs_conv):
+ Fix crash when using X core font in zh_CN.UTF-8 locale (Bug #368,
+ Yu Shao, David Dawes).
+
+ * programs/Xserver/GL/glx/glxcmds.c: (DoMakeCurrent):
+ Fix glXMakeCurrent(Dpy, None, NULL) crash (Bug #719, Adam
+ Jackson).
+
+ * config/cf/lnxLib.tmpl:
+ * programs/Xserver/include/servermd.h:
+ HP-PA build fix (Bug #828, Guy Martin, Paul Anderson).
+
+ * include/Imakefile:
+ * include/extensions/Imakefile:
+ Fix SDK build for GATOS and Wacom driver (Bug #829, Bryan Stine).
+
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+ (MGAReadBios):
+ Fix attempt to read video ROM before enabling it (Bug #843, Ivan
+ Kokshaysky, Mike A. Harris).
+
+ * programs/Xserver/hw/xfree86/common/xf86pciBus.c:
+ (FindPCIVideoInfo):
+ Fix detection of primary adapter (Bug #843, Ivan Kokshaysky, Mike
+ A. Harris).
+
+ * programs/xset/xset.man:
+ Clarify xset man page description of how to use the keyboard
+ repeat rate settings (Bug #846, Mike A. Harris).
+
+ * programs/xkbcomp/symbols/czsk:
+ * programs/xkbcomp/symbols/jp:
+ * programs/xkbcomp/symbols/pc/pc:
+ * programs/xkbcomp/symbols/us:
+ * programs/xkbcomp/symbols/us_group2:
+ * programs/xkbcomp/symbols/us_group3:
+ Fix problem where print-screen key would get remapped to sys-req
+ in certain keymaps, which broke GNOME printscreen functionality
+ (Bug #847, Owen Taylor).
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineRestore):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c:
+ (RADEONAccelInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ (RADEONEnterServer):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (RADEONInit3DEngineForRender), (RadeonInit3DEngine),
+ (R100SetupTexture), (R100SetupForCPUToScreenAlphaTexture),
+ (R200SetupTexture):
+ Fix several render problems:
+ - MMIO mode support
+ - Hang on IGP chips
+ - VT switching hang
+ - 3D render corruption
+ (Bug #922, Hui Yu).
+
+2004-08-09 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/loader/extsym.c (extLookupTab):
+ * programs/Xserver/hw/xfree86/loader/dixsym.c (dixLookupTab):
+ Move the new render symbols to dixsym.c instead so they are
+ grouped with the other render symbols.
+
+ * programs/Xserver/fb/fbpixmap.c (fbCreatePixmapBpp):
+ Initialize screen_x and screen_y to 0. This fixes a problem with
+ the new Damage based sprite, where intersection test against the
+ root pixmap would fail because the two fields were not
+ initialized (damage.c, 166-170).
+
+2004-08-08 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * config/cf/X11.tmpl:
+ * programs/Xserver/Imakefile:
+ Fix building without Xfixes extension
+
+ * include/extensions/Imakefile:
+ * lib/Xext/Imakefile:
+ * programs/Xserver/dix/events.c:
+ Fix building without Xevie
+
+ * programs/Xserver/hw/dmx/dmxdpms.c: (_dmxDPMSInit):
+ * programs/Xserver/hw/xfree86/loader/dixsym.c:
+ * programs/Xserver/hw/xfree86/loader/xf86sym.c:
+ Fix building without DPMS
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ (configExtensions):
+ Fix "Extensions" section config file support to accept general
+ boolean options
+
+2004-08-08 Kristian Høgsberg <krh@redhat.com>
+
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ * config/cf/xorgsite.def:
+ * config/cf/xorg.cf:
+ * programs/Xserver/hw/xfree86/common/xf86Init.c (InitInput):
+ Disable legacy keyboard driver "keyboard", unless
+ USE_DEPRECATED_KEYBOARD_DRIVER is defined. Print warning if the
+ old driver is used.
+
+ * programs/Xserver/hw/xfree86/loader/extsym.c (extLookupTab):
+ Add new render symbols to list of exported extension symbols so
+ DoLoadableServer works again.
+
+ * programs/Xserver/hw/xfree86/drivers/i810/Imakefile:
+ Remove non-existent i830_3d_reg.h from i810 install.sdk target.
+
+2004-08-07 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * lib/Xdmcp/DAofA8.c: (XdmcpDisposeARRAYofARRAY8):
+ Check to see if array->data is NULL before we dereference it,
+ instead of after. (Prevents segfault when array->data is
+ initialized to NULL, but array->length is not set to 0.)
+
+ * programs/xdm/xdmcp.c: (request_respond):
+ Always initialize both data & length in ARRAYs.
+
+2004-08-06 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * config/cf/OpenBSDLib.tmpl:
+ update shared libries revisions on OpenBSD to track libc ABI changes.
+
+2004-08-06 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/mi/mieq.c:
+ Fix minor timestamp lossage in mieq.
+
+ * programs/Xserver/mi/Imakefile:
+ * programs/Xserver/mi/misprite.c: (miSpriteReportDamage),
+ (miSpriteCopyWindow):
+ * programs/Xserver/mi/mispritest.h:
+ Replace miSprite implementation with Damage-based one.
+ Otherwise damage and misprite conflict causing looping.
+
+ * programs/Xserver/miext/damage/damage.c: (damageDamageRegion),
+ (DamageSubtract):
+ Change pScreen usage around a bit to eliminate warnings
+
+
+2004-08-06 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/hw/vfb/InitOutput.c: (vfbScreenInit),
+ (InitOutput):
+ Eliminate mfb support. Fix visuals to match "normal" PC hardware
+ (making lightpipe work).
+
+2004-08-06 Keith Packard <keithp@keithp.com>
+
+ * config/cf/linux.cf:
+ Fix Debian section to respect NothingOutsideProjectRoot directive
+
+2004-08-06 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/composite/cw.c: (cwCheapValidateGC),
+ (miInitializeCompositeWrapper):
+ Clean up cw initialization, make sure wrappers re-wrap on exit.
+
+2004-08-06 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/composite/compinit.c: (compAddAlternateVisuals):
+ * programs/Xserver/dix/colormap.c:
+ * programs/Xserver/include/scrnintstr.h:
+ Remove alpha-related fields from visual structure to retain
+ binary compatibilty. Applications using ARGB visuals will need
+ to use Render or other mechanisms to compute pixel values
+ instead of AllocColor
+
+2004-08-06 Keith Packard <keithp@keithp.com>
+
+ * lib/Xrender/AddTrap.c: (XRenderAddTraps):
+ * lib/Xrender/Imakefile:
+ * lib/Xrender/Xrender.h:
+ * lib/Xrender/configure.ac:
+ Update to version 0.9 of Xrender (includes XRenderAddTraps)
+
+2004-08-06 Keith Packard <keithp@keithp.com>
+
+ * include/extensions/render.h:
+ * include/extensions/renderproto.h:
+ * programs/Xserver/fb/Imakefile:
+ * programs/Xserver/fb/fbedge.c: (fbRasterizeEdges):
+ * programs/Xserver/fb/fbedgeimp.h:
+ * programs/Xserver/fb/fbpict.c: (fbPictureInit):
+ * programs/Xserver/fb/fbpict.h:
+ * programs/Xserver/fb/fbtrap.c: (fbAddTraps),
+ (fbRasterizeTrapezoid), (_GreaterY), (_Clockwise),
+ (fbAddTriangles):
+ * programs/Xserver/render/Imakefile:
+ * programs/Xserver/render/mipict.c: (miIsSolidAlpha),
+ (miPictureInit):
+ * programs/Xserver/render/mipict.h:
+ * programs/Xserver/render/mitrap.c: (miTrapezoids):
+ * programs/Xserver/render/mitri.c: (miTriangles), (miTriStrip),
+ (miTriFan):
+ * programs/Xserver/render/picture.c: (AddTraps):
+ * programs/Xserver/render/picture.h:
+ * programs/Xserver/render/picturestr.h:
+ * programs/Xserver/render/render.c: (RenderNumberRequests),
+ (ProcRenderAddTraps), (SProcRenderAddTraps),
+ (PanoramiXRenderAddTraps), (PanoramiXRenderInit):
+ * programs/Xserver/render/renderedge.c: (RenderSampleCeilY),
+ (RenderSampleFloorY), (RenderEdgeStep), (_RenderEdgeMultiInit),
+ (RenderEdgeInit), (RenderLineFixedEdgeInit):
+ * programs/Xserver/render/renderedge.h:
+ * programs/x11perf/do_tests.c:
+ * programs/x11perf/do_traps.c: (InitFixedTraps), (DoFixedTraps),
+ (EndFixedTraps), (InitFixedTrapezoids), (DoFixedTrapezoids),
+ (EndFixedTrapezoids):
+ * programs/x11perf/x11perf.h:
+ Add RenderAddTraps. Rewrite trapezoid rendering code.
+
+2004-08-06 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig):
+ Disable Render acceleration in Radeon driver temporarily until
+ it no longer conflicts with the 3D code.
+
+2004-08-05 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/composite/cw.c: (miInitializeCompositeWrapper),
+ (cwCloseScreen):
+ * programs/Xserver/composite/cw.h:
+ * programs/Xserver/composite/cw_render.c: (cwFiniRender):
+ Fix missing ';' in cw.c and unwrap the render wrapper properly.
+
+2004-08-05 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/composite/cw.c: (miInitializeCompositeWrapper):
+ * programs/Xserver/composite/cw.h:
+ * programs/Xserver/composite/cw_render.c: (cwCreateBackingPicture),
+ (cwDestroyBackingPicture), (cwCreatePicture), (cwValidatePicture),
+ (cwGlyphs), (cwCompositeRects), (cwTrapezoids), (cwTriangles),
+ (cwTriStrip), (cwTriFan), (cwInitializeRender):
+ * programs/Xserver/render/picture.c: (CopyPicture):
+ * programs/Xserver/render/picturestr.h:
+ - Add a new Render function, CopyPicture, which will update a picture
+ with the flagged bits from a source picture. Approved in principle
+ by keithp.
+ - Use CopyPicture and SetTransform to update most of the backing
+ picture's state in the composite wrapper. Filters are still missing.
+ - Don't allocate a picture private, now that we calculate clipping
+ properly and don't need the serialNumber or stateChanges.
+ - Use the format of the source pixmap rather than generating the format
+ from the window's visual.
+ - Wrap the rest of the Render primitives that were stubbed out before.
+
+Thu Aug 5 15:34:04 2004 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * programs/Xserver/fb/Imakefile: Compile fbfill.c and fbpict.c
+ with the mmx CFLAGS. DOH.
+
+2004-08-04 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/composite/cw.c: (cwValidateGC),
+ (cwFillRegionSolid), (cwFillRegionTiled),
+ (cwPaintWindowBackground), (cwPaintWindowBorder):
+ - Always validate the backing GC in cwValidateGC, not just when the clip
+ list changes.
+ - Use FillTiled instead of FillSolid for painting tiled
+ border/background pixmaps, and don't needlessly change the scratch
+ GC's defaults.
+ - Use the preferred dixChangeGC instead of DoChangeGC.
+ - Simplify a silly loop and clean up a couple of comments.
+
+2004-08-04 Michel Daenzer <michel@daenzer.net>
+
+ reviewed by: Hui Yu <hyu@ati.com>, Kevin E. Martin
+ <kem@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c:
+ (RADEONSetCursorColors), (RADEONLoadCursorImage),
+ (RADEONLoadCursorARGB):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (RADEONPutImage):
+ Use info->ModeReg.surface_cntl to restore byte swapping for the
+ framebuffer aperture on big endian machines, remove superfluous local
+ variables and register reads.
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (R100SetupTexture), (R200SetupTexture):
+ Adapt framebuffer aperture byte swapping to texture format before
+ copying data to offscreen area and restore it afterwards on big endian
+ machines, fixes Render acceleration there.
+
+2004-08-04 Egbert Eich <eich-at-freedesktop-org>
+
+ * lib/font/FreeType/ft.h:
+ * lib/font/FreeType/ftfuncs.c: (FT_Do_SBit_Metrics),
+ (FreeTypeRasteriseGlyph):
+ Optimization of CJK rendering when using versions of freetype
+ prior to 2.1.8 (Chisato Yamauchi).
+ * lib/font/FreeType/fttools.c:
+ * lib/font/FreeType/module/myftstdlib.h:
+ A small backward compatibility fix to make the freetype module
+ build with freetype version < 2.1.7.
+ * programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c:
+ (fbdevHWLoadPalette), (fbdevHWAdjustFrame), (fbdevHWDPMSSet),
+ (fbdevHWSaveScreen):
+ Fixed/added some debugging code.
+
+2004-08-03 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c:
+ (RADEONAccelInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitAccel):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (RadeonGetTextureFormat), (RadeonGetColorFormat),
+ (RadeonGetBlendCntl), (R100SetupTexture),
+ (R100SetupForCPUToScreenAlphaTexture),
+ (R100SetupForCPUToScreenTexture), (R200SetupTexture),
+ (R200SetupForCPUToScreenAlphaTexture),
+ (R200SetupForCPUToScreenTexture):
+ * programs/Xserver/hw/xfree86/xaa/xaa.h:
+ * programs/Xserver/hw/xfree86/xaa/xaaInitAccel.c: (XAAInitAccel):
+ * programs/Xserver/hw/xfree86/xaa/xaaPict.c: (XAADoComposite):
+ - Add two new XAA hooks, SetupForCPUToScreenTexture2 and
+ SetupForCPUToScreenAlphaTexture2. These add a dstFormat argument
+ after the previous format argument, which the driver needs to use to
+ properly set up the destination format. Two new arrays are added for
+ the list of destination formats supported that correspond to the
+ previous format arrays for sources.
+ - Make Render acceleration only occur when the new hook for that
+ acceleration type is supplied and the dst format list is set, along
+ with the src format list being set. Without knowing the destination
+ format, the Render acceleration couldn't properly support all the
+ destinations it might encounter.
+ - Bump XAA module minor version.
+ - Update the Radeon Render acceleration to use the new hooks when the
+ XAA module is sufficiently new. Fix a bug in the src/dst alpha
+ booleans for ops, and use them to set blend_cntl to support
+ destinations without alpha. Add missing PICT_a1r5g5b5 texture format,
+ and add list terminator. (!)
+
+2004-08-03 Matthieu Herrb <matthieu.herrb@laas.fr>
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_merged_fb.c
+ Add missing argument to xf86DrvMsg().
+
+2004-08-03 Matthieu Herrb <matthieu.herrb@laas.fr>
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_probe.h
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.h
+ Fix Constification problems.
+
+2004-08-03 Matthieu Herrb <matthieu.herrb@laas.fr>
+ * programs/Xserver/hw/xfree86/ddc/xf86DDC.h
+ * programs/Xserver/hw/xfree86/vgahw/vgaHW.c
+ * programs/Xserver/hw/xfree86/vgahw/vgaHW.h
+ * programs/Xserver/miext/shadow/shadow.h
+ * programs/Xserver/miext/shadow/shpacked.c
+ * programs/Xserver/miext/shadow/shplanar.c
+ * programs/Xserver/miext/shadow/shrotate.c
+ Fix glitches in pointer to functions declarations.
+
+2004-08-03 Egbert Eich <eich-at-freedesktop-org>
+
+ * lib/font/FreeType/ftfuncs.c: (FreeTypeOpenInstance),
+ (FT_Do_SBit_Metrics), (FreeTypeRasteriseGlyph):
+ Bugzilla #925: Simpler version of backward compatibility
+ fix (Chisato Yamauchi).
+ Fix to support older versions of gcc (Matthieu Herrb).
+
+2004-08-03 Matthieu Herrb <matthieu.herrb@laas.fr>
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_storm.c:
+ * programs/Xserver/hw/xfree86/xaa/xaaPCache.c:
+ * programs/Xserver/hw/xfree86/xaa/xaalocal.h:
+ Fix declaration of XAACachePlanarMonoStippleProc.
+ Rename XAACachePlanarMonoStippleWeak to
+ XAAGetCachePlanarMonoStipple() for consistency with other parts of
+ xaa and fix forward declaration in xaalocal.h.
+ Fixes last comments on Bug #962.
+
+2004-08-03 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/X11.tmpl:
+ * programs/Xserver/Imakefile:
+ Fix build with BuildComposite by linking the composite library into the
+ servers before damage/xfixes, and enable BuildComposite by default now.
+ Note that the Composite extension is still disabled at run-time by
+ default.
+
+2004-08-02 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/composite/compinit.c:
+ * programs/Xserver/composite/cw.c: (cwGetBackingDrawable),
+ (cwCreateGCPrivate), (cwCheapValidateGC), (cwGetImage),
+ (cwGetSpans), (cwFillRegionSolid), (cwFillRegionTiled),
+ (cwPaintWindowBackground), (cwPaintWindowBorder),
+ (miInitializeCompositeWrapper), (cwCloseScreen):
+ * programs/Xserver/composite/cw.h:
+ * programs/Xserver/composite/cw_ops.c: (cwFillSpans), (cwSetSpans),
+ (cwPutImage), (cwCopyArea), (cwCopyPlane), (cwPolyPoint),
+ (cwPolylines), (cwPolySegment), (cwPolyRectangle), (cwPolyArc),
+ (cwFillPolygon), (cwPolyFillRect), (cwPolyFillArc), (cwPolyText8),
+ (cwPolyText16), (cwImageText8), (cwImageText16), (cwImageGlyphBlt),
+ (cwPolyGlyphBlt), (cwPushPixels):
+ * programs/Xserver/composite/cw_render.c: (cwGetBackingPicture),
+ (cwCreatePicture), (cwInitializeRender):
+ Major improvements to Composite wrapper. Several issues remain, but it
+ now appears stable in limited testing.
+ - Allocate the picture private, avoiding segfault.
+ - Wrap PaintWindow to draw the background/border to the backing pixmap
+ (based on Deron Johnson's comptran.c).
+ - Set the x_off/y_off returns to translate coordinates properly.
+ - Don't bother allocating temporary areas for the modified coordinates.
+ Layers above are responsible for handling lower layers changing the
+ arguments, so cw doesn't have to worry about it. mibstore.c has to do
+ the allocation because it calls down twice (front buffer and backing
+ store). (Suggested by keithp)
+ - Handle the mode argument to PolyPoint, Polylines, and FillPolygon.
+ - Remove some dead elements in the cw privates.
+ - Kill a prototype warning in compinit.c by adding the cw.h header.
+
+2004-08-02 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/mi/miinitext.c:
+ The Damage extension has to wrap after (be called before) the Composite
+ extension so that the redirecting of drawables by the wrapper doesn't
+ confuse Damage.
+
+2004-08-02 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/apm/apm_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/apm/apm_funcs.c:
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_storm.c:
+ * programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.c:
+ * programs/Xserver/hw/xfree86/ramdac/IBM.c:
+ * programs/Xserver/hw/xfree86/ramdac/IBM.h:
+ * programs/Xserver/hw/xfree86/ramdac/TI.c:
+ * programs/Xserver/hw/xfree86/ramdac/TI.h:
+ * programs/Xserver/hw/xfree86/vgahw/vgaHW.c:
+ * programs/Xserver/hw/xfree86/vgahw/vgaHW.h:
+ * programs/Xserver/hw/xfree86/xaa/xaaPCache.c:
+ * programs/Xserver/hw/xfree86/xaa/xaaStipple.c:
+ * programs/Xserver/hw/xfree86/xaa/xaaTEGlyph.c:
+ * programs/Xserver/hw/xfree86/xaa/xaalocal.h:
+ * programs/Xserver/miext/shadow/shadow.h:
+ * programs/Xserver/miext/shadow/shpacked.c:
+ * programs/Xserver/miext/shadow/shplanar.c:
+ * programs/Xserver/miext/shadow/shrotate.c:
+ * programs/Xserver/hw/xfree86/fbdevhw/fbdevhwstub.c:
+ * programs/Xserver/hw/xfree86/xf1bpp/mfbmap.h:
+ Bug #962: Remove LoaderSymbol calls introduced by the dlloader
+ work so DoLoadableServer NO builds work again.
+
+Mon Aug 2 21:49:33 2004 Soeren Sandmann <sandmann@redhat.com>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c
+ (mapVidMem): Remove double cast.
+
+2004-08-02 Egbert Eich <eich-at-freedesktop-org>
+
+ * config/cf/linux.cf:
+ Removed distro specific stuff.
+ * lib/font/FreeType/ftfuncs.c: (FreeTypeOpenInstance):
+ Fixed FreeType module to build with FreeType versions older
+ than 2.1.7.
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c:
+ (configureDDCMonitorSection):
+ Fixed typo.
+ * programs/Xserver/hw/xfree86/common/xf86DPMS.c: (DPMSClose):
+ Added vtSema to protect call of driver DPMS function.
+ * programs/Xserver/hw/xfree86/common/xf86Helper.c:
+ (xf86SetDefaultVisual):
+ removed unneeded variable
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (InitOutput):
+ * programs/Xserver/hw/xfree86/common/xf86RandR.c:
+ (xf86RandRGetInfo), (xf86RandRSetConfig):
+ * programs/Xserver/hw/xfree86/common/xf86str.h:
+ Modified RandR driver hook to reduce the number of function calls
+ to one. Function is sufficiently generic to be extended in the
+ future.
+
+2004-08-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONDisplayPowerManagementSet):
+ Fix Radeon crash on server exit or generation
+
+2004-08-01 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:
+ Remove the last user of fbdevHWFillInScreenInfo.
+
+2004-07-31 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * config/cf/bsdLib.tmpl:
+ * config/cf/darwinLib.tmpl:
+ Added SharedXfixesReqs, SharedXdamageReqs and SharedXcompositeReqs
+
+2004-07-31 Stuart Kreitman <stuart dot kreitman at sun dot com>
+
+ * lib/Xext/Imakefile:
+ * lib/Xext/Xevie.c:
+
+2004-07-31 Alexander Gottwald <ago@freedesktop.org>
+
+ * config/cf/cygwin.tmpl:
+ Added SharedXfixesReqs, SharedXdamageReqs and SharedXcompositeReqs
+
+2004-07-31 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Config.c:
+ (configExtensions), (xf86HandleConfigFile):
+ * programs/Xserver/hw/xfree86/parser/Extensions.c:
+ (xf86parseExtensionsSection), (xf86printExtensionsSection),
+ (xf86freeExtensions):
+ * programs/Xserver/hw/xfree86/parser/Imakefile:
+ * programs/Xserver/hw/xfree86/parser/configProcs.h:
+ * programs/Xserver/hw/xfree86/parser/read.c: (xf86readConfigFile),
+ (xf86freeConfig):
+ * programs/Xserver/hw/xfree86/parser/write.c: (doWriteConfigFile):
+ * programs/Xserver/hw/xfree86/parser/xf86Parser.h:
+ * programs/Xserver/include/globals.h:
+ * programs/Xserver/mi/miinitext.c: (EnableDisableExtension),
+ (EnableDisableExtensionError):
+ * programs/Xserver/os/utils.c: (ProcessCommandLine):
+ Add "Extensions" section support to configuration parser
+
+2004-07-31 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/Imakefile:
+ * programs/Xserver/composite/Imakefile:
+ * programs/Xserver/composite/compalloc.c: (compReportDamage),
+ (compDestroyDamage), (compRedirectWindow), (compFreeClientWindow),
+ (compUnredirectWindow), (compRedirectSubwindows),
+ (compFreeClientSubwindows), (compUnredirectSubwindows),
+ (compRedirectOneSubwindow), (compUnredirectOneSubwindow),
+ (compAllocPixmap), (compFreePixmap), (compReallocPixmap):
+ * programs/Xserver/composite/compext.c: (CompositeClientCallback),
+ (CompositeResetProc), (FreeCompositeClientWindow),
+ (FreeCompositeClientSubwindows), (ProcCompositeQueryVersion),
+ (ProcCompositeRedirectWindow), (ProcCompositeRedirectSubwindows),
+ (ProcCompositeUnredirectWindow),
+ (ProcCompositeUnredirectSubwindows),
+ (ProcCompositeCreateRegionFromBorderClip),
+ (ProcCompositeNameWindowPixmap), (CompositeNumberRequests),
+ (ProcCompositeDispatch), (SProcCompositeQueryVersion),
+ (SProcCompositeRedirectWindow), (SProcCompositeRedirectSubwindows),
+ (SProcCompositeUnredirectWindow),
+ (SProcCompositeUnredirectSubwindows),
+ (SProcCompositeCreateRegionFromBorderClip),
+ (SProcCompositeNameWindowPixmap), (SProcCompositeDispatch),
+ (CompositeExtensionInit):
+ * programs/Xserver/composite/compinit.c: (compCloseScreen),
+ (compScreenUpdate), (compBlockHandler), (compFindVisuallessDepth),
+ (compAddAlternateVisuals), (compScreenInit):
+ * programs/Xserver/composite/compint.h:
+ * programs/Xserver/composite/compwindow.c: (compCheckWindow),
+ (compCheckTree), (compSetPixmapVisitWindow), (compSetPixmap),
+ (compCheckRedirect), (compPositionWindow), (compRealizeWindow),
+ (compUnrealizeWindow), (compPaintWindowBackground),
+ (compClipNotify), (compIsAlternateVisual), (compImplicitRedirect),
+ (compMoveWindow), (compResizeWindow), (compChangeBorderWidth),
+ (compReparentWindow), (compCopyWindow), (compCreateWindow),
+ (compDestroyWindow), (compSetRedirectBorderClip),
+ (compGetRedirectBorderClip), (compGetWindowVisual),
+ (compWindowFormat), (compWindowUpdateAutomatic),
+ (compWindowUpdate):
+ * programs/Xserver/composite/cw.c: (cwGetBackingDrawable),
+ (cwCreateGCPrivate), (cwDestroyGCPrivate), (cwValidateGC),
+ (cwChangeGC), (cwCopyGC), (cwDestroyGC), (cwChangeClip),
+ (cwCopyClip), (cwDestroyClip), (cwCheapValidateGC),
+ (cwCheapChangeGC), (cwCheapCopyGC), (cwCheapDestroyGC),
+ (cwCheapChangeClip), (cwCheapCopyClip), (cwCheapDestroyClip),
+ (cwCreateGC), (cwGetImage), (cwGetSpans),
+ (miInitializeCompositeWrapper), (cwCloseScreen):
+ * programs/Xserver/composite/cw.h:
+ * programs/Xserver/composite/cw_ops.c: (cwFillSpans), (cwSetSpans),
+ (cwPutImage), (cwCopyArea), (cwCopyPlane), (cwPolyPoint),
+ (cwPolylines), (cwPolySegment), (cwPolyRectangle), (cwPolyArc),
+ (cwFillPolygon), (cwPolyFillRect), (cwPolyFillArc), (cwPolyText8),
+ (cwPolyText16), (cwImageText8), (cwImageText16), (cwImageGlyphBlt),
+ (cwPolyGlyphBlt), (cwPushPixels):
+ * programs/Xserver/composite/cw_render.c: (cwFindVisualById),
+ (cwCreateBackingPicture), (cwDestroyBackingPicture),
+ (cwGetBackingPicture), (cwCreatePicture), (cwDestroyPicture),
+ (cwChangePicture), (cwValidatePicture), (cwComposite), (cwGlyphs),
+ (cwCompositeRects), (cwTrapezoids), (cwTriangles), (cwTriStrip),
+ (cwTriFan), (cwInitializeRender):
+ * programs/Xserver/dix/colormap.c:
+ * programs/Xserver/dix/window.c: (SetWindowToDefaults):
+ * programs/Xserver/include/pixmapstr.h:
+ * programs/Xserver/include/scrnintstr.h:
+ * programs/Xserver/include/windowstr.h:
+ * programs/Xserver/mi/mi.h:
+ * programs/Xserver/mi/miinitext.c:
+ * programs/Xserver/mi/mivaltree.c:
+ (miRegisterRedirectBorderClipProc), (miComputeClips):
+ Integrate COMPOSITEWRAP branch including composite wrapper. This code
+ still has several issues:
+ - CopyWindow and PaintWindow wrappers missing (will be done soon)
+ - Some segfaults seen in the Render wrappers.
+ - Xprt server build breaks with Composite.
+ - DDXs must be recompiled for Composite due to VisualRec size change.
+ - Composite bugs pointed out by Deron Johnson in email.
+
+ Also, reorder XFixes initialization according to comments by Keith which
+ are also in xserver CVS.
+
+2004-07-31 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/xfixes/region.c: (ProcXFixesExpandRegion),
+ (SProcXFixesExpandRegion):
+ * programs/Xserver/xfixes/xfixes.c: (XFixesNumberRequests):
+ * programs/Xserver/xfixes/xfixes.h:
+ * programs/Xserver/xfixes/xfixesint.h:
+ Update xfixes server code to major version 3 from xserver CVS, and
+ perform minor diff-reduction versus xserver CVS.
+
+2004-07-31 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/Imakefile:
+ * programs/Xserver/composite/Imakefile:
+ * programs/Xserver/composite/compalloc.c: (compReportDamage),
+ (compDestroyDamage), (compRedirectWindow), (compFreeClientWindow),
+ (compUnredirectWindow), (compRedirectSubwindows),
+ (compFreeClientSubwindows), (compUnredirectSubwindows),
+ (compRedirectOneSubwindow), (compUnredirectOneSubwindow),
+ (compAllocPixmap), (compFreePixmap), (compReallocPixmap):
+ * programs/Xserver/composite/compext.c: (CompositeClientCallback),
+ (CompositeResetProc), (FreeCompositeClientWindow),
+ (FreeCompositeClientSubwindows), (ProcCompositeQueryVersion),
+ (ProcCompositeRedirectWindow), (ProcCompositeRedirectSubwindows),
+ (ProcCompositeUnredirectWindow),
+ (ProcCompositeUnredirectSubwindows),
+ (ProcCompositeCreateRegionFromBorderClip),
+ (ProcCompositeNameWindowPixmap), (CompositeNumberRequests),
+ (ProcCompositeDispatch), (SProcCompositeQueryVersion),
+ (SProcCompositeRedirectWindow), (SProcCompositeRedirectSubwindows),
+ (SProcCompositeUnredirectWindow),
+ (SProcCompositeUnredirectSubwindows),
+ (SProcCompositeCreateRegionFromBorderClip),
+ (SProcCompositeNameWindowPixmap), (SProcCompositeDispatch),
+ (CompositeExtensionInit):
+ * programs/Xserver/composite/compinit.c: (compCloseScreen),
+ (compScreenUpdate), (compBlockHandler), (compFindVisuallessDepth),
+ (compAddAlternateVisuals), (compScreenInit):
+ * programs/Xserver/composite/compint.h:
+ * programs/Xserver/composite/compwindow.c: (compCheckWindow),
+ (compCheckTree), (compSetPixmapVisitWindow), (compSetPixmap),
+ (compCheckRedirect), (compPositionWindow), (compRealizeWindow),
+ (compUnrealizeWindow), (compPaintWindowBackground),
+ (compClipNotify), (compIsAlternateVisual), (compImplicitRedirect),
+ (compMoveWindow), (compResizeWindow), (compChangeBorderWidth),
+ (compReparentWindow), (compCopyWindow), (compCreateWindow),
+ (compDestroyWindow), (compSetRedirectBorderClip),
+ (compGetRedirectBorderClip), (compGetWindowVisual),
+ (compWindowFormat), (compWindowUpdateAutomatic),
+ (compWindowUpdate):
+ * programs/Xserver/composite/cw.c: (DrawableIsRedirWindow),
+ (cwGetBackingDrawable), (cwCreateGCPrivate), (cwDestroyGCPrivate),
+ (cwValidateGC), (cwChangeGC), (cwCopyGC), (cwDestroyGC),
+ (cwChangeClip), (cwCopyClip), (cwDestroyClip), (cwCheapValidateGC),
+ (cwCheapChangeGC), (cwCheapCopyGC), (cwCheapDestroyGC),
+ (cwCheapChangeClip), (cwCheapCopyClip), (cwCheapDestroyClip),
+ (cwCreateGC), (cwGetImage), (cwGetSpans),
+ (miInitializeCompositeWrapper), (cwCloseScreen):
+ * programs/Xserver/composite/cw.h:
+ * programs/Xserver/composite/cw_ops.c: (cwFillSpans), (cwSetSpans),
+ (cwPutImage), (cwCopyArea), (cwCopyPlane), (cwPolyPoint),
+ (cwPolylines), (cwPolySegment), (cwPolyRectangle), (cwPolyArc),
+ (cwFillPolygon), (cwPolyFillRect), (cwPolyFillArc), (cwPolyText8),
+ (cwPolyText16), (cwImageText8), (cwImageText16), (cwImageGlyphBlt),
+ (cwPolyGlyphBlt), (cwPushPixels):
+ * programs/Xserver/composite/cw_render.c: (cwComposite),
+ (cwGlyphs):
+ * programs/Xserver/dix/colormap.c:
+ * programs/Xserver/dix/window.c: (SetWindowToDefaults):
+ * programs/Xserver/include/pixmapstr.h:
+ * programs/Xserver/include/scrnintstr.h:
+ * programs/Xserver/include/windowstr.h:
+ * programs/Xserver/mi/mi.h:
+ * programs/Xserver/mi/miinitext.c:
+ * programs/Xserver/mi/mivaltree.c:
+ (miRegisterRedirectBorderClipProc), (miComputeClips):
+ * programs/Xserver/render/picture.c: (PictureFindVisual),
+ (PictureInitIndexedFormats), (PictureInit), (SetPictureClipRegion):
+ * programs/Xserver/xfixes/region.c: (ProcXFixesExpandRegion),
+ (SProcXFixesExpandRegion):
+ * programs/Xserver/xfixes/xfixes.c: (XFixesNumberRequests):
+ * programs/Xserver/xfixes/xfixes.h:
+ * programs/Xserver/xfixes/xfixesint.h:
+
+2004-07-30 Eric Anholt <anholt@FreeBSD.org>
+
+ * include/extensions/Imakefile:
+ Install the new headers if the library is being built as well.
+
+2004-07-30 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/X11.tmpl:
+ * include/extensions/Imakefile:
+ * include/extensions/composite.h:
+ * include/extensions/compositeproto.h:
+ * include/extensions/xfixesproto.h:
+ * include/extensions/xfixeswire.h:
+ * lib/Imakefile:
+ * lib/Xcomposite:
+ * lib/Xdamage:
+ * lib/Xfixes:
+ Bring in Xfixes, Xdamage, and Xcomposite userland from xserver CVS:
+ - Update Xfixes headers to protocol major version 3.
+ - Add composite headers.
+ - Add libXfixes, libXdamage, and libXcomposite.
+ - Add imake glue for new libraries, but leave Composite off by default
+ until issues are resolved.
+
+2004-07-31 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/dmx/dmx.h:
+ * programs/Xserver/hw/dmx/dmxinit.c: (InitOutput),
+ (ddxProcessArgument):
+ * programs/Xserver/hw/dmx/dmxwindow.c: (dmxDestroyWindow):
+ * programs/Xserver/include/globals.h:
+ * programs/Xserver/mi/miinitext.c: (EnableDisableExtension):
+ * programs/Xserver/os/utils.c: (UseMsg), (ProcessCommandLine):
+ Add new extension enable/disable feature
+ Allow XTEST, XINERAMA, RENDER, XKB, XEVIE to be enabled/disabled
+ Update DMX to use new render disabling code
+
+2004-07-30 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/dix/cursor.c:
+ * programs/Xserver/dix/dispatch.c:
+ * programs/Xserver/dix/window.c:
+ - Add some XFIXES bits apparently missed in the DAMAGE-XFIXES merge
+ - Add missing XCSECURITY ifdef.
+ - Sync some whitespace to xserver CVS and surrounding style.
+
+2004-07-30 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/miext/damage/damage.c: (damageDamageRegion),
+ (damageRemoveDamage), (damageInsertDamage), (DamageCreate),
+ (DamageRegister), (DamageUnregister):
+ Integrate latest damage bits, including the addition of Composite code.
+ Includes REGION_INIT -> REGION_NULL necessary to avoid segfaults with
+ inlined region macros.
+
+2004-07-30 Stuart Kreitman <stuart dot kreitman at sun dot com>
+
+ * config/cf/X11.tmpl:
+ * programs/Xserver/Xext/Imakefile:
+ * programs/Xserver/Xext/xevie.c: (XevieExtensionInit), (XevieEnd),
+ (XevieClientStateCallback), (XevieServerGrabStateCallback):
+ * programs/Xserver/dix/events.c:
+ * programs/Xserver/mi/miinitext.c:
+
+ Bugzilla #947: Merge from XEVIE branch, turning on XEVIE, updating the xevie impl.
+
+2004-07-31 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/ddc/xf86DDC.c:
+ * programs/Xserver/hw/xfree86/ddc/xf86DDC.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_ddc.c:
+ * programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dac3026.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/riva_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ * programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c:
+ * programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h:
+ * programs/Xserver/hw/xfree86/vgahw/vgaHW.c:
+ * programs/Xserver/hw/xfree86/vgahw/vgaHW.h:
+ Change several LoaderSymbol calls introduced by the bug #400 patch to
+ *Weak() resolver functions.
+
+2004-07-30 Eric Anholt <anholt@FreeBSD.org>
+
+ * lib/Xt/Composite.c:
+ * lib/Xt/Composite.h:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_video.c:
+ (SMI_BuildEncodings), (SetAttrSAA7111):
+ Rename some COMPOSITE macros and enums to avoid conflicting with the
+ COMPOSITE extension's new macro. These appear to only be used
+ internally.
+
+2004-07-31 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/GL/glx/single2.c:
+ Fix compiler warning
+
+2004-07-31 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo.h:
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_2070.c:
+ (Neo2070AccelInit):
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_2097.c:
+ (Neo2097AccelInit):
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_2200.c:
+ (Neo2200AccelInit):
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c:
+ (NEOPreInit), (NEOScreenInit), (neoModeInit):
+ Adding experimental pseudocolor overlay stuff to NeoMagic
+ driver.
+
+2004-07-30 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/Imakefile:
+ * programs/Xserver/hw/darwin/quartz_1.3 removed all files:
+ Remove unused, unsupported, and broken code for Mac OS X 10.0.
+
+2004-07-30 HUI YU <hyu@ati.com>
+
+ reviewed by: <Kevin Martin>
+
+ * programs/Xserver/hw/xfree86/common/xf86PciInfo.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/atichip.c: (ATIChipID):
+ * programs/Xserver/hw/xfree86/drivers/ati/atichip.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineReset), (RADEONEngineRestore):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c:
+ (RADEONAccelInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_bios.c:
+ (RADEONGetBIOSInfo), (RADEONGetConnectorInfoFromBIOS),
+ (RADEONGetClockInfoFromBIOS), (RADEONGetLVDSInfoFromBIOS),
+ (RADEONGetHardCodedEDIDFromBIOS), (RADEONGetTMDSInfoFromBIOS):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONEntPriv), (RADEONDisplayDDCConnected),
+ (RADEONCrtIsPhysicallyConnected), (RADEONGetPanelInfoFromReg),
+ (RADEONGetLVDSInfo), (RADEONGetTMDSInfo), (RADEONGetPanelInfo),
+ (RADEONGetClockInfo), (RADEONQueryConnectedMonitors),
+ (RADEONSetFBLocation), (RADEONGetVRamType), (RADEONPreInitConfig),
+ (RADEONValidateMergeModes), (RADEONPreInit),
+ (RADEONRestoreCommonRegisters), (RADEONRestoreCrtcRegisters),
+ (RADEONRestoreCrtc2Registers), (RADEONRestoreFPRegisters),
+ (RADEONRestorePLLRegisters), (RADEONSaveCrtcRegisters),
+ (RADEONInitDispBandwidth), (RADEONInitCrtcRegisters),
+ (RADEONInitCrtc2Registers), (RADEONInitFPRegisters),
+ (RADEONFreeScreen), (RADEONDacPowerSet),
+ (RADEONDisplayPowerManagementSet):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_macros.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c:
+ (RADEONProbe):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (RADEONDisplayVideo):
+ Add support for new Radeon chips:
+ R420/M18, R423, RV370/M22, RV380/M24, RS300.
+ Add special handlings for DELL triple-head server (RV100).
+ Misc. bug fixes for flat panel, host aperture, etc (Bug #946)
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/Imakefile:
+ Fix build on s390/s390x platforms.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Cursor.c:
+ (xf86SwitchMode):
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (InitOutput):
+ * programs/Xserver/hw/xfree86/common/xf86RandR.c:
+ (xf86RandRGetInfo), (xf86RandRSetMode), (xf86RandRSetConfig),
+ (xf86RandRInit):
+ * programs/Xserver/hw/xfree86/common/xf86str.h:
+ Add support for on-the-fly screen rotation when supported by
+ hardware (Aron Plattner).
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/fb/Imakefile:
+ * programs/Xserver/fb/fbpseudocolor.c: (xxUpdateWindowImmediately),
+ (xxGetBaseColormap), (xxCreateScreenResources), (xxCloseScreen),
+ (xxMyVisual), (xxInitColormapDummy), (xxInitColormapPrivate),
+ (xxCreateColormap), (xxCmapInstalled), (xxInstalledCmapDelete),
+ (xxDestroyColormap), (xxComputeCmapShift), (xxStoreColors),
+ (xxInstallColormap), (xxUninstallColormap),
+ (xxListInstalledColormaps), (xxCreateWindow), (xxWalkChildren),
+ (xxPickMyWindows), (xxCopyWindow), (xxWindowExposures),
+ (xxPaintWindow), (xxCopyPseudocolorRegion),
+ (xxUpdateCmapPseudocolorRegion), (xxGetWindowRegion),
+ (xxUpdateRegion), (xxUpdateFb), (xxBlockHandler),
+ (xxWakeupHandler), (xxSetup), (xxCreateGC), (xxValidateGC),
+ (xxDestroyGC), (xxChangeGC), (xxCopyGC), (xxChangeClip),
+ (xxCopyClip), (xxDestroyClip), (xxFillSpans), (xxSetSpans),
+ (xxPutImage), (xxCopyArea), (xxCopyPlane), (xxPolyPoint),
+ (xxPolylines), (xxPolySegment), (xxPolyRectangle), (xxPolyArc),
+ (xxFillPolygon), (xxPolyFillRect), (xxPolyFillArc), (xxPolyText8),
+ (xxPolyText16), (xxImageText8), (xxImageText16), (xxImageGlyphBlt),
+ (xxPolyGlyphBlt), (xxPushPixels), (xxComposite), (xxGlyphs),
+ (xxPrintVisuals):
+ * programs/Xserver/fb/fbpseudocolor.h:
+ * programs/Xserver/hw/xfree86/xaa/Imakefile:
+ * programs/Xserver/hw/xfree86/xaa/xaaWrapper.c:
+ (xaaWrapperCreateScreenResources), (xaaWrapperCloseScreen),
+ (xaaWrapperCreateWindow), (xaaWrapperCopyWindow),
+ (xaaWrapperWindowExposures), (xaaWrapperPaintWindow),
+ (xaaWrapperCreateColormap), (xaaWrapperDestroyColormap),
+ (xaaWrapperStoreColors), (xaaWrapperInstallColormap),
+ (xaaWrapperUninstallColormap), (xaaWrapperListInstalledColormaps),
+ (xaaSetupWrapper), (xaaWrapperPreCreateGC), (xaaWrapperCreateGC),
+ (xaaWrapperValidateGC), (xaaWrapperDestroyGC),
+ (xaaWrapperChangeGC), (xaaWrapperCopyGC), (xaaWrapperChangeClip),
+ (xaaWrapperCopyClip), (xaaWrapperDestroyClip),
+ (xaaWrapperFillSpans), (xaaWrapperSetSpans), (xaaWrapperPutImage),
+ (xaaWrapperCopyArea), (xaaWrapperCopyPlane), (xaaWrapperPolyPoint),
+ (xaaWrapperPolylines), (xaaWrapperPolySegment),
+ (xaaWrapperPolyRectangle), (xaaWrapperPolyArc),
+ (xaaWrapperFillPolygon), (xaaWrapperPolyFillRect),
+ (xaaWrapperPolyFillArc), (xaaWrapperPolyText8),
+ (xaaWrapperPolyText16), (xaaWrapperImageText8),
+ (xaaWrapperImageText16), (xaaWrapperImageGlyphBlt),
+ (xaaWrapperPolyGlyphBlt), (xaaWrapperPushPixels),
+ (xaaWrapperComposite), (xaaWrapperGlyphs), (XAASync):
+ * programs/Xserver/hw/xfree86/xaa/xaaWrapper.h:
+ An experimental pseudocolor emulation layer.
+ Not fully completed, currently only works for 16bpp.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Helper.c:
+ (xf86SetDefaultVisual):
+ removing some unnecessary restricitons on the allowed visuals.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_BltHiQV.h:
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_accel.c:
+ (AccelInit), (Sync), (SetupForCPUToScreenColorExpandFill),
+ (ReadPixmap):
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_cursor.c:
+ (CHIPSLoadCursorImage):
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c:
+ (chipsPreInitHiQV), (CHIPSScreenInit), (chipsModeInitHiQV),
+ (chipsMapMem):
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.h:
+ Improved BE support in C&T driver (Rob Taylor, Jean-Laurent Gazelle).
+ (Code adapted Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ (I810ScreenInit):
+ Do I810EmitFlush() during screen init to make sure 2D engine is
+ in a sane state (Peter Kunzmann).
+
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/drivers/savage/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_bci.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_cursor.c:
+ (SavageHWCursorInit), (SavageLoadCursorImage),
+ (SavageSetCursorColors):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavagePreInit), (SavageLeaveVT), (SavageWriteMode),
+ (SavageScreenInit), (SavageInternalScreenInit), (SavageModeInit),
+ (SavageCloseScreen), (SavageSaveScreen), (SavageAdjustFrame),
+ (SavageSwitchMode), (SavageLoadPalette), (SavageUpdateKey),
+ (SavageLoadPaletteSavage4):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.c:
+ (SavageInitSecondaryStreamOld), (SavageInitSecondaryStreamNew),
+ (SavageInitSecondaryStream), (SavageInitStreamsOld),
+ (SavageInitStreamsNew), (OverlayParamInit),
+ (InitStreamsForExpansion), (SavageStreamsOn), (SavageStreamsOff):
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_streams.h:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_video.c:
+ (savageOUTREG), (SavageClipVWindow), (SavageInitVideo),
+ (SavageStopVideo), (SavageSetBlend), (SavageDisplayVideoOld),
+ (SavageDisplayVideoNew), (SavagePutImage), (SavageStopSurface),
+ (SavageInitOffscreenImages):
+ Add pseudocolor overlay mode. Leave streams engine running at
+ all times to prevent artefacts during video playback.
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (SavageScreenInit)
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_vbe.c:
+ (SavageSetTextMode), (SavageSetVESAMode), (SavageGetDevice),
+ (SavageGetBIOSModes):
+ Fixed VBE mode list code to work together with reading DDC
+ data using VBE functions.
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ (ShadowWait), (WaitQueue3D), (WaitQueue4), (WaitQueue2K),
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ (SavageInitAccel), (SavageHelpPatternROP), (SavageHelpSolidROP),
+ (SavageSubsequentScreenToScreenCopy), (SavageSetupForSolidFill),
+ (SavageSetupForScreenToScreenColorExpand),
+ (SavageSetupForCPUToScreenColorExpandFill),
+ (SavageSubsequentScanlineCPUToScreenColorExpandFill),
+ (SavageSetupForMono8x8PatternFill),
+ (SavageSubsequentMono8x8PatternFillRect):
+ Fixed data types to muffle compiler.
+
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_image.c:
+ (SavageSubsequentImageWriteRect):
+ Fixed requested size of FIFO for image writes. Fixes temporary
+ lockups.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/dix/privates.c:
+ * programs/Xserver/hw/xfree86/common/xf86cmap.c:
+ (xf86HandleColormaps), (CMapInitDefMap):
+ * programs/Xserver/include/screenint.h:
+ * programs/Xserver/lbx/lbxcmap.c: (LbxDefCmapPrivInit):
+ Adding a colormap index to the InitColormapPrivate() func
+ call. Without it it was completely useless.
+ * programs/Xserver/hw/xfree86/common/xf86cmap.c:
+ (CMapInstallColormap):
+ test if colormap with index really exists in the list of
+ installed maps before using it.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * lib/xtrans/Xtransutil.c: (trans_mkdir):
+ fail hard if socket directories cannot be chowned to root or
+ chmod'ed to the requested mode if 'sticky' bit is requested for
+ this directory instead of just print a warning that will remain
+ unnoticed most of the times.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86DPMS.c: (DPMSClose):
+ * programs/Xserver/hw/xfree86/common/xf86Events.c: (xf86VTSwitch):
+ * programs/Xserver/hw/xfree86/common/xf86Init.c: (AbortDDX):
+ Set DPMS to ON when VT switching away or shutting down the server.
+ Failing to do this may leave the text console blank.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c:
+ (xf86ExtendedInitInt10), (MapCurrentInt10):
+ Improved error messages.
+ * programs/Xserver/hw/xfree86/os-support/linux/int10/x86emu/Imakefile:
+ build fixes for AMD64.
+ * programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c:
+ (xf86shmget), (xf86shmat), (xf86shmdt), (xf86shmctl):
+ Made shm* functions in the libc_wrapper more standard conformant
+ by setting errno correctly.
+ * programs/Xserver/hw/xfree86/vbe/vbe.c: (VBEExtendedInit):
+ Use xf86ExendedInitInt10() in VBEExtendedInit() to be able to
+ pass flags.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/GL/dri/dri.c:
+ * programs/Xserver/GL/dri/xf86dri.c:
+ Fix static build.
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c:
+ (TweakMemorySize):
+ add i845 to the list of chips that allow memory size tweaking.
+
+2004-07-30 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/fb/fb.h:
+ * programs/Xserver/fb/fballpriv.c:
+ * programs/Xserver/fb/fboverlay.c:
+ * programs/Xserver/fb/fboverlay.h:
+ * programs/Xserver/hw/xfree86/drivers/apm/apm_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/apm/apm_funcs.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/atifillin.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atifillin.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/r128_probe.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_ddc.c:
+ * programs/Xserver/hw/xfree86/drivers/cirrus/cir_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c:
+ * programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dac3026.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_storm.c:
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx1_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx2_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/riva_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/nv/riva_xaa.c:
+ * programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/s3virge/s3v_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/savage/savage_image.c:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis300_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis310_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/tga/tga_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/tga/tga_line.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/blade_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/image_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/trident/xp_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/vesa/vesa.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_driver.c:
+ * programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c:
+ * programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h:
+ * programs/Xserver/hw/xfree86/xaa/xaaFallback.c:
+ * programs/Xserver/hw/xfree86/xaa/xaaInit.c:
+ * programs/Xserver/hw/xfree86/xaa/xaaROP.c:
+ * programs/Xserver/hw/xfree86/xaa/xaalocal.h:
+ * programs/Xserver/hw/xfree86/xaa/xaarop.h:
+ * programs/Xserver/hw/xfree86/xaa/xaawrap.h:
+ * programs/Xserver/hw/xfree86/xf1bpp/mfbmap.h:
+ * programs/Xserver/hw/xfree86/xf4bpp/mfbbres.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/mfbbresd.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/mfbfillarc.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/mfbhrzvert.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/mfbimggblt.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/mfbline.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/mfbzerarc.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/ppcArea.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/ppcGC.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/ppcIO.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/ppcPixFS.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/ppcPntWin.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/ppcPolyPnt.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/ppcWinFS.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/ppcWindow.c:
+ * programs/Xserver/hw/xfree86/xf4bpp/vgaGC.c:
+ * programs/Xserver/hw/xfree86/xf8_16bpp/cfb8_16.h:
+ * programs/Xserver/hw/xfree86/xf8_16bpp/cfbscrinit.c:
+ * programs/Xserver/hw/xfree86/xf8_32bpp/cfb8_32.h:
+ * programs/Xserver/hw/xfree86/xf8_32bpp/cfbscrinit.c:
+ * programs/Xserver/hw/xfree86/xf8_32wid/cfb8_32wid.h:
+ * programs/Xserver/hw/xfree86/xf8_32wid/cfbscrinit.c:
+ * programs/Xserver/mfb/maskbits.c:
+ * programs/Xserver/mfb/maskbits.h:
+ * programs/Xserver/mfb/mfb.h:
+ * programs/Xserver/mfb/mfbscrinit.c:
+ Bug #400 (partial): Driver fixes for the dlloader. When using
+ dlloader, all framebuffer formats except cfb and the overlay modes
+ should work, and r128 and radeon need to be loaded from the ati
+ driver (both issues to be fixed soon). Tested on i740, s3virge,
+ mach64, tdfx, vesa, and vga drivers. elfloader users shouldn't be
+ affected.
+
+2004-07-30 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/miext/rootless/rootless.h:
+ * programs/Xserver/miext/rootless/rootlessCommon.c:
+ * programs/Xserver/miext/rootless/rootlessCommon.h:
+ * programs/Xserver/miext/rootless/rootlessWindow.c:
+ * programs/Xserver/hw/darwin/quartz/Preferences.h:
+ * programs/Xserver/hw/darwin/quartz/Preferences.m:
+ * programs/Xserver/hw/darwin/quartz/XServer.h:
+ * programs/Xserver/hw/darwin/quartz/XServer.m:
+ * programs/Xserver/hw/darwin/quartz/pseudoramiX.c:
+ * programs/Xserver/hw/darwin/quartz/pseudoramiX.h:
+ * programs/Xserver/hw/darwin/quartz/quartz.c:
+ * programs/Xserver/hw/darwin/quartz/quartz.h:
+ * programs/Xserver/hw/darwin/quartz/quartzCocoa.m:
+ * programs/Xserver/hw/darwin/quartz/quartzCommon.h:
+ * programs/Xserver/hw/darwin/quartz/cr/crScreen.m:
+ * programs/Xserver/hw/darwin/quartz/fullscreen/fullscreen.c:
+ * programs/Xserver/hw/darwin/quartz/xpr/xprScreen.c:
+ Merge many XDarwin improvements:
+ - Fix launch of X clients by double clicking in the Finder when
+ there is a space in the path (Torrey T. Lyons).
+ - Interpret scroll wheel mouse events correctly when shift is
+ held down (Benjamin Burke).
+ - Add option to always use Mac command key equivalents
+ (John Harper and Torrey T. Lyons).
+ - Add support for dynamic screen configuration changes in rootless
+ mode (John Harper and Torrey T. Lyons).
+ - Add documentation on generic rootless layer (Torrey T. Lyons).
+
+2004-07-30 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * xc/config/cf/darwin.cf:
+ * xc/programs/Xserver/Imakefile:
+ * xc/programs/Xserver/hw/darwin/darwin.c:
+ * xc/programs/Xserver/hw/darwin/Imakefile:
+ * xc/programs/Xserver/hw/darwin/darwinXinput.c:
+ Add initial Xinput support for XDarwin (Greg Parker).
+
+2004-07-30 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/hw/darwin/iokit/xfIOKit.c:
+ Make XDarwin not default to StaticColor on ix86 (Shantonu Sen).
+
+2004-07-30 Egbert Eich <eich-at-pdx-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c:
+ (TweakMemorySize), (I830BIOSPreInit):
+ Removed bugs on TweakMemorySize() which prevented it from
+ working at all.
+ * Initialized last element of BIOS version number string
+ to 0 to avoid random problems.
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.c:
+ (handlePciBIOS):
+ Write back original value to BIOS Base register for the
+ case where function failed.
+
+2004-07-30 Egbert Eich <eich-at-pdx-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c:
+ (TweakMemorySize), (I830BIOSPreInit):
+ Removed bugs on TweakMemorySize() which prevented it from working
+ at all.
+ * Initialized last element of BIOS version number string to 0
+ to avoid random problems.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * lib/xtrans/Xtransutil.c: (ConvertAddress):
+ Fixed typo in a comment.
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:
+ Deleted bogus comment.
+ * programs/Xserver/hw/xfree86/os-support/shared/sigio.c:
+ (xf86BlockSIGIO), (xf86UnblockSIGIO):
+ Added debugging support.
+
+2004-07-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c:
+ (chipsPreInitHiQV):
+ Fixed log messages.
+
+2004-07-30 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ * xc/programs/Xserver/Xprint/etc/init.d/Imakefile
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint.cpp
+ Bugzilla #940: Filter /etc/init.d/xprint throught CPP/|MakeScriptFromCpp()|' to
+ allow platform-specific customisation.
+
+2004-07-30 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/hw/dmx/config/Imakefile:
+ Fix BuildServersOnly build
+
+2004-07-30 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/GL/dri/dri.c:
+ * programs/Xserver/GL/dri/xf86dri.c:
+ * programs/Xserver/GL/glx/single2.c: (DoGetString):
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ Fix "DoLoadableServer NO" build
+
+2004-07-29 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ Bugzilla #937: /etc/init.d/xprint should clear some environment
+ variables.
+
+2004-07-29 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * xc/lib/GL/apple/Imakefile:
+ * lib/GL/apple/dri_dispatch.c:
+ * lib/GL/apple/dri_dispatch.defs:
+ * lib/GL/apple/dri_dispatch.h:
+ Fix building libGL with AppleDRI support on Mac OS X 10.2.3 and
+ newer. Improve the CGL dispatch table for indirect contexts.
+
+2004-07-29 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/dix/dixutils.c: (AlterSaveSetForClient):
+ Cleaned up code since client's saveSet is no longer defined
+ as a pointer* (forgot one change in previous check-in)
+
+2004-07-29 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * programs/Xserver/Imakefile:
+ Use LibraryTargetName when not building a loadable server
+
+ * programs/Xserver/Xext/shape.c:
+ * programs/Xserver/include/window.h:
+ Move extern function declarations to window.h
+
+ * programs/Xserver/dix/dixutils.c: (AlterSaveSetForClient):
+ * programs/Xserver/dix/window.c:
+ Cleaned up code since client's saveSet is no longer defined
+ as a pointer*
+
+ * programs/Xserver/include/dix.h:
+ Added externs back in
+
+ * programs/Xserver/miext/damage/damage.c:
+ Change #if to #ifdef to fix compiler warning
+
+ * programs/Xserver/render/picturestr.h:
+ Add function declarations that were inadvertently removed
+ by previous check in
+
+ * config/cf/dmx.cf:
+ Disable extensions that are not (yet) supported by DMX
+
+2004-07-28 Stuart Kreitman <stuart dot kreitman at sun dot com>
+
+ * include/extensions/Imakefile:
+ * programs/Xserver/Imakefile:
+ * programs/Xserver/Xext/Imakefile:
+ * programs/Xserver/Xext/shape.c:
+ * programs/Xserver/dix/dispatch.c: (Dispatch):
+ * programs/Xserver/dix/dixutils.c: (ISOLatin1ToLower),
+ (CompareISOLatin1Lowered), (AlterSaveSetForClient):
+ * programs/Xserver/dix/events.c:
+ * programs/Xserver/dix/window.c:
+ * programs/Xserver/include/Imakefile:
+ * programs/Xserver/include/cursorstr.h:
+ * programs/Xserver/include/dix.h:
+ * programs/Xserver/include/dixstruct.h:
+ * programs/Xserver/include/regionstr.h:
+ * programs/Xserver/include/window.h:
+ * programs/Xserver/mi/Imakefile:
+ * programs/Xserver/mi/miinitext.c:
+ * programs/Xserver/render/filter.c: (PictureGetFilterId),
+ (PictureAddFilter), (PictureSetDefaultFilters), (SetPictureFilter):
+ * programs/Xserver/render/picture.c: (PictureCreateDefaultFormats),
+ (PictureFindVisual), (PictureInitIndexedFormats),
+ (PictureMatchVisual), (PictureInit), (SetPictureClipRegion):
+
+ * programs/Xserver/xfixes, programs/Xserver/damageext
+ * programs/Xserver/miext/damage
+
+ Bugzilla #859: Merge from DAMAGE-XFIXES branch
+
+2004-07-28 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/lib/Xaw/Print.h
+ * xc/programs/xman/man.h
+ * xc/programs/xmore/printdialog.c
+ * xc/programs/xmore/printdialog.h
+ Bugzilla #938: Update XawPrintShell per feedback and review comments.
+
+2004-07-27 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/sunLib.tmpl:
+ Fix shared reqs for Xlibi18n, Xaw6 & Xmu for Solaris
+
+ * programs/Xserver/hw/xfree86/common/xf86Io.c:
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h:
+ Improved support for Compose and Kana Lock LED's on Sun keyboards
+
+ * programs/Xserver/hw/xfree86/os-support/sunos/sun_kbdEv.c:
+ Add event definitions for additional keys on Sun Japanese keyboards
+
+ * programs/Xserver/hw/xfree86/xf86config/xorgconfig.c:
+ VUID mouse protocol support for Solaris
+ Make default mouse message clearer on machines that use a default
+ other than /dev/mouse.
+
+2004-07-27 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/FreeBSD.cf
+ * xc/config/cf/Imake.tmpl
+ * xc/config/cf/NetBSD.cf
+ * xc/config/cf/linux.cf
+ Bugzilla #909: Disable build of PDF documents where GhostScript may
+ not work at build time.
+
+2004-07-27 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (RADEONSetOverlayGamma), (RADEONSetTransform), (RADEONResetVideo),
+ (RADEONAllocAdaptor), (RADEONSetupImageVideo),
+ (RADEONSetPortAttribute), (RADEONGetPortAttribute),
+ (RADEONDisplaySurface), (RADEONInitOffscreenImages):
+ - Add gamma correction support to the radeon video overlay
+
+2004-07-27 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * programs/Xserver/Xprint/ddxInit.c:
+ Fix Xprint build on Darwin.
+
+2004-07-27 Torrey T. Lyons <torrey@freedesktop.org>
+
+ * lib/GL/apple/Imakefile:
+ * lib/GL/apple/dri_dispatch.c:
+ * lib/GL/apple/dri_dispatch.defs:
+ * lib/GL/apple/dri_dispatch.h:
+ * lib/GL/apple/dri_driver.c:
+ * lib/GL/apple/dri_glx.c:
+ * lib/GL/apple/dri_glx.h:
+ * lib/GL/glx/Imakefile:
+ * lib/GL/glx/glxext.c:
+ * programs/Xserver/GL/apple/Imakefile:
+ * programs/Xserver/GL/apple/aglGlx.c:
+ * programs/Xserver/GL/apple/indirect.c:
+ * programs/Xserver/GL/glx/single2.c:
+ Fix XDarwin's broken build of libGL and server side GLX.
+
+2004-07-27 Rik Faith <faith(at)freedesktop.org>
+
+ * programs/Xserver/hw/dmx/dmxextension.c: (dmxDetachScreen):
+ * programs/Xserver/hw/dmx/input/dmxconsole.c:
+ (dmxConsoleDrawWindows), (dmxConsoleDraw), (dmxConsoleClearCursor),
+ (dmxConsoleCollectEvents), (dmxCloseConsole), (dmxConsoleInit):
+ When using DMX console input, make detached screens display as
+ grey (vs. white for attached and black for dead-space).
+
+2004-07-27 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/glxinfo/glxinfo.c
+ Bugzilla #934: Fix glxinfo that it can be build against
+ Sun's version of GL.
+
+2004-07-27 Alexander Gottwald <ago@freedesktop.org>
+
+ * config/cf/cygwin.cf:
+ added --enable-runtime-pseudo-reloc to ExtraLoadFlags
+ use make -C dir to step into subdirectories
+ define BourneShell as /bin/bash -e to have make stopping after a subdir
+ failed
+
+2004-07-27 Alexander Gottwald <ago@freedesktop.org>
+
+ * config/cf/cygwin.cf:
+ Merge latest changes from CYGWIN branch
+ * config/cf/cygwin.rules (MakeFonts):
+ Use find | xargs combination instead of simple shell globbing to prevent
+ commandline argument overflow
+
+2004-07-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/xdm/config/Imakefile:
+ Define an initial VT for {Net,Open}BSD on amd64.
+
+2004-07-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c:
+ (wsconsReadInput):
+ Fix a bug that caused an entire batch of events to be
+ thrown out when one of an unknown type is encountered.
+ (Ty Sarna, NetBSD).
+
+2004-07-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * lib/xkbui/Imakefile:
+ Define SoRev from SOXKBUIREV, not SOXKBFILEREV.
+
+2004-07-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * lib/X11/ConnDis.c: (_X11TransConnectDisplay):
+ * programs/xhost/xhost.c: (change_host), (get_hostname):
+ - remove remaining AMOEBA references.
+ * programs/Xserver/os/genalloca.c:
+ - remove unused file.
+
+2004-07-26 Alex Deucher <agd5f@yahoo.com>
+
+ reviewed by: <Ryan Underwood>
+
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_maven.h:
+ - add mga_maven.h; needed for mga maven support (Ryan Underwood)
+
+2004-07-26 Alex Deucher <agd5f@yahoo.com>
+
+ reviewed by: <Ryan Underwood>
+
+ * programs/Xserver/hw/xfree86/drivers/mga/mga.h:
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dac3026.c:
+ (MGA3026_i2cInit):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c:
+ (MGAG_ddc1Read), (MGAG_I2CGetBits), (MGAG_I2CPutBits),
+ (MGAG_DDC_P1_I2CPutBits), (MGAG_DDC_P2_I2CPutBits),
+ (MGAG_MAVEN_I2CPutBits), (MGAG_DDC_P1_I2CGetBits),
+ (MGAG_DDC_P2_I2CGetBits), (MGAG_MAVEN_I2CGetBits), (MGAG_i2cInit):
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c: (MGAdoDDC),
+ (MGAMavenRead):
+ - enable maven support for TV detection, DPMS, and DDC on crtc2
+ on G400 (Ryan Underwood)
+ (http://bugs.xfree86.org/show_bug.cgi?id=1098)
+ * programs/Xserver/hw/xfree86/i2c/xf86i2c.c: (xf86I2CBusInit):
+ * programs/Xserver/hw/xfree86/i2c/xf86i2c.h:
+ - expose I2CStart; needed for mga maven support (Ryan Underwood)
+
+2004-07-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * extras/Mesa/src/mesa/tnl/t_vertex_c.c:
+ Use __func__ instead of __FUNCTION__ on C99 compatible compilers,
+ fall back to nothing for compilers that aren't C99 or a new enough
+ gcc to fix build errors on systems not using gcc compilers.
+
+2004-07-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * programs/Xserver/hw/xfree86/doc/README.mouse:
+ * programs/Xserver/hw/xfree86/doc/sgml/mouse.sgml:
+ - Change xf86config to xorgconfig
+ - Update Solaris mouse support information
+
+2004-07-26 Alex Deucher <agd5f@yahoo.com>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineReset):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONDisplayDDCConnected), (RADEONGetBIOSParameters),
+ (RADEONLoadPalette), (RADEONScreenInit),
+ (RADEONRestoreFPRegisters), (RADEONRestorePLLRegisters),
+ (RADEONSaveFPRegisters), (RADEONInitCrtcRegisters),
+ (RADEONInitCrtc2Registers), (RADEONInitFPRegisters),
+ (RADEONSetDynamicClock):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c:
+ (RADEONSetTransform), (RADEONResetVideo), (RADEONSetPortAttribute):
+ - Add radeon DynamicClocks option
+ - add small clean ups from ati's last code drop
+ (typo_fixes, remove_fudge, laptop, xvfix)
+ * programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c:
+ (MGAWakeupHandler), (MGADRIScreenInit):
+ - Fix possible segfault (Ryan Underwood)
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_video.c:
+ (NEOInitVideo), (NEOPutVideo), (NEODisplayVideo):
+ - Add Xv support to pre-nm2160 neomagic chipsets (bug #321)
+
+2004-07-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+ * programs/xdm/Imakefile:
+ * programs/xdm/xdm.man:
+ Fix log file location in manual page.
+
+2004-07-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/input/elographics/xf86Elo.c:
+ - Use xf86RemoveEnabledDevice() in the DEVICE_OFF case too.
+ Fixes a lock-up after server reset.
+ - Call InitPtrFeedbackClassDeviceStruct() during DEVICE_INIT
+ phase, in order to avoid a segfault in the X server caused
+ by 'xset q'.
+
+2004-07-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+ * programs/xfs/difs/main.c: (main):
+ * programs/xfs/os/error.c: (InitErrors):
+ Fix opening of log file with '-user nobody'. Problem reported by
+ Oleg Safiullin and Mike Pechkin.
+
+2004-07-27 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/render/render.c: (ProcRenderCreateCursor):
+ remove extra ';' (Alan Hourihane, Keith Packard).
+
+2004-07-26 Adam Jackson <ajax@freedesktop.org>
+
+ * programs/Xserver/GL/glxmodule.c,
+ programs/Xserver/GL/apple/indirect.c,
+ programs/Xserver/GL/dri/dri.c,
+ programs/Xserver/GL/glx/glxext.c,
+ programs/Xserver/GL/glx/glxscreens.c,
+ programs/Xserver/GL/glx/glxserver.h,
+ programs/Xserver/GL/glx/glxutil.h,
+ programs/Xserver/GL/mesa/X/xf86glx.c,
+ programs/Xserver/GL/windows/indirect.c:
+ Bug #377: Make lib{glx,GLcore,dri} work when compiled as dlloader
+ modules.
+ * programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c,
+ programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,
+ programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ Bug #848: Clean up gatos notice messages.
+
+2004-07-26 Alexander Gottwald <ago@freedesktop.org>
+
+ * lib/Imakefile:
+ * lib/windows/Imakefile:
+ * lib/windows/WindowsWM-def.cpp:
+ * lib/windows/WindowsWM.man:
+ * lib/windows/windowswm.c:
+ * lib/windows/windowswm.h:
+ * lib/windows/windowswmstr.h:
+ Import lib/windows from CYGWIN branch.
+
+2004-07-26 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * config/cf/X11.tmpl:
+ Add LINTXLIBONLY macro to match lint library dependencies
+ Fix LinkHardCopyPS macro to work with Solaris make
+
+ * config/cf/sun.cf
+ Improved lint flags for the lint included with Sun compilers
+
+2004-07-26 Alexander Gottwald <ago@freedesktop.org>
+
+ * config/cf/cygwin.rules:
+ Bugzilla #921: link without linker definition file
+
+2004-07-26 Alexander Gottwald <ago@freedesktop.org>
+
+ * config/cf/X11.tmpl:
+ Bugzilla #912: Wraps linking of name.ps -> name.PS in an extra define
+ which is empty for CaseSensitiveFileSystem == NO
+ * doc/hardcopy/XKB/Imakefile:
+ Bugzilla #912: Test for CaseSensitiveFileSystem before linking
+ XKBlib.ps.gz -> XKBlib.PS.gz
+
+2004-07-24 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * programs/Xserver/hw/xfree86/input/mouse/mouse.c: (MouseProc):
+ * programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c:
+ (wsconsPreInit):
+ * programs/Xserver/hw/xfree86/os-support/xf86OSmouse.h:
+ Fix a problem with wsmouse driver loosing events on 64bit
+ architectures (XFree86 Bugzilla #1438, John Heasley).
+ "To fix this, I've added a mouse buffer (Xisb buffer) "scale"
+ value to the MouseDevPtr type. If set, it is used as
+ structure size of which we want space for a few."
+
+2004-07-24 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * config/cf/Imake.cf:
+ * config/cf/OpenBSD.cf:
+ * programs/Xserver/hw/xfree86/os-support/bsd/Imakefile:
+ * programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c:
+ (xf86OSInitVidMem), (xf86EnableIO), (xf86DisableIO), (amd64setWC),
+ (amd64undoWC):
+ * programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h:
+ Bugzilla #884: OpenBSD/amd64 support.
+
+2004-07-23 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/xorg.cf:
+ * programs/Xserver/hw/xfree86/drivers/via/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/via/via_dri.c:
+ - Remove unnecessary CppManTarget(via,) which produced multiple target
+ definition warnings.
+ - Change the VIA DDX to tell clients to look for unichrome_dri.so, the
+ module that X.Org distributes.
+ - Move the VIA DRI into DevelDRIDrivers because it is still insecure.
+ See: http://dri.sourceforge.net/IRC-logs/20040628.txt
+
+2004-07-22 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/xorg.cf:
+ * config/cf/xorgsite.def:
+ * lib/GL/mesa/drivers/dri/Imakefile:
+ * lib/GL/mesa/drivers/dri/unichrome/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiaccel.c:
+ (ATIInitializeAcceleration):
+ * programs/Xserver/hw/xfree86/drivers/ati/aticonfig.c:
+ (ATIProcessOptions):
+ * programs/Xserver/hw/xfree86/drivers/ati/aticonsole.c:
+ (ATISwitchMode), (ATIEnterVT), (ATILeaveVT):
+ * programs/Xserver/hw/xfree86/drivers/ati/atiload.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiload.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atilock.c: (ATIUnlock):
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64.c:
+ (ATIMach64PreInit), (ATIMach64SetDPMSMode):
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64accel.c:
+ (ATIMach64Sync), (ATIMach64SetupForScreenToScreenCopy),
+ (ATIMach64SubsequentScreenToScreenCopy),
+ (ATIMach64SetupForSolidFill), (ATIMach64SubsequentSolidFillRect),
+ (ATIMach64SetupForSolidLine),
+ (ATIMach64SubsequentSolidHorVertLine),
+ (ATIMach64SubsequentSolidBresenhamLine),
+ (ATIMach64SetupForMono8x8PatternFill),
+ (ATIMach64SubsequentMono8x8PatternFillRect),
+ (ATIMach64SetupForScanlineCPUToScreenColorExpandFill),
+ (ATIMach64SubsequentScanlineCPUToScreenColorExpandFill),
+ (ATIMach64SubsequentColorExpandScanline):
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64cursor.c:
+ (ATIMach64LoadCursorImage):
+ * programs/Xserver/hw/xfree86/drivers/ati/atimach64io.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atimisc.c: (ATISetup):
+ * programs/Xserver/hw/xfree86/drivers/ati/atioption.c:
+ * programs/Xserver/hw/xfree86/drivers/ati/atioption.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiregs.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/atiscreen.c:
+ (ATIMinBits), (ATIScreenInit), (ATICloseScreen):
+ * programs/Xserver/hw/xfree86/drivers/ati/atistruct.h:
+ - Add a new option, BuildDevelDRIDrivers, which controls whether
+ DevelDRIDrivers is non-empty. DevelDRIDrivers contains those drivers
+ aren't built by default either due to being unusable on that
+ architecture (but buildable for testing) or due to security concerns,
+ as in the mach64 and savage cases.
+ - Merge the Mach64 DDX's DRI support, under the XF86DRI_DEVEL define,
+ which is set only when BuildDevelDRIDrivers is set.
+ - Fix up of the sets of DRI drivers built for various architectures.
+ - Fix build of unichrome DRI driver, which is now enabled on x86.
+
+2004-07-22 Eric Anholt <anholt@FreeBSD.org>
+
+ * lib/GL/GL/Imakefile:
+ The i830 driver has been replaced by i915. Update this Imakefile block
+ that's very rarely used (if ever?) to avoid complaints about things
+ being undefined.
+
+2004-07-23 Alexander Gottwald <ago@freedesktop.org>
+
+ * programs/xphelloworld/xpxmhelloworld/Imakefile:
+ * programs/xphelloworld/xpawhelloworld/Imakefile:
+ Bugzilla #781: fix -lXprintUtil and -lXp references
+ Removed -L$(PROJECTROOT)/lib which breaks crosscompile builds. The
+ The extra libdir was wrong and the correct one was added with
+ $(MOTIFLIB)
+
+Thu Jul 22 20:03:11 2004 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * programs/Xserver/fb/fbfill.c (fbFill): Call MMX solid fill
+ routine when available.
+
+ * programs/Xserver/fb/fbpict.c (fbComposite): Call MMX operations
+ when available.
+
+ * config/cf/xorg.cf: New HasGcc34 macro
+
+ * programs/Xserver/fb/fbmmx.c: New file with many operations
+ implemented with MMX intrinsics, conditional on having GCC 3.4 on
+ i386.
+
+2004-07-22 Alexander Gottwald <ago@freedesktop.org>
+
+ * programs/xphelloworld/xphelloworld/Imakefile:
+ * programs/xphelloworld/xpsimplehelloworld/Imakefile:
+ * programs/xphelloworld/xpxthelloworld/Imakefile:
+ * programs/xplsprinters/Imakefile:
+ Bugzilla #781: fix -lXprintUtil and -lXp references
+
+2004-07-21 Eric Anholt <anholt@FreeBSD.org>
+
+ Imported new Mesa, DRM, and DRI sources as of 20040721 and resolved
+ conflicts.
+
+2004-07-21 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/FreeBSD.cf:
+ * config/cf/NetBSD.cf:
+ * config/cf/linux.cf:
+ Bugzilla #909: Remove HasGhostScript YES default from these .cfs, as
+ it's causing build failures for users on these platforms (not available,
+ or fails when processing files).
+
+2004-07-20 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/Imake.tmpl:
+ * lib/Xaw/Imakefile:
+ * programs/Xserver/hw/darwin/Imakefile:
+ * programs/Xserver/hw/xfree86/common/Imakefile:
+ * programs/Xserver/hw/xfree86/xf86config/Imakefile:
+ * programs/fonttosfnt/Imakefile:
+ * programs/proxymngr/Imakefile:
+ * programs/twm/Imakefile:
+ * programs/xmh/Imakefile:
+ * programs/xterm/Imakefile:
+ Remove the VENDOR_DEFINES from ALLDEFINES, as the quoting on
+ VENDOR_DEFINES was breaking some old imake software, and it really
+ doesn't seem like an appropriate define for all imake-using software.
+ Instead, add it to the DEFINES of those pieces that need it.
+
+2004-07-19 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ * xc/doc/man/misc/Imakefile
+ Bugzilla #899: Fixing Solaris builds bustage caused by the checkin
+ in bug #891.
+
+Tue Jul 20 19:38:06 2004 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * lib/X11/omGeneric.c (parse_fontdata): Set font_data->xlfd_data
+ to NULL after XFree(). (#837, patch from Daniel Berrange).
+
+Tue Jul 20 18:23:32 2004 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * config/cf/linux.cf: Use /dev/urandom on Linux.(#761).
+
+2004-07-20 Alexander Gottwald <ago@freedesktop.org>
+
+ * xc/programs/Xserver/xdmcp.c (get_addr_by_name):
+ Bugzilla #889: Bind -from address to port number 0 instead of 177
+
+2004-07-19 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/attributes.c
+ Bugzilla #893: Fixing the bug that Xprt did not honor ${LC_ALL}
+ when looking for model-config dirs.
+
+2004-07-19 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ * xc/doc/hardcopy/Imakefile
+ * xc/doc/hardcopy/XPRINT/Imakefile
+ Bugzilla #891: Fixing some installation problems with hardcopy
+ dirs.
+
+2004-07-18 Rik Faith <faith(at)freedesktop.org>
+
+ * programs/Xserver/hw/dmx/dmxextension.c:
+ (dmxAdjustCursorBoundaries):
+ Addition of console input after removal of core backend input that
+ is not on screen 0 can cause a segfault. Fix by preventing
+ reinitialization of detached inputs.
+ * programs/Xserver/hw/dmx/dmxgcops.c: (dmxFindAlternatePixmap),
+ (dmxGetImage):
+ When Xinerama is active and screen 0 is detached, pixmaps for
+ XGetImage must be obtained from another screen.
+
+2004-07-18 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/ps/Ps.h
+ * xc/programs/Xserver/Xprint/ps/PsColor.c
+ * xc/programs/Xserver/Xprint/ps/PsGC.c
+ Bugzilla #858: Fixing the problem that clients cannot use the
+ TrueColor visual without calling |XInstallColormap();|.
+
+2004-07-17 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/FreeBSD.cf:
+ - Default to assuming that ports that can be built without the xorg
+ pieces being installed are installed before the xorg build begins.
+ #define HasStandardPorts NO can turn this behavior off. Also fixes
+ some freetype issues related to it looking in the wrong place.
+ - While here, remove some unnecessary #if nesting in threads.
+
+2004-07-17 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/FreeBSD.cf:
+ Wrap CcCmd and CplusplusCmd in #ifndef to kill lots of warnings when
+ changing them in host.def (common for ccache).
+
+2004-07-17 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/X11.tmpl:
+ Be sure to set the DmxLibrary-related defines to NO if BuildDmxLibrary
+ is NO. Kills a lot of preprocessor warnings.
+
+2004-07-16 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/lib/xtrans/Xtrans.c:
+ Fix typo in debug message in MakeAllCLTSServerListeners
+ * xc/programs/Xserver/os/Imakefile:
+ Add $(GETPEER_DEFINES) to DEPEND_DEFINES for makedepend
+ * xc/programs/Xserver/os/access.c:
+ * xc/doc/specs/SIAddresses/localuser.txt:
+ Add "localuser" and "localgroup" access types to server-interpreted
+ authentication scheme.
+
+2004-07-15 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineRestore):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c:
+ (RADEONAccelInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (RADEONInit3DEngineForRender):
+ * programs/Xserver/hw/xfree86/drivers/via/via_memory.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_priv.h:
+ * programs/Xserver/hw/xfree86/drivers/via/via_swov.c:
+ * programs/Xserver/hw/xfree86/drivers/via/via_tuner.c:
+ Bugzilla #803,804: Fix build in the !XF86DRI case after DRI and
+ Radeon Render acceleration merges.
+
+2004-07-12 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/sun.cf
+ Bugzilla #862: Solaris performance improvements using some
+ "magic" compiler flags (-zlazyload -zcombreloc -xstrconst -xildoff
+ etc.)
+
+2004-07-12 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/Imakefile
+ Bugzilla #776: (Work-in-progress) Adding glue to setup
+ links for /etc/init.d/ scripts in Linux.
+
+2004-07-12 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/linux.cf
+ Bugzilla #824: Build fix for SuSE Linux
+
+2004-07-07 Eric Anholt <anholt@FreeBSD.org>
+
+ * Imakefile:
+ Bugzilla #478: Install xrender.pc (required by xcursor.pc).
+
+2004-07-07 Rik Faith <faith(at)freedesktop.org>
+
+ * programs/Xserver/hw/dmx/dmxinit.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxsingle.c:
+ * programs/Xserver/hw/dmx/glxProxy/glxvendor.c:
+ * programs/Xserver/hw/dmx/input/Imakefile:
+ * programs/Xserver/hw/dmx/input/dmxinputinit.c:
+ * programs/Xserver/hw/dmx/input/dmxsigio.c:
+ Bugzilla #817: Enable build under Solaris
+ (Thanks to Alan Coopersmith)
+
+2004-07-06 Kevin E. Martin <kem(at)freedesktop.org>
+
+ * config/cf/README:
+ * config/cf/X11.tmpl:
+ * config/cf/linux.cf:
+ * config/cf/xf86site.def:
+ * config/cf/xfree86.cf:
+ * config/cf/xorg.cf:
+ * config/cf/xorgsite.def:
+ * include/extensions/Imakefile:
+ * programs/Xserver/Imakefile:
+ Disable building DMX on OSs that have not been verified to build
+ correctly (Kevin Martin).
+
+ * programs/Xserver/Xext/dmx.c: (ProcDMXChangeScreensAttributes),
+ (ProcDMXChangeDesktopAttributes):
+ * programs/Xserver/hw/dmx/Imakefile:
+ * programs/Xserver/hw/dmx/dmxcb.c: (dmxConnectionBlockCallback):
+ * programs/Xserver/hw/dmx/dmxextension.c:
+ (dmxConfigureScreenWindow):
+ * programs/Xserver/hw/dmx/dmxinit.c: (InitOutput):
+ * programs/Xserver/hw/dmx/glxProxy/glxcmds.c: (MakeCurrent),
+ (CreateGLXPixmap), (__glXDoSwapBuffers):
+ Fix DMX build when Xinerama is not enabled (Kevin Martin).
+
+2004-07-06 Egbert Eich <eich(at)freedesktop.org>
+
+ * extras/Mesa/src/mesa/drivers/dri/i915/intel_context.h:
+ * extras/Mesa/src/mesa/drivers/dri/i915/intel_tris.c:
+ ifdef'ed some IA32-only assembler statements. Presently these
+ chipsets are IA32 only, anyway (Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/common/xf86Bus.c: (CheckGenericGA):
+ * programs/Xserver/hw/xfree86/os-support/bus/ia64Pci.c:
+ (ia64ScanPCIWrapper):
+ Disabling generic VGA testing for IA64 architectures.
+ Temporarily disabling support for ZX1 bus. This code is extremely
+ invasive and is executed as fallback without testing for a ZX1
+ chipset. It brings a SGI Altrix to a grinding halt. (Egbert Eich).
+
+2004-07-06 Egbert Eich <eich(at)freedesktop.org>
+
+ * config/cf/xorg.cf:
+ Separated Intel drivers from default DriDrivers to avoid building
+ them on IA64 (Egbert Eich).
+
+ * lib/Xdmcp/Wrap.h:
+ Fixed wrong function prototype (Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/common/xf86Bus.c: (CheckGenericGA):
+ Don't test for generic VGA on IA64 (Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/common/xf86pciBus.c:
+ Fixed a segfault when accessing a structure before verifying the
+ pointer exists (Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig), (RADEONDoAdjustFrame):
+ Added a showcache option for debugging (Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c:
+ (I810PreInit), (I810SwitchMode):
+ Increase default video RAM size to 16MB when DRI is enabled and
+ more than 128MB are available (Egbert Eich).
+ Fixed lockups during mode switch. Problem was introduced when
+ attempting to copy the behavior during LeaveVT()/EnterVT() but
+ but forgetting to call I810DRILeave() before I810DRIEnter().
+ The entire DRILeave()/Enter() scenario has been commented out
+ as it didn't seem to be necessary (Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c:
+ (TweakMemorySize), (I830BIOSPreInit), (I830BIOSScreenInit),
+ (I830BIOSEnterVT):
+ Fix TweakMemorySize() (tested with i855/i865) (Egbert Eich).
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.h:
+ increased MAX_DEVICES to 128 (Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/common/xf86Globals.c:
+ * programs/Xserver/hw/xfree86/os-support/bus/Pci.h:
+ * programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c:
+ (ix86PciSelectCfgmech):
+ Use OS provided PCI config space access as default method
+ (Egbert Eich).
+
+ * programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c:
+ (linuxPciOpenFile):
+ Added support for Linux 2.6 proc file format.
+
+ * programs/Xserver/hw/xfree86/vbe/vbe.c: (VBEExtendedInit),
+ (VBEGetVBEInfo):
+ Fixed unaligned accesses to pieces of the VBE info block.
+ VESA did not align elements to size (Egbert Eich).
+
+2004-07-06 Alexander Gottwald <ago@freedesktop.org>
+
+ * programs/xcalc/math.c: (bkspf)
+ Bugzilla #665: bugs in xcalc -rpn mode
+ decimal_point is a const char* not char. the patch uses strcmp instead
+ of plain char == char operator and allows decimal_point to be of any
+ length.
+ localeconv() is only called if X_LOCALE is _not_ defined
+
+2004-07-05 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/xdm/socket.c: (CreateWellKnownSockets):
+ XFree86 bugzilla #1376: xdm opens random tcp sockets
+
+ "Even when DisplayManager.requestPort is set to 0, xdm will open a
+ chooserFd tcp socket on all interfaces. This apparently cannot be
+ disabled by configuration and presents a possible security risk. Older
+ versions of xdm/socket.c appear to have checked and aborted if
+ request_port == 0, but the current one does not..."
+
+2004-07-04 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/dmx/Imakefile:
+ Can't have tabs starting lines not associated with a target.
+
+2004-07-04 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/FreeBSD.cf:
+ * config/cf/NetBSD.cf:
+ * config/cf/X11.tmpl:
+ * config/cf/host.def:
+ * config/cf/linux.cf:
+ * lib/dpstk/Imakefile:
+ * programs/xphelloworld/xpawhelloworld/Imakefile:
+ * programs/xphelloworld/xpxmhelloworld/Imakefile:
+ Bugzilla #757: Remove incorrect HasMotif YES defaults for linux and
+ BSDs. Also fix Motif imake goop to handle motif not being in /usr/X11R6
+ better.
+
+2004-07-03 Eric Anholt <anholt@FreeBSD.org>
+
+ * include/extensions/render.h:
+ Bugzilla #635: Correct the definition of CPLastBit to account for
+ ComponentAlpha, which may fix behavior of the server's
+ SetPictureToDefaults.
+
+2004-07-01 Alexander Gottwald <ago@freedesktop.org>
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i830_vtbl.c:
+ * xc/extras/Mesa/src/mesa/drivers/dri/i915/i915_vtbl.c:
+ #Bug 802: C variable declaration fix for old gcc in i915 code
+
+2004-06-29 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Imakefile
+ * xc/programs/Xserver/Xprint/Xprint.html
+ * xc/programs/Xserver/Xprint/Xprint.man
+ * xc/programs/Xserver/Xprint/Xprint.sgml
+ * xc/programs/xplsprinters/xplsprinters.html
+ * xc/programs/xplsprinters/xplsprinters.man
+ * xc/programs/xplsprinters/xplsprinters.sgml
+ * xc/programs/xprehashprinterlist/Imakefile
+ * xc/programs/xprehashprinterlist/xprehashprinterlist.c
+ * xc/programs/xprehashprinterlist/xprehashprinterlist.html
+ * xc/programs/xprehashprinterlist/xprehashprinterlist.man
+ * xc/programs/xprehashprinterlist/xprehashprinterlist.sgml
+ Bugzilla #810: Add small adminstration tool to rehash the list of available
+ printers on demand.
+
+2004-06-29 Alexander Gottwald <ago@freedesktop.org>
+ * lib/Xaw/AllWidgets.c, lib/Xaw/sharedlib.c:
+ #Bug 806: undefined reference to xawPrintShellWidgetClass in Xaw6 for
+ cygwin. Wrap references to xawPrintShellWidgetClass with #ifndef OLDXAW.
+
+2004-06-29 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/extras/Mesa/src/mesa/main/imports.h
+ Bugzilla #805: Build fix for AMD64,
+ patch by Stefan Dirsch <sndirsch@suse.de>
+
+2004-06-28 Nolan <xorg-nolan@sigbus.net>
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmware.c:
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmware.h:
+ * programs/Xserver/hw/xfree86/drivers/vmware/vmwarecurs.c:
+ Send cursor hotspot through the FIFO. This fixes host cursor.
+ Allow any bpp when 8BIT_EMULATION is set.
+ Save/restore the ID register.
+
+2004-06-28 Alan Coopersmith <alan.coopersmith@sun.com>
+ * lib/GL/glx/glx_pbuffer.c:
+ * lib/GL/glx/glxextensions.h:
+ Add GLX_ALIAS_VOID for GLX_ALIAS of functions with return type void
+ to fix builds with non-gcc compilers that refuse to let you do
+ return function_that_returns_void(...)
+ * programs/Xserver/hw/xfree86/os-support/shared/sigiostubs.c
+ Remove includes of xf86drm.h that break non-DRI builds
+
+2004-06-25 Alexander Gottwald <ago@freedesktop.org>
+ * programs/Xserver/randr/randr.c:
+ * programs/Xserver/randr/randrstr.h:
+ #Bug 780: add RRSetScreenConfig
+ * programs/Xserver/os/access.c:
+ #Bug 784: Ignore unconfigured interfaces with xdmcp
+ * config/cf/X11.tmpl programs/Imakefile:
+ #Bug 785: make build of xterm configurable
+ * include/Xpoll.h:
+ #Bug 786: make XFD_* macros respect FD_SETSIZE
+
+2004-06-24 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/XpConfig/C/print/attributes/document
+ * xc/programs/Xserver/XpConfig/C/print/models/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/CANONC3200-PS/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/CANONC3200-PS/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/CANONC3200-PS/fonts/Imakefile
+ Bugzilla #791: Adding special support for Canon C3200N
+
+2004-06-24 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Init.c
+ * xc/programs/Xserver/Xprint/spooler.c
+ Bugzilla #660: Fix for the issue that GetPrinterList does not
+ return printer descriptions on Solaris.
+ The patch implements a framework which allows
+ the printer enumerator scripts to pass additional printer
+ attributes to the information pool (currently only
+ "xp-printerattr.descriptor" is implemented).
+
+2004-06-22 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/attributes.c
+ Bugzilla #789: Workaround for the issue that Xprt may hang when
+ the CUPS spooler frontend sends messages to stdout.
+
+2004-06-21 Alexander Gottwald <ago@freedesktop.org>
+ * xc/programs/Xserver/Imakefile:
+ * xc/programs/Xserver/GL/Imakefile:
+ * xc/programs/Xserver/GL/glx/Imakefile:
+ * xc/extras/Mesa/include/GL/gl.h:
+ * xc/extras/Mesa/include/GL/internal/glcore.h:
+ * xc/lib/GL/glx/glxext.c:
+ * xc/programs/Xserver/GL/glx/single2.c:
+ #Bug 782: Merge native OpenGL for Windows from CYGWIN branch
+ * xc/programs/Xserver/hw/xwin:
+ * xc/config/cf/cygwin.cf:
+ * xc/config/cf/cygwin.tmpl:
+ * xc/config/cf/cygwin.rules:
+ #Bug 777: Merge from CYGWIN branch
+ * xc/programs/Xserver/include/dix.h:
+ * xc/programs/Xserver/dix/dispatch.c:
+ * xc/programs/Xserver/hw/vfb/InitOutput.c:
+ * xc/programs/Xserver/hw/xnest/Init.c:
+ * xc/programs/Xserver/Xprint/ddxInit.c:
+ #Bug 778: add ddxBeforeReset
+ * xc/programs/Xserver/fb/fb.h:
+ * xc/programs/Xserver/miext/rootless/Imakefile:
+ * xc/programs/Xserver/miext/rootless/rootlessConfig.h:
+ #Bug 783: rootless patches for cygwin
+ * xc/programs/glxgears/Imakefile:
+ * xc/programs/xedit/Imakefile:
+ * xc/programs/xlogo/Imakefile:
+ * xc/programs/xman/Imakefile:
+ * xc/programs/xmore/Imakefile:
+ #Bug 781: Fix -lXprintUtil and -lXp references
+
+2004-06-20 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/XpConfig/C/print/attributes/document
+ Bugzilla #772: Switch default resolution from 300DPI to 600DPI.
+
+2004-06-19 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon.man:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c:
+ (RADEONEngineRestore):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c:
+ (RADEONAccelInit):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c:
+ (RADEONEnterServer):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ (RADEONPreInitConfig), (RADEONBlockHandler), (RADEONScreenInit),
+ (RADEONRestorePLLRegisters), (RADEONCloseScreen):
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h:
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c:
+ (RadeonGetTextureFormat), (F_TO_DW), (ATILog2),
+ (RADEONInit3DEngineForRender), (RemoveLinear), (RenderCallback),
+ (AllocateLinear), (RadeonInit3DEngine), (R100SetupTexture),
+ (R100SetupForCPUToScreenAlphaTexture),
+ (R100SetupForCPUToScreenTexture),
+ (R100SubsequentCPUToScreenTexture), (R200SetupTexture),
+ (R200SetupForCPUToScreenAlphaTexture),
+ (R200SetupForCPUToScreenTexture),
+ (R200SubsequentCPUToScreenTexture):
+ Bug #748:
+ - Add Render acceleration for Radeon 100 and 200-series cards, enabled
+ by default. Notable performance gains include 27fps in cairogears
+ instead of 6fps (compared to 50 with glitz), and my disks are now the
+ bottleneck in an ls -lR in gnome-terminal. Only supported in DRI mode
+ because the MMIO submission hangs the card so far, but the code is left
+ in because it may be supportable soon.
+ - Add xorg.conf options to disable Render acceleration and to force the
+ subpixel order in the server (Hui Yu).
+
+2004-06-19 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/Xsession.d/Imakefile
+ Bugzilla #765: Rename "92xprint-xpserverlist" to "92xprint-xpserverlist.sh"
+ to match the new RedHat policy for X11 session startup files.
+
+2004-06-19 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Init.c
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ * xc/programs/Xserver/os/utils.c
+ Bugzilla #764: Rework previous solution and make Xprt to default
+ to "-noreset" (the default of Solaris's version of Xprt)
+ and add a "-reset" option which can be used to restore the
+ default behaviour on demand.
+
+2004-06-19 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ Bugzilla #764: Start Xprt with option "-noreset" to get rid
+ of the problem that Xprt resets itself aftert each client
+ disconnect when there is only one client and no dtpdmd.
+ This solves at least the following problems:
+ - Font paths set after Xprt startup via "xset +fp ..." get lost
+ - Resources stored in the Xserver get lost
+ - Displaying a print dialog is awfully slow
+
+2004-06-17 Thomas Winischhofer <thomas@winischhofer.net>
+
+ * programs/Xserver/hw/xfree86/drivers/sis/300vtbl.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/310vtbl.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/init.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/init.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/init301.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/init301.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/initdef.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/oem300.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/oem310.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/osdef.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis.man:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis300_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis300_accel.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis310_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis310_accel.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis6326_video.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_accel.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_accel.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_common.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_cursor.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_cursor.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_dac.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_dac.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_dga.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_dri.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_driver.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_opt.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_regs.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_setup.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_shadow.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_shadow.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_vb.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_vb.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_vga.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/sis_video.c:
+ * programs/Xserver/hw/xfree86/drivers/sis/vgatypes.h:
+ * programs/Xserver/hw/xfree86/drivers/sis/vstruct.h:
+ Fix some 1400x1050 and 1600x1200 LCD panel modes
+ Fix Xv code (linebuffer size, minimum overlay size)
+ Add video blitter as second Xv adaptor (M650/651 and later)
+ Fix 1024x600 LCD panel support
+ Add hotplug support (including LCD)
+ Fix support for 661/741/760 (many changes)
+ Add support for many modes previously not supported for LCD
+ Add preliminary support for 340
+
+2004-06-16 Eric Anholt <anholt@FreeBSD.org>
+
+ * lib/XvMC/hw/i810/I810XvMC.c: (XvMCCreateContext),
+ (XvMCDestroyContext):
+ * lib/XvMC/hw/i810/I810XvMC.h:
+ * lib/XvMC/hw/i810/Imakefile:
+ * programs/Xserver/hw/xfree86/drivers/i810/Imakefile:
+ Mop-up from the DRI 20040613 import, taking care of some drm.h
+ header location and type changes.
+
+ The DRI commits were a merge from DRI-XFree86-4_3_99_12-merge to
+ DRI-trunk-20040613, bringing in Mesa 6.1 and the DRM from 20040613
+ as well.
+
+ Some of the notable things this brings in, off the top of my head:
+ - More OpenGL extensions
+ - MergedFB for Radeon (Dualhead DRI support on these cards)
+ - Many GLX fixes
+ - Working SiS DRI driver
+ - Major Radeon and R200 DRI driver updates
+ - fbconfigs support
+ - Beginnings of pbuffer support (indirect only, and only in specific
+ circumstances).
+
+ Does not bring in the Mach64 or Savage DRI support from these updtes,
+ due to security concerns that remain with these.
+
+2004-06-14 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xplsprinters/xplsprinters.c
+ * xc/programs/xplsprinters/xplsprinters.html
+ * xc/programs/xplsprinters/xplsprinters.man
+ * xc/programs/xplsprinters/xplsprinters.sgml
+ Bugzilla #742: Add a "-d" option to display only the printer
+ "name" and "description", avoiding the far more expensive query
+ done by "-l" (which opens a connection to the print server and
+ queries all printer attributes).
+
+2004-06-12 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/doc/man/general/X.man
+ Bugzilla #691: Manual page X(7) does not reference Xprt(1x),
+ xplsprinters(1x), etc.
+
+ * xc/config/cf/Imake.rules
+ Correct comment to match rule name for InstallDriverSDKObjectModule
+
+ * xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_kbd.c
+ Log results of ioctls to probe keyboard type & layout
+
+2004-06-12 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/imake/imake.c: (define_os_defaults):
+ Allow overriding of os version with OSREL env var on FreeBSD.
+ Used in the ports cluster and cross-version testing.
+
+2004-06-09 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ Bugzilla #734: Add a "diag" switch to /etc/init.d/xprint
+ to deliver some diagnostics information usefull for debugging
+ on the customer side.
+
+2004-06-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xedit/Xedit.ad
+ * xc/programs/xman/Imakefile
+ * xc/programs/xman/ScrollByL.c
+ * xc/programs/xman/ScrollByL.h
+ * xc/programs/xman/ScrollByLP.h
+ * xc/programs/xman/Xman.ad
+ * xc/programs/xman/buttons.c
+ * xc/programs/xman/defs.h
+ * xc/programs/xman/handler.c
+ * xc/programs/xman/man.h
+ * xc/programs/xman/misc.c
+ * xc/programs/xman/print.c
+ * xc/programs/xman/print.h
+ * xc/programs/xman/search.c
+ * xc/programs/xman/version.h
+ * xc/programs/xmore/XMore.ad
+ * xc/programs/xmore/print.c
+ * xc/programs/xmore/printdialog.c
+ Bugzilla #668: Add print support to xman.
+
+2004-06-02 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ Bugzilla #714: 'Fix' for Debian Bug#250887 ("/etc/init.d/xprint non-free") - the
+ reporter does not like the "All rights reserved"-string in the file
+ so lets get rid of it. License of all the Xprint sources is
+ MIT/X.org anyway.
+
+2004-05-31 Eric Anholt <anholt@FreeBSD.org>
+ * fonts/scaled/TTF/Imakefile:
+ VeraIt.ttf wasn't getting installed.
+
+2004-05-30 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xedit/Imakefile
+ * xc/programs/xedit/Xedit.ad
+ * xc/programs/xedit/commands.c
+ * xc/programs/xedit/hook.c
+ * xc/programs/xedit/ispell.c
+ * xc/programs/xedit/xedit.c
+ * xc/programs/xedit/xedit.h
+ * xc/programs/xmore/XMore.ad
+ * xc/programs/xmore/print.c
+ * xc/programs/xmore/print.h
+ * xc/programs/xmore/xmore.c
+ Bugzilla #695: Add print support to Xedit
+
+2004-05-30 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xmore/XMore.ad
+ * xc/programs/xmore/print.c
+ * xc/programs/xmore/print.h
+ * xc/programs/xmore/printdialog.c
+ * xc/programs/xmore/printdialog.h
+ * xc/programs/xmore/xmore.c
+ * xc/programs/xmore/xmore.h
+ Bugzilla #693: XMore and XawPrintDialog work-in-progress, fixing
+ various problems and adding framework for i18n.
+
+2004-05-29 Alan Coopersmith <alan.coopersmith@sun.com>
+ * programs/xkbcomp/rules/Imakefile:
+ Bugzilla #531: missing xfree86.lst (Grzegorz DÄ…browski <gdx@poczta.fm>)
+
+2004-05-29 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/FreeBSD.cf:
+ * config/cf/OpenBSD.cf:
+ * config/cf/OpenBSDLib.tmpl:
+ * config/cf/X11.tmpl:
+ * config/cf/os2.cf:
+ * config/cf/os2Lib.tmpl:
+ * lib/GL/GL/Imakefile:
+ * lib/Imakefile:
+ * lib/X11/Imakefile:
+ * lib/XThrStub/Imakefile:
+ * lib/XThrStub/UIThrStubs.c:
+ Bugzilla #640: Eliminate the XThrStub library and clean up/fix
+ threading defines on FreeBSD/OpenBSD.
+ Includes removal of lib/XThrStub/UIThrStubs.c after repocopy to
+ xc/lib/X11.
+
+2004-05-27 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/GL/Imakefile:
+ * programs/Xserver/Imakefile:
+ Bugzilla #573: Don't build DRI when server which uses this module
+ doesn't get built.
+
+2004-05-26 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ Bugzilla #456: Work around problems in RedHat's version of
+ chkconfig ("chkconfig sets priorities to -1")
+
+2004-05-26 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ Bugzilla #680: RFE: /etc/init.d/xprint should ensure that the CWD
+ is writeable for spooler applications (this works around some
+ versions of CUPS which seem to require that).
+
+2004-05-26 Egbert Eich <eich-at-freedesktop-org>
+
+ * extras/x86emu/include/x86emu.h:
+ * extras/x86emu/include/x86emu/fpu_regs.h:
+ * extras/x86emu/include/x86emu/regs.h:
+ * extras/x86emu/include/x86emu/types.h:
+ * extras/x86emu/src/x86emu/LICENSE:
+ * extras/x86emu/src/x86emu/debug.c: (x86emu_single_step):
+ * extras/x86emu/src/x86emu/decode.c: (X86EMU_exec),
+ (decode_rm00_address), (decode_rm01_address),
+ (decode_rm10_address):
+ * extras/x86emu/src/x86emu/fpu.c:
+ * extras/x86emu/src/x86emu/makefile:
+ * extras/x86emu/src/x86emu/makefile.linux:
+ * extras/x86emu/src/x86emu/ops.c: (x86emuOp_illegal_op),
+ (x86emuOp_aam), (x86emuOp_aad):
+ * extras/x86emu/src/x86emu/ops2.c:
+ * extras/x86emu/src/x86emu/prim_ops.c:
+ * extras/x86emu/src/x86emu/sys.c: (__uldq), (uldl), (uldw), (ustq),
+ (ustl), (ustw), (rdw), (rdl), (wrw), (wrl):
+ * extras/x86emu/src/x86emu/x86emu/debug.h:
+ * extras/x86emu/src/x86emu/x86emu/decode.h:
+ * extras/x86emu/src/x86emu/x86emu/prim_asm.h:
+ * extras/x86emu/src/x86emu/x86emu/prim_ops.h:
+ * extras/x86emu/src/x86emu/x86emu/x86emui.h:
+ * programs/Xserver/hw/xfree86/int10/Imakefile:
+ * programs/Xserver/hw/xfree86/int10/x86emu.c:
+ Updated x86emu and resynced with upsteam at Scitech.
+
+2004-05-26 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/drivers/ark/ark_driver.c:
+ (ARKPreInit):
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c:
+ (chipsPreInitHiQV), (CHIPSScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/dummy/dummy_driver.c:
+ (DUMMYPreInit):
+ * programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c:
+ (IMSTTPreInit):
+ * programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c:
+ (NEOScreenInit), (NEOValidMode):
+ * programs/Xserver/hw/xfree86/drivers/newport/newport_driver.c:
+ (NewportPreInit):
+ * programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c: (S3PreInit):
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi.h:
+ * programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c:
+ (SMI_MapMem), (SMI_InternalScreenInit):
+ * programs/Xserver/hw/xfree86/drivers/tseng/tseng_driver.c:
+ (TsengPreInit):
+ Fixing setting of physical framebuffer base for several drivers.
+ C&T driver: Fixed setting of minimal clocks for HiQV chipsets.
+ Neomagic driver: improved support for lowres double scan modes.
+
+2004-05-25 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.xml
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.html
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.txt
+ Update FAQ (Xprint_FAQ.xml) for new bugzilla URLs and rebuild
+ the HTML and plaintext versions.
+
+2004-05-25 Alan Coopersmith <alan.coopersmith@sun.com>
+ * xc/programs/Xserver/hw/xfree86/getconfig/xorg.cfg
+ Bugzilla #678: getconfig: file '/usr/X11R6/lib/X11/getconfig/xorg.cfg'
+ has bad signature
+ (Change "Xorg Project" to "Xorg Foundation" to match getconfig script)
+
+2004-05-24 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xdpyinfo/xdpyinfo.c
+ BugZilla #672: xdpyinfo should print information about print screens
+
+2004-05-24 Egbert Eich <eich-at-pdx-freedesktop-org>
+
+ * Imakefile:
+ * Makefile:
+ * config/cf/Imake.rules:
+ * config/cf/Imake.tmpl:
+ * config/cf/Library.tmpl:
+ * config/cf/X11.tmpl:
+ * lib/SM/sm_genid.c:
+ * lib/SM/sm_manager.c:
+ * lib/X11/xlibi18n/Xi18nLib.conf:
+ * lib/Xrandr/Imakefile:
+ * lib/Xrandr/Xrandrint.h:
+ * lib/Xtst/XRecord.c:
+ * lib/dps/Imakefile:
+ * lib/font/Speedo/spfont.c:
+ * lib/font/Type1/arith.c:
+ * lib/font/Type1/curves.c:
+ * lib/font/Type1/hints.c:
+ * lib/font/Type1/objects.c:
+ * lib/font/Type1/paths.c:
+ * lib/font/Type1/regions.c:
+ * lib/font/Type1/spaces.c:
+ * lib/font/Type1/t1funcs.c:
+ * lib/font/Type1/t1malloc.c:
+ * lib/font/Type1/t1stub.c:
+ * lib/font/fontfile/defaults.c:
+ * lib/oldX/XCrAssoc.c:
+ * lib/oldX/XDelAssoc.c:
+ * lib/oldX/XDestAssoc.c:
+ * lib/oldX/XDraw.c:
+ * lib/oldX/XLookAssoc.c:
+ * lib/oldX/XMakeAssoc.c:
+ * programs/Xserver/hw/xfree86/os-support/linux/drm/Imakefile:
+ * programs/fonttosfnt/Imakefile:
+ * programs/fonttosfnt/read.c:
+ * programs/xedit/lisp/Imakefile:
+ Fix build glitches when building modules independently using Imake.
+
+2004-05-24 Egbert Eich <eich-at-pdx-freedesktop-org>
+
+ * lib/Xrender/Xrender.c: (XRenderDepthCheckErrorHandler):
+ * programs/xstdcmap/xstdcmap.c: (main):
+ Muffle compiler warnings.
+ * programs/Xserver/hw/xfree86/common/xf86Configure.c:
+ (DoConfigure):
+ fix option name in log message.
+ * programs/xdm/xdmcp.c: (manage):
+ improve debugging messages.
+
+2004-05-24 Egbert Eich <eich-at-pdx-freedesktop-org>
+
+ * lib/X11/ConnDis.c: (GetAuthorization):
+ Improve 'uniqueness' of authorization cookie sent by client for
+ XDM-AUTHORIZATION-1. Old 'uniquness' consisted of the PID of the
+ client, a time stamp (in seconds) and a number obtained by starting
+ to count down from 0xffff. When a client did an XOpenDisplay() then
+ execv'ed a child and did XOpenDisplay() again within the same second,
+ the cookie was identical to the previous one (as the PID did not change
+ but the static 'count down' variable was reinitialized) and thus
+ refused by the server.
+
+2004-05-24 Egbert Eich <eich-at-pdx-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c:
+ (chipsClockSelect), (chipsClockFind), (chipsModeInitHiQV),
+ (chipsModeInitWingine), (chipsModeInit655xx):
+ * programs/Xserver/hw/xfree86/drivers/chips/ct_video.c:
+ (CHIPSSetupImageVideo), (CHIPSDisplayVideo), (CHIPSPutImage):
+ Fixed Segfault on video mode switching when pScrn->currentMode did
+ not contain a valid mode.
+ Fixed video overlays for double scan modes.
+
+2004-05-24 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Imakefile
+ * xc/programs/xmore/Imakefile
+ * xc/programs/xmore/print.c
+ * xc/programs/xmore/print.h
+ * xc/programs/xmore/printdialog.c
+ * xc/programs/xmore/printdialog.h
+ * xc/programs/xmore/printdialogprivates.h
+ * xc/programs/xmore/xmore.c
+ * xc/programs/xmore/xmore.h
+ * xc/programs/xmore/xmore.man
+ * xc/programs/xmore/xmore.sgml
+ BugZilla #611: Adding simple text viewer
+
+2004-05-23 Alan Coopersmith <alan.coopersmith@sun.com>
+ * xc/programs/xcalc/math.c
+ * xc/programs/xcalc/xcalc.man
+ Bugzilla #665: xcalc -rpn mode errors (Geoffery Coram)
+
+2004-05-22 Alan Coopersmith <alan.coopersmith@sun.com>
+ * xc/config/cf/sun.cf:
+ Set HasMkstemp to YES on Solaris
+
+ * xc/programs/xman/man.c
+ * xc/programs/xman/man.h
+ * xc/programs/xman/misc.c
+ * xc/programs/xman/vendor.h
+ Bugzilla #316: xman cannot display SGML man pages on Solaris
+
+2004-05-21 Alan Coopersmith <alan.coopersmith@sun.com>
+ * xc/doc/man/Imakefile
+ * xc/doc/man/Xp/*
+ Bugzilla #511: Contribute Solaris man pages for libXp
+
+2004-05-21 Alan Coopersmith <alan.coopersmith@sun.com>
+ * xc/lib/X11/util/makekeys.c:
+ Bugzilla #658: XStringToKeysym fails for Greek_IOTAdiaeresis
+ (Fixes VSW5 testcase XStringToKeysym-7 failure)
+
+2004-05-18 Eric Anholt <anholt@FreeBSD.org>
+
+ * config/cf/linux.cf:
+ * config/cf/xorg.cf:
+ * config/cf/xorgsite.def:
+ - Clean up xorg.cf by factoring out many common defines.
+ - Make the fbdev driver only build on Linux (fbdevhw is
+ just stubs on other OSes).
+ - Add AFB to AMD64 build, and include XF86OSCardDrivers.
+
+ Fixes Bugzilla #448,#449.
+
+2004-05-17 Eric Anholt <anholt@FreeBSD.org>
+
+ * lib/Xmu/EditresCom.c:
+ * lib/Xmu/WidgetNode.c: (XmuWnFetchResources):
+ Bugzilla #634: Remove Xaw header dependency from Xmu
+ library build.
+
+2004-05-16 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ BugZilla #633: RFE: /etc/init.d/xprint should source
+ /etc/X11/xfs/config for font paths.
+
+2004-05-16 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ BugZilla #451: /etc/init.d/xprint may output warnings when
+ /usr/share/fonts/ does not exist on a Linux installation.
+
+2004-05-16 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xdpyinfo/Imakefile
+ * xc/programs/xdpyinfo/xdpyinfo.c
+ BugZilla #623: RFE: "xdpyinfo" should have support for
+ XpExtension.
+
+2004-05-15 Alan Coopersmith <alan.coopersmith@sun.com>
+ * xc/programs/Xserver/fb/fb.h
+ * xc/programs/Xserver/fb/fboverlay.c
+ * xc/programs/Xserver/fb/fbscreen.c
+ - Change #ifdef for checking for old format miScreenInit to
+ FB_OLD_MISCREENINIT for easier portability to xservers with
+ updated screen structs but old function prototypes. Make
+ it automatically defined if FB_OLD_SCREEN is defined.
+ - Add _LP64 to list of #ifdefs for 64-bit platforms to support
+ 64-bit Solaris.
+
+2004-05-15 Alan Coopersmith <alan.coopersmith@sun.com>
+ * xc/programs/Xserver/hw/xfree86/xf86config/Imakefile
+ * xc/programs/Xserver/hw/xfree86/xf86config/xorgconfig.c
+ - Clean up server name changes from TM branch
+ - Set default XKB rules file name correctly
+ - Use default font path from Imake configuration for the default
+ font path in generated xorg.conf files.
+ - Use path variables from Imake configuration for paths to files,
+ in case vendor has configured them to install somewhere other than
+ the defaults.
+
+2004-05-15 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Init.c
+ BugZilla #622: RFE: Xprt default BIGREQUESTS extension buffer
+ size should be 8MB (to make |XpPutDocumentData()| happy and to
+ improve performance).
+
+2004-05-15 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xphelloworld/Imakefile
+ BugZilla #625: Work around build bustage which happens when
+ build machine has no Motif installed.
+
+2004-05-11 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/fb/fbcompose.c: (fbCombineMaskAlphaC),
+ (fbCombineAtopC), (fbCombineXorC), (fbCombineSaturateU),
+ (fbCombineSaturateC), (fbCombineDisjointGeneralC),
+ (fbCombineConjointGeneralC):
+ * programs/Xserver/fb/fbpict.c: (fbComposite):
+ * programs/Xserver/fb/fbpict.h:
+ Fix problems in render fb implementation found by rendercheck:
+ - fbCombineSaturate was pointed at fbCombineDisjointOver, instead of
+ fbCombineDisjointOverReverse as it should. Instead, point
+ fbCombineDisjointOverReverse at fbCombineSaturate (which is likely
+ to be faster).
+ - fix previously-unused fbCombineSaturate implementation.
+ - fbCombineMaskAlphaC was just a copy of fbCombineMaskValueC. Make
+ it do what it's supposed to (return a cs.alpha).
+ - fbCombineAtopC didn't invert the source alpha value.
+ - fix copy'n'paste errors in fbCombine(Dis/Con)jointGeneralC, also
+ source alpha wasn't treated in a component fashion.
+ - fbCompositeSrc_8888* didn't handle when the source lacks an alpha
+ channel. Rather than adding that and possilby slowing down the
+ (normal) alpha case, don't let x8r8g8b8/x8b8g8r8 Pictures be used
+ in fbCompositeSrc_8888* because Over with one of these is just Src.
+
+2004-05-11 Eric Anholt <anholt@FreeBSD.org>
+
+ * programs/Xserver/hw/xfree86/os-support/bus/Imakefile:
+ Fix server on FreeBSD/amd64.
+
+2004-05-09 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xlogo/Imakefile
+ * xc/programs/xlogo/XLogo.ad
+ * xc/programs/xlogo/print.c
+ * xc/programs/xlogo/print.h
+ * xc/programs/xlogo/xlogo.c
+ * xc/programs/xlogo/xlogo.h
+ BugZilla #581: Print support for XLogo
+
+2004-05-07 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/attributes.c
+ BugZilla #608 ("Can not print on Debian/CUPS due to error |Xprt_64:
+ lpr: unable to print file: server-error-not-accepting-jobs|"):
+ Xprt did not setup the list of supplementary group ids, causing print
+ failure when the the calling user must be a member in a specific
+ group to be allowed to print.
+
+2004-05-06 Egbert Eich <eich-at-pdx-freedesktop-org>
+
+ * config/cf/X11.tmpl:
+ * config/cf/site.def:
+ * config/imake/imakemdep.h:
+ * lib/Xaw/OS.c:
+ * lib/Xxf86dga/XF86DGA.c:
+ * lib/font/FreeType/module/Imakefile:
+ * programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c:
+ * programs/xedit/lisp/lisp.c:
+ BugZilla #601:
+ Fixing makedepend choking on floating point exception because
+ CHAR_BIT is defined to __CHAR_BIT__ which is a compiler intrinsic
+ define.
+ BugZilla #605:
+ Fixing build on IA64 which is broken due to the inclusion of
+ the kernel header asm/page.h. Kernel headers however don't work with
+ -ansi. The inclusion of asm/page.h can however savely be removed
+ as it there are plenty of other ways to determine the page size.
+
+2004-05-05 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/ps/Imakefile
+ * programs/Xserver/Xprint/ps/PsFonts.c
+ BugZilla #551: PS DDX will not build on platforms with
+ BuildFreeType NO. Patch by Alan Coopersmith <alan.coopersmith@sun.com>.
+
+2004-05-05 Roland Mainz <roland.mainz@nrubsig.org>
+
+ * xc/programs/Xserver/Xprint/ps/psout.c
+ BugZilla #536: RFE: PS output should contain the FreeType2
+ version being used.
+
+2004-05-05 Egbert Eich <eich-at-pdx-freedesktop-org>
+
+ * lib/font/FreeType/ftconfig.h:
+ * lib/font/FreeType/fttools.c: (FTcheckForTTCName):
+ * lib/font/FreeType/module/Imakefile:
+ * lib/font/FreeType/module/ftheader.h:
+ * lib/font/FreeType/module/myftstdlib.h:
+ * lib/freetype2/Imakefile:
+ * lib/freetype2/freetype/config/Imakefile:
+ BugZilla #601: fixed missing symbols in Xserver freetype module
+ due to using isdigit instead of ft_isdigit, missing or faulty
+ defines for digit and string functions in ftstdlib.h
+ (now myftstdlib.h).
+ Reverted freetype2 to upstream version, fixed CHAR_BIT in
+ myftstdlib.h and made the use of a copy of ftconfig.h in
+ lib/font/FreeType obsolete.
+
+2004-05-04 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/xset/Imakefile
+ * xc/programs/xset/xset.c
+ BugZilla #597: "xset" should have an option to rehash
+ the list of available printers
+
+2004-05-04 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ * xc/config/cf/xf86site.def
+ * xc/config/cf/xfree86.cf
+ * xc/config/cf/xorg.cf
+ * xc/config/cf/xorgsite.def
+ * xc/config/cf/xprint_site.def
+ * xc/config/cf/xttMod.tmpl
+ * xc/extras/FreeType/FILES
+ * xc/extras/FreeType/INSTALL
+ * xc/extras/FreeType/MakeSub.in
+ * xc/extras/FreeType/Makefile.in
+ * xc/extras/FreeType/PATENTS
+ * xc/extras/FreeType/README
+ * xc/extras/FreeType/README.XFree86
+ * xc/extras/FreeType/aclocal.m4
+ * xc/extras/FreeType/announce
+ * xc/extras/FreeType/config.guess
+ * xc/extras/FreeType/config.sub
+ * xc/extras/FreeType/configure
+ * xc/extras/FreeType/configure.in
+ * xc/extras/FreeType/contrib/ftos2/DEVELFAQ
+ * xc/extras/FreeType/contrib/ftos2/FAQ
+ * xc/extras/FreeType/contrib/ftos2/ifi/32fddef.h
+ * xc/extras/FreeType/contrib/ftos2/ifi/32fdstrc.h
+ * xc/extras/FreeType/contrib/ftos2/ifi/32ifimet.h
+ * xc/extras/FreeType/contrib/ftos2/ifi/32pmifi.h
+ * xc/extras/FreeType/contrib/ftos2/ifi/FreeType.def
+ * xc/extras/FreeType/contrib/ftos2/ifi/FreeType.icc
+ * xc/extras/FreeType/contrib/ftos2/ifi/FreeType.wat
+ * xc/extras/FreeType/contrib/ftos2/ifi/ftifi.c
+ * xc/extras/FreeType/contrib/ftos2/ifi/ftifi.h
+ * xc/extras/FreeType/contrib/ftos2/ifi/ftmem.c
+ * xc/extras/FreeType/contrib/ftos2/ifi/ftmem.icc
+ * xc/extras/FreeType/contrib/ftos2/ifi/test.c
+ * xc/extras/FreeType/contrib/ftos2/ifi/test.icc
+ * xc/extras/FreeType/contrib/ftos2/ifi/test.wat
+ * xc/extras/FreeType/contrib/ftos2/install.cmd
+ * xc/extras/FreeType/contrib/ftos2/lib/arch/os2/Makefile.icc
+ * xc/extras/FreeType/contrib/ftos2/lib/arch/os2/Makefile.wat
+ * xc/extras/FreeType/contrib/ftos2/lib/ttmemory.c
+ * xc/extras/FreeType/contrib/ftos2/limit.cmd
+ * xc/extras/FreeType/contrib/ftos2/query.cmd
+ * xc/extras/FreeType/contrib/ftos2/readme.1st
+ * xc/extras/FreeType/contrib/ftos2/readme.txt
+ * xc/extras/FreeType/contrib/ftos2/uninst.c
+ * xc/extras/FreeType/contrib/ftos2/uninstall.cmd
+ * xc/extras/FreeType/contrib/ttf2bdf/.cvsignore
+ * xc/extras/FreeType/contrib/ttf2bdf/Makefile.in
+ * xc/extras/FreeType/contrib/ttf2bdf/README
+ * xc/extras/FreeType/contrib/ttf2bdf/configure
+ * xc/extras/FreeType/contrib/ttf2bdf/configure.in
+ * xc/extras/FreeType/contrib/ttf2bdf/contrib/KOI2iso_pcf
+ * xc/extras/FreeType/contrib/ttf2bdf/contrib/creatett
+ * xc/extras/FreeType/contrib/ttf2bdf/contrib/creatett.m
+ * xc/extras/FreeType/contrib/ttf2bdf/maps/iso8859.1
+ * xc/extras/FreeType/contrib/ttf2bdf/maps/iso8859.2
+ * xc/extras/FreeType/contrib/ttf2bdf/maps/iso8859.3
+ * xc/extras/FreeType/contrib/ttf2bdf/maps/iso8859.5
+ * xc/extras/FreeType/contrib/ttf2bdf/maps/koi8.r
+ * xc/extras/FreeType/contrib/ttf2bdf/maps/windows.1251
+ * xc/extras/FreeType/contrib/ttf2bdf/remap.c
+ * xc/extras/FreeType/contrib/ttf2bdf/remap.h
+ * xc/extras/FreeType/contrib/ttf2bdf/ttf2bdf.c
+ * xc/extras/FreeType/contrib/ttf2bdf/ttf2bdf.man
+ * xc/extras/FreeType/contrib/ttf2pfb/.cvsignore
+ * xc/extras/FreeType/contrib/ttf2pfb/Makefile.emx
+ * xc/extras/FreeType/contrib/ttf2pfb/Makefile.in
+ * xc/extras/FreeType/contrib/ttf2pfb/TODO
+ * xc/extras/FreeType/contrib/ttf2pfb/Uni-T1.enc
+ * xc/extras/FreeType/contrib/ttf2pfb/configure
+ * xc/extras/FreeType/contrib/ttf2pfb/configure.in
+ * xc/extras/FreeType/contrib/ttf2pfb/getafm
+ * xc/extras/FreeType/contrib/ttf2pfb/t1asm.c
+ * xc/extras/FreeType/contrib/ttf2pfb/ttf2pfb.c
+ * xc/extras/FreeType/contrib/ttf2pk/.cvsignore
+ * xc/extras/FreeType/contrib/ttf2pk/BUGS
+ * xc/extras/FreeType/contrib/ttf2pk/MakeSub.in
+ * xc/extras/FreeType/contrib/ttf2pk/Makefile.dm
+ * xc/extras/FreeType/contrib/ttf2pk/Makefile.in
+ * xc/extras/FreeType/contrib/ttf2pk/README
+ * xc/extras/FreeType/contrib/ttf2pk/TODO
+ * xc/extras/FreeType/contrib/ttf2pk/c-auto.h
+ * xc/extras/FreeType/contrib/ttf2pk/case.c
+ * xc/extras/FreeType/contrib/ttf2pk/case.h
+ * xc/extras/FreeType/contrib/ttf2pk/configure
+ * xc/extras/FreeType/contrib/ttf2pk/configure.in
+ * xc/extras/FreeType/contrib/ttf2pk/data/Big5.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/ET5.enc
+ * xc/extras/FreeType/contrib/ttf2pk/data/EUC.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/SJIS.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/T1-WGL4.enc
+ * xc/extras/FreeType/contrib/ttf2pk/data/UBg5plus.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/UBig5.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/UGB.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/UGBK.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/UJIS.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/UKS.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/Unicode.sfd
+ * xc/extras/FreeType/contrib/ttf2pk/data/VPS.rpl
+ * xc/extras/FreeType/contrib/ttf2pk/data/ttfonts.map
+ * xc/extras/FreeType/contrib/ttf2pk/dvidrv.btm
+ * xc/extras/FreeType/contrib/ttf2pk/dvidrv.doc
+ * xc/extras/FreeType/contrib/ttf2pk/emdir.c
+ * xc/extras/FreeType/contrib/ttf2pk/emdir.h
+ * xc/extras/FreeType/contrib/ttf2pk/emtexdir.c
+ * xc/extras/FreeType/contrib/ttf2pk/emtexdir.h
+ * xc/extras/FreeType/contrib/ttf2pk/errormsg.c
+ * xc/extras/FreeType/contrib/ttf2pk/errormsg.h
+ * xc/extras/FreeType/contrib/ttf2pk/filesrch.c
+ * xc/extras/FreeType/contrib/ttf2pk/filesrch.h
+ * xc/extras/FreeType/contrib/ttf2pk/ligkern.c
+ * xc/extras/FreeType/contrib/ttf2pk/ligkern.h
+ * xc/extras/FreeType/contrib/ttf2pk/newobj.c
+ * xc/extras/FreeType/contrib/ttf2pk/newobj.h
+ * xc/extras/FreeType/contrib/ttf2pk/parse.c
+ * xc/extras/FreeType/contrib/ttf2pk/parse.h
+ * xc/extras/FreeType/contrib/ttf2pk/pklib.c
+ * xc/extras/FreeType/contrib/ttf2pk/pklib.h
+ * xc/extras/FreeType/contrib/ttf2pk/scripts/README
+ * xc/extras/FreeType/contrib/ttf2pk/scripts/teTeX-0.4/MakeTeXPK.diff
+ * xc/extras/FreeType/contrib/ttf2pk/scripts/web2c-6.1/MakeTeXPK.diff
+ * xc/extras/FreeType/contrib/ttf2pk/scripts/web2c-6.1/README
+ * xc/extras/FreeType/contrib/ttf2pk/scripts/web2c-7.0/MakeTeXPK.diff
+ * xc/extras/FreeType/contrib/ttf2pk/scripts/web2c-7.1/MakeTeXPK.diff
+ * xc/extras/FreeType/contrib/ttf2pk/scripts/web2c-7.1/README
+ * xc/extras/FreeType/contrib/ttf2pk/scripts/web2c-7.2/mktexpk.diff
+ * xc/extras/FreeType/contrib/ttf2pk/subfont.c
+ * xc/extras/FreeType/contrib/ttf2pk/subfont.h
+ * xc/extras/FreeType/contrib/ttf2pk/texenc.c
+ * xc/extras/FreeType/contrib/ttf2pk/texenc.h
+ * xc/extras/FreeType/contrib/ttf2pk/tfmaux.c
+ * xc/extras/FreeType/contrib/ttf2pk/tfmaux.h
+ * xc/extras/FreeType/contrib/ttf2pk/ttf2pk.1
+ * xc/extras/FreeType/contrib/ttf2pk/ttf2pk.c
+ * xc/extras/FreeType/contrib/ttf2pk/ttf2pk.doc
+ * xc/extras/FreeType/contrib/ttf2pk/ttf2tfm.1
+ * xc/extras/FreeType/contrib/ttf2pk/ttf2tfm.c
+ * xc/extras/FreeType/contrib/ttf2pk/ttf2tfm.h
+ * xc/extras/FreeType/contrib/ttf2pk/ttfaux.c
+ * xc/extras/FreeType/contrib/ttf2pk/ttfaux.h
+ * xc/extras/FreeType/contrib/ttf2pk/ttfenc.c
+ * xc/extras/FreeType/contrib/ttf2pk/ttfenc.h
+ * xc/extras/FreeType/contrib/ttf2pk/ttflib.c
+ * xc/extras/FreeType/contrib/ttf2pk/ttflib.h
+ * xc/extras/FreeType/contrib/ttf2pk/vplaux.c
+ * xc/extras/FreeType/contrib/ttf2pk/vplaux.h
+ * xc/extras/FreeType/contrib/ttfbanner/.cvsignore
+ * xc/extras/FreeType/contrib/ttfbanner/Makefile.emx
+ * xc/extras/FreeType/contrib/ttfbanner/Makefile.in
+ * xc/extras/FreeType/contrib/ttfbanner/README
+ * xc/extras/FreeType/contrib/ttfbanner/configure
+ * xc/extras/FreeType/contrib/ttfbanner/configure.in
+ * xc/extras/FreeType/contrib/ttfbanner/ttfbanner.c
+ * xc/extras/FreeType/contrib/ttfbanner/ttfbanner.h
+ * xc/extras/FreeType/contrib/win32/driver32.c
+ * xc/extras/FreeType/contrib/win32/hack_common.c
+ * xc/extras/FreeType/contrib/win32/hack_ftdump.c
+ * xc/extras/FreeType/contrib/win32/hack_ftlint.c
+ * xc/extras/FreeType/contrib/win32/hack_ftstring.c
+ * xc/extras/FreeType/contrib/win32/hack_fttimer.c
+ * xc/extras/FreeType/contrib/win32/hack_ftview.c
+ * xc/extras/FreeType/contrib/win32/readme.txt
+ * xc/extras/FreeType/contrib/win32/res/testw32.rc2
+ * xc/extras/FreeType/contrib/win32/resource.h
+ * xc/extras/FreeType/contrib/win32/stdafx.cpp
+ * xc/extras/FreeType/contrib/win32/stdafx.h
+ * xc/extras/FreeType/contrib/win32/testw32.cpp
+ * xc/extras/FreeType/contrib/win32/testw32.dsp
+ * xc/extras/FreeType/contrib/win32/testw32.dsw
+ * xc/extras/FreeType/contrib/win32/testw32.h
+ * xc/extras/FreeType/contrib/win32/testw32.mak
+ * xc/extras/FreeType/contrib/win32/testw32.rc
+ * xc/extras/FreeType/contrib/win32/testw32dlg.cpp
+ * xc/extras/FreeType/contrib/win32/testw32dlg.h
+ * xc/extras/FreeType/docs/FAQ
+ * xc/extras/FreeType/docs/TODO
+ * xc/extras/FreeType/docs/apiref.txt
+ * xc/extras/FreeType/docs/apirefx.txt
+ * xc/extras/FreeType/docs/bitmaps.txt
+ * xc/extras/FreeType/docs/changes.txt
+ * xc/extras/FreeType/docs/convntns.txt
+ * xc/extras/FreeType/docs/credits
+ * xc/extras/FreeType/docs/freetype.lsm
+ * xc/extras/FreeType/docs/glyphs.htm
+ * xc/extras/FreeType/docs/glyphs.txt
+ * xc/extras/FreeType/docs/i18n.txt
+ * xc/extras/FreeType/docs/optimize.txt
+ * xc/extras/FreeType/docs/porting.txt
+ * xc/extras/FreeType/docs/raster.txt
+ * xc/extras/FreeType/docs/readme.txt
+ * xc/extras/FreeType/docs/threads.txt
+ * xc/extras/FreeType/docs/user.txt
+ * xc/extras/FreeType/freetype.spec
+ * xc/extras/FreeType/ft_conf.h.in
+ * xc/extras/FreeType/howto/mac.txt
+ * xc/extras/FreeType/howto/msdos.txt
+ * xc/extras/FreeType/howto/os2.txt
+ * xc/extras/FreeType/howto/unix.txt
+ * xc/extras/FreeType/howto/windows.txt
+ * xc/extras/FreeType/install-sh
+ * xc/extras/FreeType/lib/.cvsignore
+ * xc/extras/FreeType/lib/arch/amigaos/Makefile.gcc
+ * xc/extras/FreeType/lib/arch/amigaos/freetype.c
+ * xc/extras/FreeType/lib/arch/amigaos/ft_conf.h
+ * xc/extras/FreeType/lib/arch/ansi/freetype.c
+ * xc/extras/FreeType/lib/arch/ansi/ft_conf.h
+ * xc/extras/FreeType/lib/arch/debugger/Makefile
+ * xc/extras/FreeType/lib/arch/debugger/freetype.c
+ * xc/extras/FreeType/lib/arch/debugger/ft_conf.h
+ * xc/extras/FreeType/lib/arch/mac/README
+ * xc/extras/FreeType/lib/arch/mac/freetype.c
+ * xc/extras/FreeType/lib/arch/mac/ft_conf.h
+ * xc/extras/FreeType/lib/arch/mac/ttmmap.c
+ * xc/extras/FreeType/lib/arch/msdos/Makefile.BC
+ * xc/extras/FreeType/lib/arch/msdos/Makefile.MS
+ * xc/extras/FreeType/lib/arch/msdos/Makefile.TC
+ * xc/extras/FreeType/lib/arch/msdos/Makefile.VC
+ * xc/extras/FreeType/lib/arch/msdos/Makefile.dm
+ * xc/extras/FreeType/lib/arch/msdos/Makefile.gcc
+ * xc/extras/FreeType/lib/arch/msdos/Makefile.wat
+ * xc/extras/FreeType/lib/arch/msdos/depend.dos
+ * xc/extras/FreeType/lib/arch/msdos/freetype.c
+ * xc/extras/FreeType/lib/arch/msdos/ft_conf.h
+ * xc/extras/FreeType/lib/arch/msdos/hugefile.c
+ * xc/extras/FreeType/lib/arch/msdos/hugemem.c
+ * xc/extras/FreeType/lib/arch/msdos/makedep
+ * xc/extras/FreeType/lib/arch/os2/Makefile.dm
+ * xc/extras/FreeType/lib/arch/os2/Makefile.emx
+ * xc/extras/FreeType/lib/arch/os2/Makefile.icc
+ * xc/extras/FreeType/lib/arch/os2/Makefile.wat
+ * xc/extras/FreeType/lib/arch/os2/freetype.c
+ * xc/extras/FreeType/lib/arch/os2/ft_conf.h
+ * xc/extras/FreeType/lib/arch/os2/os2file.c
+ * xc/extras/FreeType/lib/arch/unix/.cvsignore
+ * xc/extras/FreeType/lib/arch/unix/Makefile.in
+ * xc/extras/FreeType/lib/arch/unix/freetype.c
+ * xc/extras/FreeType/lib/arch/unix/ttmmap.c
+ * xc/extras/FreeType/lib/arch/vms/README
+ * xc/extras/FreeType/lib/arch/vms/descrip.mms
+ * xc/extras/FreeType/lib/arch/vms/ft_conf.h
+ * xc/extras/FreeType/lib/arch/win16/Makefile.BC
+ * xc/extras/FreeType/lib/arch/win16/Makefile.MS
+ * xc/extras/FreeType/lib/arch/win16/Makefile.VC
+ * xc/extras/FreeType/lib/arch/win16/depend.win
+ * xc/extras/FreeType/lib/arch/win16/freetype.c
+ * xc/extras/FreeType/lib/arch/win16/ft_conf.h
+ * xc/extras/FreeType/lib/arch/win16/hugefile.c
+ * xc/extras/FreeType/lib/arch/win16/hugemem.c
+ * xc/extras/FreeType/lib/arch/win16/makedef
+ * xc/extras/FreeType/lib/arch/win16/makedep
+ * xc/extras/FreeType/lib/arch/win16/ttf.def
+ * xc/extras/FreeType/lib/arch/win32/Makefile.BC
+ * xc/extras/FreeType/lib/arch/win32/Makefile.CL
+ * xc/extras/FreeType/lib/arch/win32/Makefile.Min
+ * xc/extras/FreeType/lib/arch/win32/Makefile.VC
+ * xc/extras/FreeType/lib/arch/win32/Makefile.gcc
+ * xc/extras/FreeType/lib/arch/win32/depend.win
+ * xc/extras/FreeType/lib/arch/win32/freetype.c
+ * xc/extras/FreeType/lib/arch/win32/freetype.dsp
+ * xc/extras/FreeType/lib/arch/win32/freetype.dsw
+ * xc/extras/FreeType/lib/arch/win32/freetype.mak
+ * xc/extras/FreeType/lib/arch/win32/ft_conf.h
+ * xc/extras/FreeType/lib/arch/win32/makedef
+ * xc/extras/FreeType/lib/arch/win32/makedep
+ * xc/extras/FreeType/lib/arch/win32/ttf.def
+ * xc/extras/FreeType/lib/extend/ftxcmap.c
+ * xc/extras/FreeType/lib/extend/ftxcmap.h
+ * xc/extras/FreeType/lib/extend/ftxerr18.c
+ * xc/extras/FreeType/lib/extend/ftxerr18.h
+ * xc/extras/FreeType/lib/extend/ftxgasp.c
+ * xc/extras/FreeType/lib/extend/ftxgasp.h
+ * xc/extras/FreeType/lib/extend/ftxgdef.c
+ * xc/extras/FreeType/lib/extend/ftxgdef.h
+ * xc/extras/FreeType/lib/extend/ftxgpos.c
+ * xc/extras/FreeType/lib/extend/ftxgpos.h
+ * xc/extras/FreeType/lib/extend/ftxgsub.c
+ * xc/extras/FreeType/lib/extend/ftxgsub.h
+ * xc/extras/FreeType/lib/extend/ftxkern.c
+ * xc/extras/FreeType/lib/extend/ftxkern.h
+ * xc/extras/FreeType/lib/extend/ftxopen.c
+ * xc/extras/FreeType/lib/extend/ftxopen.h
+ * xc/extras/FreeType/lib/extend/ftxopenf.h
+ * xc/extras/FreeType/lib/extend/ftxpost.c
+ * xc/extras/FreeType/lib/extend/ftxpost.h
+ * xc/extras/FreeType/lib/extend/ftxsbit.c
+ * xc/extras/FreeType/lib/extend/ftxsbit.h
+ * xc/extras/FreeType/lib/extend/ftxwidth.c
+ * xc/extras/FreeType/lib/extend/ftxwidth.h
+ * xc/extras/FreeType/lib/extend/readme.1st
+ * xc/extras/FreeType/lib/freetype.h
+ * xc/extras/FreeType/lib/fterrid.h
+ * xc/extras/FreeType/lib/ftnameid.h
+ * xc/extras/FreeType/lib/header.h
+ * xc/extras/FreeType/lib/ttapi.c
+ * xc/extras/FreeType/lib/ttcache.c
+ * xc/extras/FreeType/lib/ttcache.h
+ * xc/extras/FreeType/lib/ttcalc.c
+ * xc/extras/FreeType/lib/ttcalc.h
+ * xc/extras/FreeType/lib/ttcmap.c
+ * xc/extras/FreeType/lib/ttcmap.h
+ * xc/extras/FreeType/lib/ttconfig.h
+ * xc/extras/FreeType/lib/ttdebug.c
+ * xc/extras/FreeType/lib/ttdebug.h
+ * xc/extras/FreeType/lib/ttengine.h
+ * xc/extras/FreeType/lib/ttextend.c
+ * xc/extras/FreeType/lib/ttextend.h
+ * xc/extras/FreeType/lib/ttfile.c
+ * xc/extras/FreeType/lib/ttfile.h
+ * xc/extras/FreeType/lib/ttgload.c
+ * xc/extras/FreeType/lib/ttgload.h
+ * xc/extras/FreeType/lib/ttinterp.c
+ * xc/extras/FreeType/lib/ttinterp.h
+ * xc/extras/FreeType/lib/ttload.c
+ * xc/extras/FreeType/lib/ttload.h
+ * xc/extras/FreeType/lib/ttmemory.c
+ * xc/extras/FreeType/lib/ttmemory.h
+ * xc/extras/FreeType/lib/ttmutex.c
+ * xc/extras/FreeType/lib/ttmutex.h
+ * xc/extras/FreeType/lib/ttobjs.c
+ * xc/extras/FreeType/lib/ttobjs.h
+ * xc/extras/FreeType/lib/ttraster.c
+ * xc/extras/FreeType/lib/ttraster.h
+ * xc/extras/FreeType/lib/tttables.h
+ * xc/extras/FreeType/lib/tttags.h
+ * xc/extras/FreeType/lib/tttypes.h
+ * xc/extras/FreeType/license.txt
+ * xc/extras/FreeType/ltconfig
+ * xc/extras/FreeType/ltmain.sh
+ * xc/extras/FreeType/mkinstalldirs
+ * xc/extras/FreeType/net.m4
+ * xc/extras/FreeType/pascal/lib/freetype.pas
+ * xc/extras/FreeType/pascal/lib/ttcache.pas
+ * xc/extras/FreeType/pascal/lib/ttcalc.pas
+ * xc/extras/FreeType/pascal/lib/ttcalc1.inc
+ * xc/extras/FreeType/pascal/lib/ttcalc2.inc
+ * xc/extras/FreeType/pascal/lib/ttcalc3.inc
+ * xc/extras/FreeType/pascal/lib/ttcalc4.inc
+ * xc/extras/FreeType/pascal/lib/ttcmap.pas
+ * xc/extras/FreeType/pascal/lib/ttconfig.inc
+ * xc/extras/FreeType/pascal/lib/ttdebug.pas
+ * xc/extras/FreeType/pascal/lib/tterror.pas
+ * xc/extras/FreeType/pascal/lib/ttfile.pas
+ * xc/extras/FreeType/pascal/lib/ttgload.pas
+ * xc/extras/FreeType/pascal/lib/ttinterp.pas
+ * xc/extras/FreeType/pascal/lib/ttload.pas
+ * xc/extras/FreeType/pascal/lib/ttmemory.pas
+ * xc/extras/FreeType/pascal/lib/ttobjs.pas
+ * xc/extras/FreeType/pascal/lib/ttraster.pas
+ * xc/extras/FreeType/pascal/lib/tttables.pas
+ * xc/extras/FreeType/pascal/lib/tttypes.pas
+ * xc/extras/FreeType/pascal/test/codetv.pas
+ * xc/extras/FreeType/pascal/test/common.pas
+ * xc/extras/FreeType/pascal/test/debugger.inc
+ * xc/extras/FreeType/pascal/test/debugger.pas
+ * xc/extras/FreeType/pascal/test/dump.pas
+ * xc/extras/FreeType/pascal/test/gdriver.pas
+ * xc/extras/FreeType/pascal/test/gdrv_dos.inc
+ * xc/extras/FreeType/pascal/test/gdrv_os2.inc
+ * xc/extras/FreeType/pascal/test/gevents.pas
+ * xc/extras/FreeType/pascal/test/gmain.pas
+ * xc/extras/FreeType/pascal/test/lint.pas
+ * xc/extras/FreeType/pascal/test/stacktv.pas
+ * xc/extras/FreeType/pascal/test/statetv.pas
+ * xc/extras/FreeType/pascal/test/timer.pas
+ * xc/extras/FreeType/pascal/test/view.pas
+ * xc/extras/FreeType/pascal/test/zonetv.pas
+ * xc/extras/FreeType/po/.cvsignore
+ * xc/extras/FreeType/po/Makefile.in.in
+ * xc/extras/FreeType/po/POTFILES.in
+ * xc/extras/FreeType/po/cs.po
+ * xc/extras/FreeType/po/de.po
+ * xc/extras/FreeType/po/es.po
+ * xc/extras/FreeType/po/fr.po
+ * xc/extras/FreeType/po/nl.po
+ * xc/extras/FreeType/readme.1st
+ * xc/extras/FreeType/test/.cvsignore
+ * xc/extras/FreeType/test/README
+ * xc/extras/FreeType/test/arabic.c
+ * xc/extras/FreeType/test/arabic.h
+ * xc/extras/FreeType/test/arch/amigaos/Makefile.gcc
+ * xc/extras/FreeType/test/arch/amigaos/TODO
+ * xc/extras/FreeType/test/arch/amigaos/gfsamiga.c
+ * xc/extras/FreeType/test/arch/amigaos/gw_amiga.c
+ * xc/extras/FreeType/test/arch/amigaos/smakefile
+ * xc/extras/FreeType/test/arch/debugger/Makefile
+ * xc/extras/FreeType/test/arch/msdos/Makefile.BC
+ * xc/extras/FreeType/test/arch/msdos/Makefile.MS
+ * xc/extras/FreeType/test/arch/msdos/Makefile.TC
+ * xc/extras/FreeType/test/arch/msdos/Makefile.VC
+ * xc/extras/FreeType/test/arch/msdos/Makefile.dm
+ * xc/extras/FreeType/test/arch/msdos/Makefile.gcc
+ * xc/extras/FreeType/test/arch/msdos/depend.dos
+ * xc/extras/FreeType/test/arch/msdos/gfs_dos.c
+ * xc/extras/FreeType/test/arch/msdos/makedep
+ * xc/extras/FreeType/test/arch/msdos/time_tc.h
+ * xc/extras/FreeType/test/arch/os2/Makefile.dm
+ * xc/extras/FreeType/test/arch/os2/Makefile.emx
+ * xc/extras/FreeType/test/arch/os2/Makefile.icc
+ * xc/extras/FreeType/test/arch/os2/Makefile.wat
+ * xc/extras/FreeType/test/arch/os2/gfs_os2.c
+ * xc/extras/FreeType/test/arch/os2/gpm_os2.c
+ * xc/extras/FreeType/test/arch/os2/gpm_os2.def
+ * xc/extras/FreeType/test/arch/unix/.cvsignore
+ * xc/extras/FreeType/test/arch/unix/Makefile.in
+ * xc/extras/FreeType/test/arch/unix/gwin_x11.c
+ * xc/extras/FreeType/test/arch/win16/Makefile.BC
+ * xc/extras/FreeType/test/arch/win16/Makefile.MS
+ * xc/extras/FreeType/test/arch/win16/Makefile.VC
+ * xc/extras/FreeType/test/arch/win16/depend.win
+ * xc/extras/FreeType/test/arch/win16/gw_win16.c
+ * xc/extras/FreeType/test/arch/win16/makedep
+ * xc/extras/FreeType/test/arch/win32/Makefile.BC
+ * xc/extras/FreeType/test/arch/win32/Makefile.CL
+ * xc/extras/FreeType/test/arch/win32/Makefile.Min
+ * xc/extras/FreeType/test/arch/win32/Makefile.gcc
+ * xc/extras/FreeType/test/arch/win32/depend.win
+ * xc/extras/FreeType/test/arch/win32/gw_win32.c
+ * xc/extras/FreeType/test/arch/win32/makedep
+ * xc/extras/FreeType/test/blitter.c
+ * xc/extras/FreeType/test/blitter.h
+ * xc/extras/FreeType/test/common.c
+ * xc/extras/FreeType/test/common.h
+ * xc/extras/FreeType/test/display.c
+ * xc/extras/FreeType/test/display.h
+ * xc/extras/FreeType/test/fdebug.c
+ * xc/extras/FreeType/test/ftdump.c
+ * xc/extras/FreeType/test/fterror.c
+ * xc/extras/FreeType/test/ftlint.c
+ * xc/extras/FreeType/test/ftmetric.c
+ * xc/extras/FreeType/test/ftsbit.c
+ * xc/extras/FreeType/test/ftstring.c
+ * xc/extras/FreeType/test/ftstrpnm.c
+ * xc/extras/FreeType/test/ftstrtto.c
+ * xc/extras/FreeType/test/fttimer.c
+ * xc/extras/FreeType/test/ftview.c
+ * xc/extras/FreeType/test/ftzoom.c
+ * xc/extras/FreeType/test/gdriver.h
+ * xc/extras/FreeType/test/gevents.h
+ * xc/extras/FreeType/test/gmain.c
+ * xc/extras/FreeType/test/gmain.h
+ * xc/extras/X-TrueType/ARABIC/CP1256toUCS2.c
+ * xc/extras/X-TrueType/ARABIC/IRANSYSTEMtoUCS2.c
+ * xc/extras/X-TrueType/ARABIC/ISIRI3342toUCS2.c
+ * xc/extras/X-TrueType/ARABIC/Imakefile
+ * xc/extras/X-TrueType/ARABIC/MULEARABICtoUCS2.c
+ * xc/extras/X-TrueType/ARABIC/URDUNAQSHtoUCS2.c
+ * xc/extras/X-TrueType/ARABIC/XATERMtoUCS2.c
+ * xc/extras/X-TrueType/ARABIC/main.c
+ * xc/extras/X-TrueType/ARMSCII8/ARMSCII8toUCS2.c
+ * xc/extras/X-TrueType/ARMSCII8/Imakefile
+ * xc/extras/X-TrueType/ARMSCII8/main.c
+ * xc/extras/X-TrueType/BIG5/BIG5toUCS2.c
+ * xc/extras/X-TrueType/BIG5/Imakefile
+ * xc/extras/X-TrueType/BIG5/main.c
+ * xc/extras/X-TrueType/BIG5HKSCS/BIG5HKSCStoUCS2.c
+ * xc/extras/X-TrueType/BIG5HKSCS/Imakefile
+ * xc/extras/X-TrueType/BIG5HKSCS/main.c
+ * xc/extras/X-TrueType/CHANGES.eng
+ * xc/extras/X-TrueType/DOSENCODING/DOSENCODINGtoUCS2.c
+ * xc/extras/X-TrueType/DOSENCODING/Imakefile
+ * xc/extras/X-TrueType/DOSENCODING/main.c
+ * xc/extras/X-TrueType/GB18030/GB18030toUCS2.c
+ * xc/extras/X-TrueType/GB18030/Imakefile
+ * xc/extras/X-TrueType/GB18030/main.c
+ * xc/extras/X-TrueType/GB2312/GB2312toUCS2.c
+ * xc/extras/X-TrueType/GB2312/Imakefile
+ * xc/extras/X-TrueType/GB2312/main.c
+ * xc/extras/X-TrueType/GBK/GBKtoUCS2.c
+ * xc/extras/X-TrueType/GBK/Imakefile
+ * xc/extras/X-TrueType/GBK/main.c
+ * xc/extras/X-TrueType/GEORGIAN/GEORGIANtoUCS2.c
+ * xc/extras/X-TrueType/GEORGIAN/Imakefile
+ * xc/extras/X-TrueType/GEORGIAN/main.c
+ * xc/extras/X-TrueType/ISO8859.1/ISO8859_1toAROMAN.c
+ * xc/extras/X-TrueType/ISO8859.1/Imakefile
+ * xc/extras/X-TrueType/ISO8859.1/main.c
+ * xc/extras/X-TrueType/ISO8859.10/ISO8859_10toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.10/Imakefile
+ * xc/extras/X-TrueType/ISO8859.10/main.c
+ * xc/extras/X-TrueType/ISO8859.11/ISO8859_11toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.11/Imakefile
+ * xc/extras/X-TrueType/ISO8859.11/main.c
+ * xc/extras/X-TrueType/ISO8859.13/ISO8859_13toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.13/Imakefile
+ * xc/extras/X-TrueType/ISO8859.13/main.c
+ * xc/extras/X-TrueType/ISO8859.14/ISO8859_14toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.14/Imakefile
+ * xc/extras/X-TrueType/ISO8859.14/main.c
+ * xc/extras/X-TrueType/ISO8859.15/Imakefile
+ * xc/extras/X-TrueType/ISO8859.15/main.c
+ * xc/extras/X-TrueType/ISO8859.2/ISO8859_2toACNTRO.c
+ * xc/extras/X-TrueType/ISO8859.2/ISO8859_2toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.2/Imakefile
+ * xc/extras/X-TrueType/ISO8859.2/main.c
+ * xc/extras/X-TrueType/ISO8859.3/ISO8859_3toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.3/Imakefile
+ * xc/extras/X-TrueType/ISO8859.3/main.c
+ * xc/extras/X-TrueType/ISO8859.4/ISO8859_4toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.4/Imakefile
+ * xc/extras/X-TrueType/ISO8859.4/main.c
+ * xc/extras/X-TrueType/ISO8859.5/ISO8859_5toACYRIL.c
+ * xc/extras/X-TrueType/ISO8859.5/ISO8859_5toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.5/Imakefile
+ * xc/extras/X-TrueType/ISO8859.5/main.c
+ * xc/extras/X-TrueType/ISO8859.6/ISO8859_6toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.6/Imakefile
+ * xc/extras/X-TrueType/ISO8859.6/main.c
+ * xc/extras/X-TrueType/ISO8859.7/ISO8859_7toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.7/Imakefile
+ * xc/extras/X-TrueType/ISO8859.7/main.c
+ * xc/extras/X-TrueType/ISO8859.8/ISO8859_8toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.8/Imakefile
+ * xc/extras/X-TrueType/ISO8859.8/main.c
+ * xc/extras/X-TrueType/ISO8859.9/ISO8859_9toUCS2.c
+ * xc/extras/X-TrueType/ISO8859.9/Imakefile
+ * xc/extras/X-TrueType/ISO8859.9/main.c
+ * xc/extras/X-TrueType/Imakefile
+ * xc/extras/X-TrueType/JISX0201/Imakefile
+ * xc/extras/X-TrueType/JISX0201/JISX0201toUCS2.c
+ * xc/extras/X-TrueType/JISX0201/main.c
+ * xc/extras/X-TrueType/JISX0208/Imakefile
+ * xc/extras/X-TrueType/JISX0208/JISX0208toUCS2.c
+ * xc/extras/X-TrueType/JISX0208/main.c
+ * xc/extras/X-TrueType/JISX0212/Imakefile
+ * xc/extras/X-TrueType/JISX0212/JISX0212toUCS2.c
+ * xc/extras/X-TrueType/JISX0212/main.c
+ * xc/extras/X-TrueType/KOI8/Imakefile
+ * xc/extras/X-TrueType/KOI8/KOI8_RtoUCS2.c
+ * xc/extras/X-TrueType/KOI8/KOI8_UNItoUCS2.c
+ * xc/extras/X-TrueType/KOI8/main.c
+ * xc/extras/X-TrueType/KSC5601/Imakefile
+ * xc/extras/X-TrueType/KSC5601/KSC5601toUCS2.c
+ * xc/extras/X-TrueType/KSC5601/main.c
+ * xc/extras/X-TrueType/KSCJOHAB/Imakefile
+ * xc/extras/X-TrueType/KSCJOHAB/KSCJOHABtoUCS2.c
+ * xc/extras/X-TrueType/KSCJOHAB/main.c
+ * xc/extras/X-TrueType/MULEENCODING/ASCIILAOtoUCS2.c
+ * xc/extras/X-TrueType/MULEENCODING/Imakefile
+ * xc/extras/X-TrueType/MULEENCODING/MULELAOtoUCS2.c
+ * xc/extras/X-TrueType/MULEENCODING/MULETIBETANtoUCS2.c
+ * xc/extras/X-TrueType/MULEENCODING/main.c
+ * xc/extras/X-TrueType/TCVN/Imakefile
+ * xc/extras/X-TrueType/TCVN/TCVNtoUCS2.c
+ * xc/extras/X-TrueType/TCVN/main.c
+ * xc/extras/X-TrueType/VISCII/Imakefile
+ * xc/extras/X-TrueType/VISCII/VISCIItoUCS2.c
+ * xc/extras/X-TrueType/VISCII/main.c
+ * xc/extras/X-TrueType/xttblit.c
+ * xc/extras/X-TrueType/xttblit.h
+ * xc/extras/X-TrueType/xttcap.c
+ * xc/extras/X-TrueType/xttcap.h
+ * xc/extras/X-TrueType/xttcconv.c
+ * xc/extras/X-TrueType/xttcconv.h
+ * xc/extras/X-TrueType/xttcconvP.h
+ * xc/extras/X-TrueType/xttchinfo.c
+ * xc/extras/X-TrueType/xttcommon.h
+ * xc/extras/X-TrueType/xttdump.c
+ * xc/extras/X-TrueType/xttfuncs.c
+ * xc/extras/X-TrueType/xttmisc.c
+ * xc/extras/X-TrueType/xttprop.c
+ * xc/extras/X-TrueType/xttstruct.h
+ * xc/extras/X-TrueType/xttversion.h
+ * xc/lib/font/Imakefile
+ * xc/lib/font/X-TrueType/ARABIC/Imakefile
+ * xc/lib/font/X-TrueType/ARABIC/Imakefile.inc
+ * xc/lib/font/X-TrueType/ARABIC/module/Imakefile
+ * xc/lib/font/X-TrueType/ARMSCII8/Imakefile
+ * xc/lib/font/X-TrueType/ARMSCII8/Imakefile.inc
+ * xc/lib/font/X-TrueType/ARMSCII8/module/Imakefile
+ * xc/lib/font/X-TrueType/BIG5/Imakefile
+ * xc/lib/font/X-TrueType/BIG5/Imakefile.inc
+ * xc/lib/font/X-TrueType/BIG5/module/Imakefile
+ * xc/lib/font/X-TrueType/BIG5HKSCS/Imakefile
+ * xc/lib/font/X-TrueType/BIG5HKSCS/Imakefile.inc
+ * xc/lib/font/X-TrueType/BIG5HKSCS/module/Imakefile
+ * xc/lib/font/X-TrueType/DOSENCODING/Imakefile
+ * xc/lib/font/X-TrueType/DOSENCODING/Imakefile.inc
+ * xc/lib/font/X-TrueType/DOSENCODING/module/Imakefile
+ * xc/lib/font/X-TrueType/GB18030/Imakefile
+ * xc/lib/font/X-TrueType/GB18030/Imakefile.inc
+ * xc/lib/font/X-TrueType/GB18030/module/Imakefile
+ * xc/lib/font/X-TrueType/GB2312/Imakefile
+ * xc/lib/font/X-TrueType/GB2312/Imakefile.inc
+ * xc/lib/font/X-TrueType/GB2312/module/Imakefile
+ * xc/lib/font/X-TrueType/GBK/Imakefile
+ * xc/lib/font/X-TrueType/GBK/Imakefile.inc
+ * xc/lib/font/X-TrueType/GBK/module/Imakefile
+ * xc/lib/font/X-TrueType/GEORGIAN/Imakefile
+ * xc/lib/font/X-TrueType/GEORGIAN/Imakefile.inc
+ * xc/lib/font/X-TrueType/GEORGIAN/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.1/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.1/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.1/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.10/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.10/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.10/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.11/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.11/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.11/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.13/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.13/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.13/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.14/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.14/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.14/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.15/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.15/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.15/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.2/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.2/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.2/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.3/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.3/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.3/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.4/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.4/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.4/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.5/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.5/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.5/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.6/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.6/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.6/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.7/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.7/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.7/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.8/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.8/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.8/module/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.9/Imakefile
+ * xc/lib/font/X-TrueType/ISO8859.9/Imakefile.inc
+ * xc/lib/font/X-TrueType/ISO8859.9/module/Imakefile
+ * xc/lib/font/X-TrueType/Imakefile
+ * xc/lib/font/X-TrueType/Imakefile.inc
+ * xc/lib/font/X-TrueType/JISX0201/Imakefile
+ * xc/lib/font/X-TrueType/JISX0201/Imakefile.inc
+ * xc/lib/font/X-TrueType/JISX0201/module/Imakefile
+ * xc/lib/font/X-TrueType/JISX0208/Imakefile
+ * xc/lib/font/X-TrueType/JISX0208/Imakefile.inc
+ * xc/lib/font/X-TrueType/JISX0208/module/Imakefile
+ * xc/lib/font/X-TrueType/JISX0212/Imakefile
+ * xc/lib/font/X-TrueType/JISX0212/Imakefile.inc
+ * xc/lib/font/X-TrueType/JISX0212/module/Imakefile
+ * xc/lib/font/X-TrueType/KOI8/Imakefile
+ * xc/lib/font/X-TrueType/KOI8/Imakefile.inc
+ * xc/lib/font/X-TrueType/KOI8/module/Imakefile
+ * xc/lib/font/X-TrueType/KSC5601/Imakefile
+ * xc/lib/font/X-TrueType/KSC5601/Imakefile.inc
+ * xc/lib/font/X-TrueType/KSC5601/module/Imakefile
+ * xc/lib/font/X-TrueType/KSCJOHAB/Imakefile
+ * xc/lib/font/X-TrueType/KSCJOHAB/Imakefile.inc
+ * xc/lib/font/X-TrueType/KSCJOHAB/module/Imakefile
+ * xc/lib/font/X-TrueType/MULEENCODING/Imakefile
+ * xc/lib/font/X-TrueType/MULEENCODING/Imakefile.inc
+ * xc/lib/font/X-TrueType/MULEENCODING/module/Imakefile
+ * xc/lib/font/X-TrueType/TCVN/Imakefile
+ * xc/lib/font/X-TrueType/TCVN/Imakefile.inc
+ * xc/lib/font/X-TrueType/TCVN/module/Imakefile
+ * xc/lib/font/X-TrueType/VISCII/Imakefile
+ * xc/lib/font/X-TrueType/VISCII/Imakefile.inc
+ * xc/lib/font/X-TrueType/VISCII/module/Imakefile
+ * xc/lib/font/X-TrueType/cconvversion.h
+ * xc/lib/font/X-TrueType/ft_conf.h
+ * xc/lib/font/X-TrueType/module/Imakefile
+ * xc/lib/font/X-TrueType/module/xttmodule.c
+ * xc/lib/font/fontfile/Imakefile
+ * xc/lib/font/fontfile/ffcheck.c
+ * xc/lib/font/fontfile/register.c
+ BugZilla #595: RFE: Retire XTT font module and FreeType1 from xorg
+ tree. The functionality of XTT has been integrated into the FreeType
+ font module and the old XTT1.x code (incl. FreeType1 in xc/extras/) is
+ no longer needed anymore.
+
+2004-05-04 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/lib/font/FreeType/ftfuncs.h
+ * xc/lib/font/FreeType/ftfuncs.c
+ BugZilla #307: Restore optimization heuristics on CJK fonts in the
+ FreeType font module which were broken in X11R6.7. Patch by Chisato
+ Yamauchi <cyamauch@a.phys.nagoya-u.ac.jp>.
+
+2004-04-30 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Init.c
+ BugZilla #567: Xorg Xprt starts to consume 100% CPU when being
+ idle for some time (internal screensaver goes mad after 10mins)
+
+2004-04-30 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/glxgears/Imakefile
+ * xc/programs/glxgears/glxgears.c
+ BugZilla #558: Add print support to glxgears.
+
+2004-04-28 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/extras/freetype2/ChangeLog
+ * xc/extras/freetype2/Jamfile
+ * xc/extras/freetype2/Jamfile.in
+ * xc/extras/freetype2/README
+ * xc/extras/freetype2/builds/atari/ATARI.H
+ * xc/extras/freetype2/builds/atari/FNames.SIC
+ * xc/extras/freetype2/builds/atari/FREETYPE.PRJ
+ * xc/extras/freetype2/builds/atari/README.TXT
+ * xc/extras/freetype2/builds/freetype.mk
+ * xc/extras/freetype2/builds/unix/aclocal.m4
+ * xc/extras/freetype2/builds/unix/config.guess
+ * xc/extras/freetype2/builds/unix/config.sub
+ * xc/extras/freetype2/builds/unix/configure
+ * xc/extras/freetype2/builds/unix/configure.ac
+ * xc/extras/freetype2/builds/unix/detect.mk
+ * xc/extras/freetype2/builds/unix/freetype-config.in
+ * xc/extras/freetype2/builds/unix/ft-munmap.m4
+ * xc/extras/freetype2/builds/unix/ftconfig.in
+ * xc/extras/freetype2/builds/unix/ftsystem.c
+ * xc/extras/freetype2/builds/unix/install-sh
+ * xc/extras/freetype2/builds/unix/ltmain.sh
+ * xc/extras/freetype2/builds/unix/mkinstalldirs
+ * xc/extras/freetype2/builds/unix/unix-def.in
+ * xc/extras/freetype2/builds/unix/unix.mk
+ * xc/extras/freetype2/builds/vms/ftconfig.h
+ * xc/extras/freetype2/builds/win32/visualc/freetype.dsp
+ * xc/extras/freetype2/builds/win32/visualc/freetype.sln
+ * xc/extras/freetype2/builds/win32/visualc/freetype.vcproj
+ * xc/extras/freetype2/builds/win32/visualc/index.html
+ * xc/extras/freetype2/configure
+ * xc/extras/freetype2/devel/ftoption.h
+ * xc/extras/freetype2/docs/CHANGES
+ * xc/extras/freetype2/docs/INSTALL
+ * xc/extras/freetype2/docs/INSTALL.GNU
+ * xc/extras/freetype2/docs/INSTALL.UNX
+ * xc/extras/freetype2/docs/VERSION.DLL
+ * xc/extras/freetype2/docs/raster.txt
+ * xc/extras/freetype2/docs/release
+ * xc/extras/freetype2/include/freetype/cache/ftccache.h
+ * xc/extras/freetype2/include/freetype/cache/ftcglyph.h
+ * xc/extras/freetype2/include/freetype/cache/ftcimage.h
+ * xc/extras/freetype2/include/freetype/cache/ftcmanag.h
+ * xc/extras/freetype2/include/freetype/cache/ftcmru.h
+ * xc/extras/freetype2/include/freetype/cache/ftcsbits.h
+ * xc/extras/freetype2/include/freetype/cache/ftlru.h
+ * xc/extras/freetype2/include/freetype/config/ftconfig.h
+ * xc/extras/freetype2/include/freetype/config/ftheader.h
+ * xc/extras/freetype2/include/freetype/config/ftoption.h
+ * xc/extras/freetype2/include/freetype/config/ftstdlib.h
+ * xc/extras/freetype2/include/freetype/freetype.h
+ * xc/extras/freetype2/include/freetype/ftcache.h
+ * xc/extras/freetype2/include/freetype/fterrdef.h
+ * xc/extras/freetype2/include/freetype/ftglyph.h
+ * xc/extras/freetype2/include/freetype/ftimage.h
+ * xc/extras/freetype2/include/freetype/ftlzw.h
+ * xc/extras/freetype2/include/freetype/ftmac.h
+ * xc/extras/freetype2/include/freetype/ftmoderr.h
+ * xc/extras/freetype2/include/freetype/ftstroke.h
+ * xc/extras/freetype2/include/freetype/ftwinfnt.h
+ * xc/extras/freetype2/include/freetype/ftxf86.h
+ * xc/extras/freetype2/include/freetype/internal/ftcalc.h
+ * xc/extras/freetype2/include/freetype/internal/ftdebug.h
+ * xc/extras/freetype2/include/freetype/internal/ftdriver.h
+ * xc/extras/freetype2/include/freetype/internal/ftgloadr.h
+ * xc/extras/freetype2/include/freetype/internal/ftmemory.h
+ * xc/extras/freetype2/include/freetype/internal/ftobjs.h
+ * xc/extras/freetype2/include/freetype/internal/ftrfork.h
+ * xc/extras/freetype2/include/freetype/internal/ftserv.h
+ * xc/extras/freetype2/include/freetype/internal/ftstream.h
+ * xc/extras/freetype2/include/freetype/internal/fttrace.h
+ * xc/extras/freetype2/include/freetype/internal/internal.h
+ * xc/extras/freetype2/include/freetype/internal/psaux.h
+ * xc/extras/freetype2/include/freetype/internal/services/svttcmap.h
+ * xc/extras/freetype2/include/freetype/internal/sfnt.h
+ * xc/extras/freetype2/include/freetype/internal/t1types.h
+ * xc/extras/freetype2/include/freetype/internal/tttypes.h
+ * xc/extras/freetype2/include/freetype/t1tables.h
+ * xc/extras/freetype2/include/freetype/ttnameid.h
+ * xc/extras/freetype2/include/freetype/tttables.h
+ * xc/extras/freetype2/src/autofit/Jamfile
+ * xc/extras/freetype2/src/autofit/afangles.c
+ * xc/extras/freetype2/src/autofit/afdummy.c
+ * xc/extras/freetype2/src/autofit/afdummy.h
+ * xc/extras/freetype2/src/autofit/afglobal.c
+ * xc/extras/freetype2/src/autofit/afglobal.h
+ * xc/extras/freetype2/src/autofit/afhints.c
+ * xc/extras/freetype2/src/autofit/afhints.h
+ * xc/extras/freetype2/src/autofit/aflatin.c
+ * xc/extras/freetype2/src/autofit/aflatin.h
+ * xc/extras/freetype2/src/autofit/afloader.c
+ * xc/extras/freetype2/src/autofit/afloader.h
+ * xc/extras/freetype2/src/autofit/afmodule.c
+ * xc/extras/freetype2/src/autofit/afmodule.h
+ * xc/extras/freetype2/src/autofit/aftypes.h
+ * xc/extras/freetype2/src/autofit/autofit.c
+ * xc/extras/freetype2/src/autohint/ahglobal.c
+ * xc/extras/freetype2/src/autohint/ahglyph.c
+ * xc/extras/freetype2/src/autohint/ahhint.c
+ * xc/extras/freetype2/src/autohint/ahtypes.h
+ * xc/extras/freetype2/src/base/Jamfile
+ * xc/extras/freetype2/src/base/descrip.mms
+ * xc/extras/freetype2/src/base/ftbase.c
+ * xc/extras/freetype2/src/base/ftcalc.c
+ * xc/extras/freetype2/src/base/ftdbgmem.c
+ * xc/extras/freetype2/src/base/ftdebug.c
+ * xc/extras/freetype2/src/base/ftgloadr.c
+ * xc/extras/freetype2/src/base/ftglyph.c
+ * xc/extras/freetype2/src/base/ftmac.c
+ * xc/extras/freetype2/src/base/ftobjs.c
+ * xc/extras/freetype2/src/base/ftoutln.c
+ * xc/extras/freetype2/src/base/ftrfork.c
+ * xc/extras/freetype2/src/base/ftstream.c
+ * xc/extras/freetype2/src/base/ftstroke.c
+ * xc/extras/freetype2/src/base/ftsynth.c
+ * xc/extras/freetype2/src/base/fttrigon.c
+ * xc/extras/freetype2/src/base/rules.mk
+ * xc/extras/freetype2/src/bdf/bdfdrivr.c
+ * xc/extras/freetype2/src/bdf/bdfdrivr.h
+ * xc/extras/freetype2/src/bdf/bdflib.c
+ * xc/extras/freetype2/src/cache/Jamfile
+ * xc/extras/freetype2/src/cache/descrip.mms
+ * xc/extras/freetype2/src/cache/ftcache.c
+ * xc/extras/freetype2/src/cache/ftcbasic.c
+ * xc/extras/freetype2/src/cache/ftccache.c
+ * xc/extras/freetype2/src/cache/ftccache.i
+ * xc/extras/freetype2/src/cache/ftccback.h
+ * xc/extras/freetype2/src/cache/ftccmap.c
+ * xc/extras/freetype2/src/cache/ftcglyph.c
+ * xc/extras/freetype2/src/cache/ftcimage.c
+ * xc/extras/freetype2/src/cache/ftcmanag.c
+ * xc/extras/freetype2/src/cache/ftcmru.c
+ * xc/extras/freetype2/src/cache/ftcsbits.c
+ * xc/extras/freetype2/src/cache/ftlru.c
+ * xc/extras/freetype2/src/cache/rules.mk
+ * xc/extras/freetype2/src/cff/Jamfile
+ * xc/extras/freetype2/src/cff/cff.c
+ * xc/extras/freetype2/src/cff/cffcmap.c
+ * xc/extras/freetype2/src/cff/cffdrivr.c
+ * xc/extras/freetype2/src/cff/cffgload.c
+ * xc/extras/freetype2/src/cff/cffload.c
+ * xc/extras/freetype2/src/cff/cffload.h
+ * xc/extras/freetype2/src/cff/cffobjs.c
+ * xc/extras/freetype2/src/cff/cffobjs.h
+ * xc/extras/freetype2/src/cff/cffparse.c
+ * xc/extras/freetype2/src/cff/cffparse.h
+ * xc/extras/freetype2/src/cff/cfftoken.h
+ * xc/extras/freetype2/src/cff/cfftypes.h
+ * xc/extras/freetype2/src/cff/rules.mk
+ * xc/extras/freetype2/src/cid/cidgload.c
+ * xc/extras/freetype2/src/cid/cidload.c
+ * xc/extras/freetype2/src/cid/cidload.h
+ * xc/extras/freetype2/src/cid/cidobjs.c
+ * xc/extras/freetype2/src/cid/cidparse.c
+ * xc/extras/freetype2/src/cid/cidparse.h
+ * xc/extras/freetype2/src/gzip/ftgzip.c
+ * xc/extras/freetype2/src/gzip/zutil.h
+ * xc/extras/freetype2/src/lzw/Jamfile
+ * xc/extras/freetype2/src/lzw/ftlzw.c
+ * xc/extras/freetype2/src/lzw/rules.mk
+ * xc/extras/freetype2/src/lzw/zopen.c
+ * xc/extras/freetype2/src/lzw/zopen.h
+ * xc/extras/freetype2/src/pcf/pcfdrivr.c
+ * xc/extras/freetype2/src/pcf/pcfread.c
+ * xc/extras/freetype2/src/pcf/pcfutil.c
+ * xc/extras/freetype2/src/pcf/pcfutil.h
+ * xc/extras/freetype2/src/pfr/pfrdrivr.c
+ * xc/extras/freetype2/src/pfr/pfrgload.c
+ * xc/extras/freetype2/src/pfr/pfrload.c
+ * xc/extras/freetype2/src/pfr/pfrobjs.c
+ * xc/extras/freetype2/src/pfr/pfrsbit.c
+ * xc/extras/freetype2/src/psaux/psobjs.c
+ * xc/extras/freetype2/src/psaux/t1decode.c
+ * xc/extras/freetype2/src/pshinter/Jamfile
+ * xc/extras/freetype2/src/pshinter/pshalgo.c
+ * xc/extras/freetype2/src/pshinter/pshglob.c
+ * xc/extras/freetype2/src/pshinter/pshrec.c
+ * xc/extras/freetype2/src/pshinter/pshrec.h
+ * xc/extras/freetype2/src/raster/ftrend1.c
+ * xc/extras/freetype2/src/sfnt/Jamfile
+ * xc/extras/freetype2/src/sfnt/rules.mk
+ * xc/extras/freetype2/src/sfnt/sfdriver.c
+ * xc/extras/freetype2/src/sfnt/sfnt.c
+ * xc/extras/freetype2/src/sfnt/sfobjs.c
+ * xc/extras/freetype2/src/sfnt/ttcmap.c
+ * xc/extras/freetype2/src/sfnt/ttcmap.h
+ * xc/extras/freetype2/src/sfnt/ttcmap0.c
+ * xc/extras/freetype2/src/sfnt/ttcmap0.h
+ * xc/extras/freetype2/src/sfnt/ttload.c
+ * xc/extras/freetype2/src/sfnt/ttsbit.c
+ * xc/extras/freetype2/src/sfnt/ttsbit.h
+ * xc/extras/freetype2/src/smooth/ftsmooth.c
+ * xc/extras/freetype2/src/tools/docmaker/content.py
+ * xc/extras/freetype2/src/tools/docmaker/docbeauty.py
+ * xc/extras/freetype2/src/tools/docmaker/docmaker.py
+ * xc/extras/freetype2/src/tools/docmaker/formatter.py
+ * xc/extras/freetype2/src/tools/docmaker/sources.py
+ * xc/extras/freetype2/src/tools/docmaker/utils.py
+ * xc/extras/freetype2/src/truetype/ttdriver.c
+ * xc/extras/freetype2/src/truetype/ttgload.c
+ * xc/extras/freetype2/src/truetype/ttgload.h
+ * xc/extras/freetype2/src/truetype/ttinterp.c
+ * xc/extras/freetype2/src/truetype/ttinterp.h
+ * xc/extras/freetype2/src/truetype/ttobjs.c
+ * xc/extras/freetype2/src/truetype/ttobjs.h
+ * xc/extras/freetype2/src/type1/t1driver.c
+ * xc/extras/freetype2/src/type1/t1gload.c
+ * xc/extras/freetype2/src/type1/t1load.c
+ * xc/extras/freetype2/src/type1/t1objs.c
+ * xc/extras/freetype2/src/type1/t1parse.c
+ * xc/extras/freetype2/src/type1/t1tokens.h
+ * xc/extras/freetype2/src/type42/t42drivr.c
+ * xc/extras/freetype2/src/type42/t42objs.c
+ * xc/extras/freetype2/src/type42/t42parse.c
+ * xc/extras/freetype2/src/type42/t42types.h
+ * xc/extras/freetype2/src/winfonts/winfnt.c
+ * xc/extras/freetype2/src/winfonts/winfnt.h
+ * xc/extras/freetype2/tests/gview.c
+ * xc/extras/freetype2/vms_make.com
+ * xc/lib/font/FreeType/ftconfig.h
+ * xc/lib/font/FreeType/module/ftheader.h
+ * xc/lib/font/FreeType/module/ftoption.h
+ * xc/lib/freetype2/Imakefile
+ * xc/lib/freetype2/freetype/Imakefile
+ * xc/lib/freetype2/freetype/cache/Imakefile
+ * xc/lib/freetype2/freetype/internal/Imakefile
+ * xc/lib/freetype2/freetype/internal/services/Imakefile
+ Bugzilla #556: Update FreeType2 version in xc/extras/Freetype2
+ to V2.1.8 (previous version in tree was V2.1.7)
+
+2004-04-26 Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * xc/extras/Mesa/src/X/xm_dd.c
+ Backport a fix from Mesa 6.0 to 5.0.2 that creates the xmesa
+ buffers correctly.
+
+2004-04-25 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/Xprint/Imakefile
+ * xc/programs/Xserver/Xprint/ps/Imakefile
+ * xc/programs/Xserver/Xprint/ps/PsInit.c
+ * xc/programs/Xserver/mi/miinitext.c
+ Work-in-progress for BugZilla #542 (GLX support for PS DDX).
+ Fix visual setup (attachment #243).
+ Patch by Alan Hourihane <alanh@fairlite.demon.co.uk>
+
+2004-04-25 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/config/cf/sun.cf
+ * xc/config/cf/sv4Lib.rules
+ * xc/programs/Xserver/Imakefile
+ * xc/programs/Xserver/hw/xfree86/os-support/sunos/find_deps.pl
+ Make Solaris builds work when using MakeDllModules (it's not the
+ default yet, but at least it works now if you turn it on)
+ Also improve default compiler, optimizer, & linker flags for Solaris
+ builds using either Sun cc or gcc
+
+ * xc/programs/Xserver/cfb/Imakefile.inc
+ * xc/programs/Xserver/cfb/stipsparc.s
+ * xc/programs/Xserver/cfb/stipsprc32.s
+ Remove text relocation error when building shared versions
+
+2004-04-25 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/programs/Xserver/hw/xfree86/input/tek4957/xf86Tek4957.c
+ Fix build error in sparc-specific code when using non-C99 compiler
+ like gcc 2.95 that doesn't allow variable declarations in the middle
+ of a code block.
+
+ * xc/programs/xfs/difs/Imakefile
+ Make sure VendorReleaseDefines is defined, even if XOrgVersion isn't
+
+2004-04-25 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ Bugzilla #547: RFE: Disable FONTCACHE extension in the Xorg
+ default build
+
+2004-04-25 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ * xc/config/cf/xfree86.cf
+ * xc/config/cf/xorg.cf
+ * xc/config/cf/xorgsite.def
+ Bugzilla #549: RFE: Xorg default build should run with
+ |BuildType1| set to |NO|. The xc/lib/font/FreeType/ font
+ rasterizer will now handle PBA/PFB fonts by default.
+
+2004-04-25 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/dix/resource.c
+ Bugzilla #541: Xorg Xprt may crash with "Freeing resource
+ id=40200000 which isn't there"
+
+2004-04-25 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/config/cf/X11.tmpl
+ * xc/config/cf/site.def
+ * xc/config/cf/xfree86.cf
+ * xc/config/cf/xorg.cf
+ Bugzilla #548: RFE: Remove Speedo font support from the Xorg
+ default build
+
+2004-04-24 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/lib/X11/ConnDis.c
+ Bugzilla #546: XOpenDisplay should try tcp connection if local
+ connections fail (aka Sun bug id #4624183).
+ Also includes fix from NetBSD Problem Report #25098 - Xlib segfaults
+ with IPv6 if compiled with HASXDMAUTH. (Michael van Elst)
+
+ * xc/programs/xauth/process.c
+ Bugzilla #550: xauth doesn't unlock .Xauthority on SIGPIPE
+
+ * xc/programs/xdm/greeter/verify.c
+ Fix typo in Solaris console restriction code: Xfree() -> XFree()
+
+ * xc/programs/xdm/greeter/Imakefile
+ Link with PamLibraries if building with PAM support
+
+ * xc/config/cf/sunLib.tmpl
+ * xc/lib/FS/Imakefile
+ Add missing shared library dependencies for Solaris
+
+2004-04-23 Egbert Eich <eich-at-freedesktop-org>
+ Merging XORG-CURRENT into trunk
+
+2004-04-22 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/programs/Xserver/mi/miinitext.c
+ Bugzilla #535: Xprt should not annouce extensions which are not
+ supported. Extensions like "XVideo" or "XFreeXDGA" would be hard
+ to implement, MIT-SHM does not work by design etc. etc.
+
+2004-04-15 Alexander Gottwald <ago@freedesktop.org>
+ * xc/programs/xkbcomp/keycodes/xfree86
+ Bugzilla #533: fix slash/questionmark key for abnt2 keyboard
+
+2004-04-21 Roland Mainz <roland.mainz@nrubsig.org>
+ * xc/xf86Date.h
+ * xc/config/cf/FreeBSD.cf
+ * xc/config/cf/Imake.tmpl
+ * xc/config/cf/NetBSD.cf
+ * xc/config/cf/OpenBSDLib.tmpl
+ * xc/config/cf/README
+ * xc/config/cf/WinLib.tmpl
+ * xc/config/cf/X11.tmpl
+ * xc/config/cf/bsdLib.tmpl
+ * xc/config/cf/bsdiLib.tmpl
+ * xc/config/cf/cygwin.tmpl
+ * xc/config/cf/darwinLib.tmpl
+ * xc/config/cf/gnuLib.tmpl
+ * xc/config/cf/hpLib.tmpl
+ * xc/config/cf/ibmLib.tmpl
+ * xc/config/cf/linux.cf
+ * xc/config/cf/lnxLib.tmpl
+ * xc/config/cf/os2Lib.tmpl
+ * xc/config/cf/osfLib.tmpl
+ * xc/config/cf/sco5.cf
+ * xc/config/cf/sun.cf
+ * xc/config/cf/sunLib.tmpl
+ * xc/config/cf/sv4Lib.tmpl
+ * xc/config/cf/xprint_site.def
+ * xc/config/docbook/docbookconv.sh
+ * xc/doc/hardcopy/Imakefile
+ * xc/doc/hardcopy/XPRINT/Imakefile
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.html
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.txt
+ * xc/doc/hardcopy/XPRINT/Xprint_FAQ.xml
+ * xc/doc/hardcopy/XPRINT/Xprint_old_FAQ.txt
+ * xc/doc/hardcopy/XPRINT/docbook.css
+ * xc/doc/hardcopy/XPRINT/dtprint_fspec.PS.gz
+ * xc/extras/freetype2/include/freetype/config/ftoption.h
+ * xc/extras/ttf2pt1/CHANGES.html
+ * xc/extras/ttf2pt1/COPYRIGHT
+ * xc/extras/ttf2pt1/FONTS.hpux.html
+ * xc/extras/ttf2pt1/FONTS.html
+ * xc/extras/ttf2pt1/Makefile
+ * xc/extras/ttf2pt1/README.FIRST
+ * xc/extras/ttf2pt1/README.html
+ * xc/extras/ttf2pt1/bdf.c
+ * xc/extras/ttf2pt1/bitmap.c
+ * xc/extras/ttf2pt1/byteorder.h
+ * xc/extras/ttf2pt1/cygbuild.sh
+ * xc/extras/ttf2pt1/ft.c
+ * xc/extras/ttf2pt1/global.h
+ * xc/extras/ttf2pt1/pt1.c
+ * xc/extras/ttf2pt1/pt1.h
+ * xc/extras/ttf2pt1/runt1asm.c
+ * xc/extras/ttf2pt1/t1asm.c
+ * xc/extras/ttf2pt1/ttf.c
+ * xc/extras/ttf2pt1/ttf.h
+ * xc/extras/ttf2pt1/ttf2pt1.1
+ * xc/extras/ttf2pt1/ttf2pt1.c
+ * xc/extras/ttf2pt1/ttf2pt1_convert.1
+ * xc/extras/ttf2pt1/ttf2pt1_x2gs.1
+ * xc/extras/ttf2pt1/version.h
+ * xc/extras/ttf2pt1/winbuild.bat
+ * xc/extras/ttf2pt1/windows.h
+ * xc/lib/Imakefile
+ * xc/lib/Xaw/AllWidgets.c
+ * xc/lib/Xaw/Imakefile
+ * xc/lib/Xaw/Print.h
+ * xc/lib/Xaw/PrintSP.h
+ * xc/lib/Xaw/PrintShell.c
+ * xc/lib/Xaw/XawI18n.h
+ * xc/lib/Xaw/XawInit.c
+ * xc/lib/Xaw/XawInit.h
+ * xc/lib/Xaw/sharedlib.c
+ * xc/lib/XprintAppUtil/Imakefile
+ * xc/lib/XprintAppUtil/xpapputil.c
+ * xc/lib/XprintAppUtil/xpapputil.h
+ * xc/lib/XprintUtil/Imakefile
+ * xc/lib/XprintUtil/xprintutil.c
+ * xc/lib/XprintUtil/xprintutil.h
+ * xc/lib/XprintUtil/xprintutil_printtofile.c
+ * xc/lib/dpstk/Imakefile
+ * xc/lib/font/FreeType/ftfuncs.c
+ * xc/lib/font/bitmap/pcfread.c
+ * xc/lib/font/util/Imakefile
+ * xc/lib/font/util/utilbitmap.c
+ * xc/programs/Imakefile
+ * xc/programs/Xserver/Imakefile
+ * xc/programs/Xserver/XpConfig/Imakefile
+ * xc/programs/Xserver/XpConfig/C/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/Xprinters
+ * xc/programs/Xserver/XpConfig/C/print/attributes/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/attributes/document
+ * xc/programs/Xserver/XpConfig/C/print/attributes/printer
+ * xc/programs/Xserver/XpConfig/C/print/ddx-config/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/ddx-config/raster/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/CANONBJ10E-GS/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/CANONBJ10E-GS/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/GSdefault/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/GSdefault/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/HPDJ1600C/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/HPDJ1600C/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/HPDJ1600C/fonts/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/HPDJ1600C/fonts/fonts.alias
+ * xc/programs/Xserver/XpConfig/C/print/models/HPLJ4050-PS/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/HPLJ4050-PS/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/HPLJ4050-PS/fonts/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/HPLJ4family/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/HPLJ4family/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/HPLJ4family/fonts/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/HPLJ4family/fonts/fonts.alias
+ * xc/programs/Xserver/XpConfig/C/print/models/PS2PDFspooldir-GS/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/PS2PDFspooldir-GS/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/PS2PDFspooldir-GS/ps2pdf_spooltodir.sh
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/AvantGarde-Book.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/AvantGarde-BookOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/AvantGarde-Demi.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/AvantGarde-DemiOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Courier-Bold.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Courier-BoldOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Courier-Oblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Courier.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Helvetica-Bold.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Helvetica-BoldOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Helvetica-Oblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Helvetica.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-Book.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-BookOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-Demi.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-DemiOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-Bold.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-BoldItalic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-Italic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-Roman.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Souvenir-Demi.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Souvenir-DemiItalic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Souvenir-Light.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Souvenir-LightItalic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Symbol.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Times-Bold.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Times-BoldItalic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Times-Italic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/Times-Roman.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSdefault/fonts/ZapfDingbats.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/PSspooldir/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/PSspooldir/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/PSspooldir/spooltodir.sh
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/model-config
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/AvantGarde-Book.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/AvantGarde-BookOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/AvantGarde-Demi.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/AvantGarde-DemiOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Courier-Bold.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Courier-BoldOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Courier-Oblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Courier.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Helvetica-Bold.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Helvetica-BoldOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Helvetica-Oblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Helvetica.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Imakefile
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/LubalinGraph-Book.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/LubalinGraph-BookOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/LubalinGraph-Demi.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/LubalinGraph-DemiOblique.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/NewCenturySchlbk-Bold.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/NewCenturySchlbk-BoldItalic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/NewCenturySchlbk-Italic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/NewCenturySchlbk-Roman.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Souvenir-Demi.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Souvenir-DemiItalic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Souvenir-Light.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Souvenir-LightItalic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Symbol.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Times-Bold.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Times-BoldItalic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Times-Italic.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/Times-Roman.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/ZapfDingbats.pmf
+ * xc/programs/Xserver/XpConfig/C/print/models/SPSPARC2/fonts/fonts.dir
+ * xc/programs/Xserver/XpConfig/en_US/Imakefile
+ * xc/programs/Xserver/XpConfig/en_US/print/Imakefile
+ * xc/programs/Xserver/XpConfig/en_US/print/attributes/Imakefile
+ * xc/programs/Xserver/XpConfig/en_US/print/attributes/document
+ * xc/programs/Xserver/Xprint/AttrValid.c
+ * xc/programs/Xserver/Xprint/AttrValid.h
+ * xc/programs/Xserver/Xprint/DiPrint.h
+ * xc/programs/Xserver/Xprint/Imakefile
+ * xc/programs/Xserver/Xprint/Init.c
+ * xc/programs/Xserver/Xprint/Oid.c
+ * xc/programs/Xserver/Xprint/Oid.h
+ * xc/programs/Xserver/Xprint/OidDefs.h
+ * xc/programs/Xserver/Xprint/OidStrs.h
+ * xc/programs/Xserver/Xprint/Xprint.html
+ * xc/programs/Xserver/Xprint/Xprint.man
+ * xc/programs/Xserver/Xprint/Xprint.sgml
+ * xc/programs/Xserver/Xprint/attributes.c
+ * xc/programs/Xserver/Xprint/attributes.h
+ * xc/programs/Xserver/Xprint/ddxInit.c
+ * xc/programs/Xserver/Xprint/mediaSizes.c
+ * xc/programs/Xserver/Xprint/spooler.c
+ * xc/programs/Xserver/Xprint/spooler.h
+ * xc/programs/Xserver/Xprint/etc/Imakefile
+ * xc/programs/Xserver/Xprint/etc/Xsession.d/Imakefile
+ * xc/programs/Xserver/Xprint/etc/Xsession.d/cde_xsessiond_xprint.sh
+ * xc/programs/Xserver/Xprint/etc/init.d/Imakefile
+ * xc/programs/Xserver/Xprint/etc/init.d/xprint
+ * xc/programs/Xserver/Xprint/etc/profile.d/Imakefile
+ * xc/programs/Xserver/Xprint/etc/profile.d/xprint.csh
+ * xc/programs/Xserver/Xprint/etc/profile.d/xprint.sh
+ * xc/programs/Xserver/Xprint/pdf/README
+ * xc/programs/Xserver/Xprint/ps/Imakefile
+ * xc/programs/Xserver/Xprint/ps/Ps.h
+ * xc/programs/Xserver/Xprint/ps/PsArea.c
+ * xc/programs/Xserver/Xprint/ps/PsAttVal.c
+ * xc/programs/Xserver/Xprint/ps/PsAttr.c
+ * xc/programs/Xserver/Xprint/ps/PsCache.c
+ * xc/programs/Xserver/Xprint/ps/PsColor.c
+ * xc/programs/Xserver/Xprint/ps/PsFTFonts.c
+ * xc/programs/Xserver/Xprint/ps/PsFonts.c
+ * xc/programs/Xserver/Xprint/ps/PsGC.c
+ * xc/programs/Xserver/Xprint/ps/PsInit.c
+ * xc/programs/Xserver/Xprint/ps/PsLine.c
+ * xc/programs/Xserver/Xprint/ps/PsMisc.c
+ * xc/programs/Xserver/Xprint/ps/PsPixel.c
+ * xc/programs/Xserver/Xprint/ps/PsPixmap.c
+ * xc/programs/Xserver/Xprint/ps/PsPolygon.c
+ * xc/programs/Xserver/Xprint/ps/PsPrint.c
+ * xc/programs/Xserver/Xprint/ps/PsText.c
+ * xc/programs/Xserver/Xprint/ps/PsWindow.c
+ * xc/programs/Xserver/Xprint/ps/psout.c
+ * xc/programs/Xserver/Xprint/ps/psout.h
+ * xc/programs/Xserver/Xprint/ps/psout_ft.c
+ * xc/programs/Xserver/Xprint/ps/psout_ftpstype1.c
+ * xc/programs/Xserver/Xprint/ps/psout_ftpstype3.c
+ * xc/programs/Xserver/Xprint/raster/Imakefile
+ * xc/programs/Xserver/Xprint/raster/Raster.h
+ * xc/programs/Xserver/Xprint/svg/README
+ * xc/programs/Xserver/Xprint/windows/README
+ * xc/programs/Xserver/dix/dispatch.c
+ * xc/programs/Xserver/dix/main.c
+ * xc/programs/Xserver/hw/darwin/darwin.c
+ * xc/programs/Xserver/hw/sun/sunIo.c
+ * xc/programs/Xserver/hw/sunLynx/sunLyIo.c
+ * xc/programs/Xserver/hw/vfb/InitOutput.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86Init.c
+ * xc/programs/Xserver/hw/xnest/Args.c
+ * xc/programs/Xserver/hw/xwin/InitOutput.c
+ * xc/programs/Xserver/include/os.h
+ * xc/programs/Xserver/os/utils.c
+ * xc/programs/xlogo/Imakefile
+ * xc/programs/xphelloworld/Imakefile
+ * xc/programs/xphelloworld/xpawhelloworld/Imakefile
+ * xc/programs/xphelloworld/xpawhelloworld/xpawhelloworld.c
+ * xc/programs/xphelloworld/xpawhelloworld/xpawhelloworld.man
+ * xc/programs/xphelloworld/xphelloworld/Imakefile
+ * xc/programs/xphelloworld/xphelloworld/xphelloworld.c
+ * xc/programs/xphelloworld/xphelloworld/xphelloworld.html
+ * xc/programs/xphelloworld/xphelloworld/xphelloworld.man
+ * xc/programs/xphelloworld/xphelloworld/xphelloworld.sgml
+ * xc/programs/xphelloworld/xpsimplehelloworld/Imakefile
+ * xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.c
+ * xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.html
+ * xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.man
+ * xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.sgml
+ * xc/programs/xphelloworld/xpxmhelloworld/Imakefile
+ * xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.c
+ * xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.html
+ * xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.man
+ * xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.sgml
+ * xc/programs/xphelloworld/xpxthelloworld/Imakefile
+ * xc/programs/xphelloworld/xpxthelloworld/xpxthelloworld.c
+ * xc/programs/xphelloworld/xpxthelloworld/xpxthelloworld.html
+ * xc/programs/xphelloworld/xpxthelloworld/xpxthelloworld.man
+ * xc/programs/xphelloworld/xpxthelloworld/xpxthelloworld.sgml
+ * xc/programs/xplsprinters/Imakefile
+ * xc/programs/xplsprinters/xplsprinters.c
+ * xc/programs/xplsprinters/xplsprinters.html
+ * xc/programs/xplsprinters/xplsprinters.man
+ * xc/programs/xplsprinters/xplsprinters.sgml
+ Bugzilla #530: Land XPRINT branch on XORG-CURRENT
+
+2004-04-17 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/config/cf/sun.cf
+ * xc/config/cf/Imake.tmpl
+ * xc/programs/Xserver/os/Imakefile
+ * xc/programs/Xserver/os/access.c
+ Bugzilla #495: LocalClientCred should use getpeerucred on Solaris 10
+
+ * xc/lib/GL/glx/Imakefile
+ * xc/lib/GL/mesa/src/Imakefile
+ LargePICTable required for Solaris SPARC builds
+
+ * xc/programs/Xserver/hw/xfree86/drivers/glint/pm3_accel.c
+ * xc/programs/Xserver/hw/xfree86/common/xf86Events.c
+ Add != NULL to if statements to get past syntax error reported
+ by Sun Forte 6.1 cc.
+
+ * xc/config/imake/imake.c
+ * xc/config/cf/sun.cf
+ * xc/config/cf/sunLib.tmpl
+ Allow compiling with Sun compilers installed somewhere other than
+ /opt/SUNWspro
+
+ * xc/programs/Xserver/hw/xfree86/common/compiler.h
+ * xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h
+ Check for defined(sparc) as well as defined(__sparc__) since Sun
+ compilers don't define __sparc__
+
+2004-04-15 Alan Coopersmith <alan.coopersmith@sun.com>
+
+ * xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_mouse.c
+ Solaris mouse enhancements, including autoprobe support,
+ VUID wheel mouse events, and streams module pushing.
+ Bugzilla #434. (Russ Blaine & Alan Coopersmith, Sun Microsystems)
+
+ * xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c
+ Xorg doesn't reset console to text mode on Solaris x86 8 and later
+ Bugzilla #469.
+
+2004-04-15 Egbert Eich <eich-at-freedesktop-org>
+ Merged changes from RELEASE-1 branch:
+
+ 2004-04-10 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml
+ Fix mis-spelling of Roland Mainz's name.
+
+ 2004-04-07 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/doc/BUILD:
+ * programs/Xserver/hw/xfree86/doc/README:
+ * programs/Xserver/hw/xfree86/doc/Versions:
+ Updating formatted docs.
+
+ 2004-04-07 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/defs.ent:
+ Changing release tags to upper case again - like the
+ original version was.
+
+ 2004-04-06 Keith Packard <keithp@keithp.com>
+
+ * BUILD:
+ * README:
+ * RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/BUILD
+ * programs/Xserver/hw/xfree86/doc/DESIGN
+ * programs/Xserver/hw/xfree86/doc/Install
+ * programs/Xserver/hw/xfree86/doc/LICENSE
+ * programs/Xserver/hw/xfree86/doc/OS2.Notes
+ * programs/Xserver/hw/xfree86/doc/README
+ * programs/Xserver/hw/xfree86/doc/README.DECtga
+ * programs/Xserver/hw/xfree86/doc/README.Darwin
+ * programs/Xserver/hw/xfree86/doc/README.I128
+ * programs/Xserver/hw/xfree86/doc/README.LynxOS
+ * programs/Xserver/hw/xfree86/doc/README.NetBSD
+ * programs/Xserver/hw/xfree86/doc/README.OpenBSD
+ * programs/Xserver/hw/xfree86/doc/README.SCO
+ * programs/Xserver/hw/xfree86/doc/README.SiS
+ * programs/Xserver/hw/xfree86/doc/README.Solaris
+ * programs/Xserver/hw/xfree86/doc/README.XKB-Config
+ * programs/Xserver/hw/xfree86/doc/README.XKB-Enhancing
+ * programs/Xserver/hw/xfree86/doc/README.apm
+ * programs/Xserver/hw/xfree86/doc/README.ati
+ * programs/Xserver/hw/xfree86/doc/README.chips
+ * programs/Xserver/hw/xfree86/doc/README.cyrix
+ * programs/Xserver/hw/xfree86/doc/README.dps
+ * programs/Xserver/hw/xfree86/doc/README.fonts
+ * programs/Xserver/hw/xfree86/doc/README.i740
+ * programs/Xserver/hw/xfree86/doc/README.i810
+ * programs/Xserver/hw/xfree86/doc/README.mouse
+ * programs/Xserver/hw/xfree86/doc/README.newport
+ * programs/Xserver/hw/xfree86/doc/README.r128
+ * programs/Xserver/hw/xfree86/doc/README.rendition
+ * programs/Xserver/hw/xfree86/doc/README.s3virge
+ * programs/Xserver/hw/xfree86/doc/RELNOTES
+ * programs/Xserver/hw/xfree86/doc/Versions
+ Update formatted docs
+
+ 2004-04-06 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/README.sgml:
+ Oops. Filenames are X11R6.7.0.tar.gz
+ Update date
+
+ 2004-04-06 Keith Packard <keithp@keithp.com>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ Oops. File names for .tgz were missing the 'R'.
+ WORLDOPTS is "" by default now. Switch sense
+ of the documentation to match.
+
+ * programs/Xserver/hw/xfree86/doc/sgml/defs.ent
+ Hah! CVS fight. I prefer lower case tags,
+ so I've changed the documentation to use the
+ original name (xo_6_7_0) and tagged the tree.
+ Note that the branch still isn't created; we'll want
+ to do that soon somehow.
+
+ 2004-04-06 Egbert Eich <eich-at-freedesktop-org>
+
+ * RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/BUILD:
+ * programs/Xserver/hw/xfree86/doc/README:
+ * programs/Xserver/hw/xfree86/doc/Versions:
+ * programs/xkbcomp/README.config:
+ * programs/xkbcomp/README.enhancing:
+ Updating formatted docs.
+
+ 2004-04-07 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/doc/sgml/defs.ent:
+ Fixing release/branch tag names.
+
+ 2004-04-06 Egbert Eich <eich-at-freedesktop-org>
+
+ * programs/Xserver/hw/xfree86/common/xf86Init.c:
+ (ddxProcessArgument):
+ made server also accept -xf86config
+
+ 2004-04-06 Keith Packard <keithp@keithp.com>
+
+ * BUILD:
+ * README:
+ * RELNOTES:
+ * config/cf/lnxdoc.rules:
+ * config/cf/lnxdoc.tmpl:
+ * programs/Xserver/hw/xfree86/doc/BUILD:
+ * programs/Xserver/hw/xfree86/doc/DESIGN:
+ * programs/Xserver/hw/xfree86/doc/Install:
+ * programs/Xserver/hw/xfree86/doc/LICENSE:
+ * programs/Xserver/hw/xfree86/doc/OS2.Notes:
+ * programs/Xserver/hw/xfree86/doc/README:
+ * programs/Xserver/hw/xfree86/doc/README.DECtga:
+ * programs/Xserver/hw/xfree86/doc/README.Darwin:
+ * programs/Xserver/hw/xfree86/doc/README.I128:
+ * programs/Xserver/hw/xfree86/doc/README.LynxOS:
+ * programs/Xserver/hw/xfree86/doc/README.NetBSD:
+ * programs/Xserver/hw/xfree86/doc/README.OpenBSD:
+ * programs/Xserver/hw/xfree86/doc/README.SCO:
+ * programs/Xserver/hw/xfree86/doc/README.SiS:
+ * programs/Xserver/hw/xfree86/doc/README.Solaris:
+ * programs/Xserver/hw/xfree86/doc/README.XKB-Config:
+ * programs/Xserver/hw/xfree86/doc/README.XKB-Enhancing:
+ * programs/Xserver/hw/xfree86/doc/README.apm:
+ * programs/Xserver/hw/xfree86/doc/README.ati:
+ * programs/Xserver/hw/xfree86/doc/README.chips:
+ * programs/Xserver/hw/xfree86/doc/README.cyrix:
+ * programs/Xserver/hw/xfree86/doc/README.dps:
+ * programs/Xserver/hw/xfree86/doc/README.fonts:
+ * programs/Xserver/hw/xfree86/doc/README.i740:
+ * programs/Xserver/hw/xfree86/doc/README.mouse:
+ * programs/Xserver/hw/xfree86/doc/README.newport:
+ * programs/Xserver/hw/xfree86/doc/README.r128:
+ * programs/Xserver/hw/xfree86/doc/README.rendition:
+ * programs/Xserver/hw/xfree86/doc/README.s3virge:
+ * programs/Xserver/hw/xfree86/doc/RELNOTES:
+ * programs/Xserver/hw/xfree86/doc/Versions:
+ * programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml:
+ Add 'BUILD' and 'README' to top level.
+ Fix Id lines in generated documentation to reference
+ source document.
+
+ 2004-04-06 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fixed version number glitches in modules.
+
+ 2004-04-06 Harold L Hunt II <harold@codeweavers.com>
+
+ * ChangeLog
+ Fix some duplicate entries from Alexander Gottwald's merges
+ from XORG-RELEASE-1 to CYGWIN.
+
+ 2004-04-06 Keith Packard <keithp@keithp.com>
+
+ * ChangeLog
+ * CHANGELOG-CURRENT:
+ * CHANGELOG-RELEASE-1:
+ * CHANGELOG-RELEASE-1-TM:
+ * INSTALL.TXT:
+ * RELNOTES.TXT:
+ * RELNOTES.XORG:
+ * bug-report:
+ * doc/misc/INSTALL.ms:
+ * doc/misc/RELNOTES.ms:
+ Remove stale documentation.
+ Replace CHANGELOG-* with ChangeLog, change to
+ date-based ordering. I didn't attempt
+
+ 2004-04-05 Keith Packard <keithp@freedesktop.org>
+
+ * Fix sgml doc Imakefile to compute same manual suffixes as man
+ page template. (Keith Packard)
+
+ 2004-04-05 Keith Packard <keithp@freedesktop.org>
+
+ * Fix mkhtmlindex.pl to accept upper or lower case html tags.
+ (Keith Packard)
+
+ 2004-04-05 Keith Packard <keithp@freedesktop.org>
+
+ * Update documentation index file prefix content (index.pre) (Keith Packard)
+
+ 2004-04-02 Egbert Eich <eich-at-freedesktop-org>
+
+ * Merging in the TM branch (Egbert Eich).
+
+ 2004-04-02 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fixed glitches that occured during build of bindist tarballs (Egbert Eich).
+
+ 2004-04-02 Egbert Eich <eich-at-freedesktop-org>
+
+ * Mark PLT table executable on OSes that don't allow to execute data
+ areas by default (Bugzilla 395, John Dennis).
+
+ 2004-04-01 Keith Packard <keithp@freedesktop.org>
+
+ * Update formatted docs (I hope I got everything) (Keith Packard)
+
+ 2004-03-30 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fix the GLLibraryVersion string allocation to accomodate for the
+ terminating \0 character which would otherwise corrupt the malloc
+ heap (Bugzilla 385, John Dennis).
+
+ 2004-03-29 Keith Packard <keithp@freedesktop.org>
+
+ * Update xterm termcap/terminfo files, changing -xfree86 to -xorg
+ and making aliases for the old names (Keith Packard).
+
+ 2004-03-29 Egbert Eich <eich-at-freedesktop-org>
+
+ * Changed vendor string on xfs (Egbert Eich).
+ * Removed some more TM related things from getconfig (Egbert Eich).
+
+ 2004-03-29 Keith Packard <keithp@freedesktop.org>
+
+ * Updates to SGML and SGML-generated documentation
+ (Jim Gettys, with minor hacks by Keith Packard)
+
+ 2004-03-28 Keith Packard <keithp@freedesktop.org>
+
+ * TM fixes for hw/xwin -- Harold will merge to CYGWIN. (Keith Packard)
+
+ 2004-03-28 Keith Packard <keithp@freedesktop.org>
+
+ * TM fixes for remaining man pages. Also fixes broken
+ CVS ident lines in many video driver man pages. (Keith Packard)
+
+ 2004-03-28 Keith Packard <keithp@freedesktop.org>
+
+ * TM fixes for input driver man pages (Keith Packard)
+
+ 2004-03-28 Keith Packard <keithp@freedesktop.org>
+
+ * TM fixes for xf86cfg (which has become xorgcfg) (Keith Packard)
+
+ 2004-03-28 Keith Packard <keithp@freedesktop.org>
+
+ * TM fixes for .man files in lib directory (Keith Packard)
+
+ 2004-03-28 Torrey Lyons <torrey@freedesktop.org>
+
+ * Change XDarwin man page to refer to X.Org Foundation and point to Xorg
+ man page (Torrey T. Lyons).
+
+ 2004-03-27 Keith Packard <keithp@freedesktop.org>
+
+ * Add xorg.conf.man, Xorg.man, remove XF86Config.man and XFree86.man
+ (yes, this trashes revision history, but I think it's better
+ than breaking CVS). (Keith Packard)
+
+ 2004-03-27 Keith Packard <keithp@freedesktop.org>
+
+ * TM fixes for VESA general timing formula mode line program
+ (hw/xfree86/etc/gtf). (Keith Packard)
+
+ 2004-03-27 Alan Coopersmith <alanc@freedesktop.org>
+
+ * Prevent segfault if LISTEN specified with no hosts in xdm access
+ control file. (Reported by Peter Breitenlohner to devel@xfree86.org)
+ * Typo in Xau.man reported by Peter Breitenlohner to devel@xfree86.org
+
+ 2004-03-27 Kaleb Keithley <kaleb@freedesktop.org>
+
+ * Add Leon's xorg.xpm and xorg-bw.xpm files to xdm/config. (Kaleb KEITHLEY
+ for Leon Shiman)
+
+ 2004-03-27 Keith Packard <keithp@freedesktop.org>
+
+ * Add some temporary xorg.xpm and xorg-bw.xpm files to xdm/config
+ (Keith Packard)
+
+ 2004-03-26 Keith Packard <keithp@freedesktop.org>
+
+ * Fix TM issues in all video driver manual pages.
+ (Keith Packard)
+
+ 2004-03-26 Keith Packard <keithp@freedesktop.org>
+
+ * Add new MANDEFS to cover XServerName, et al. Move
+ XCONFIGFILE XCONFIGDIR et al from xorg.tmpl to X11.tmpl
+ so they can be used in building non-server manual pages
+ (Keith Packard)
+
+ 2004-03-26 Egbert Eich <eich-at-freedesktop-org>
+
+ * Enabling Chisato's optimatization for freetype2 when fonts contain both
+ bitmapped and outline glyphs when the internal version of freetype2 is
+ used. This should be replaced with a solution which doesn't require to
+ use an internal API. (Egbert Eich).
+
+ 2004-03-26 Egbert Eich <eich-at-freedesktop-org>
+
+ * Allow XF86Config as a fallback config file (Egbert Eich).
+ * Fixed more TM issues especially xterm, getconfig and some default files
+ (Egbert Eich).
+
+ 2004-03-26 Keith Packard <keithp@freedesktop.org>
+
+ * Patch RenderAddGlyphs to handle multiple glyphs and avoid memory error.
+ Bugzilla #349. (Stephen McCamant, applied by Keith Packard)
+
+ 2004-03-26 Keith Packard <keithp@freedesktop.org>
+
+ * Fix TM issues in doc/man/general (Keith Packard)
+
+ 2004-03-26 Keith Packard <keithp@freedesktop.org>
+
+ * xkbcomp/rules/Imakefile was using InstallCreateLink backwards
+ when attempting to install a symlink from xorg to xfree86 for
+ compatibility (Keith Packard)
+
+ 2004-03-26 Keith Packard <keithp@freedesktop.org>
+
+ * Fix Xlib manual pages to refer to XFree86 as a separate entity
+ (Keith Packard)
+
+ 2004-03-26 Keith Packard <keithp@freedesktop.org>
+
+ * TM issues in config/util (rman, makedef, mkhtmlindex) (Keith Packard)
+
+ 2004-03-25 Egbert Eich <eich-at-freedesktop-org>
+
+ * Propagating fix 19 to FSlibInt.c (Egbert Eich).
+
+ 2004-03-25 Torrey Lyons <torrey@freedesktop.org>
+
+ * Updated XDarwin's Japanese localization for X.Org release
+ (Toshimitsu Tanaka).
+ * Fixed TM issues in XDarwin UI (Torrey T. Lyons).
+
+ 2004-03-25 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fixed typo that prevented the changelog date to be set correctly in
+ xf86Build.h (Egbert Eich).
+
+ 2004-03-25 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fixing some occurances of hard coded version numbers in applications
+ like twm, xrx, proxymgr, xmh (Bugzilla #369, Egbert Eich).
+
+ 2004-03-25 Torrey Lyons <torrey@freedesktop.org>
+
+ * Work around bug in Mac OS X 10.1's AppKit that causes rootless XDarwin
+ to lock up when creating windows (Torrey T. Lyons).
+
+ 2004-03-24 Egbert Eich <eich-at-freedesktop-org>
+
+ * Removed fontstosfnt from build as it is not ready and working, yet
+ (Egbert Eich).
+ * Fixed error checking in the unix socket creation code so it
+ doesn't mistakenly always send an EADDRINUSE (Bugzilla #363, Jeremy Katz).
+
+ 2004-03-24 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fixing X.Org version numbers (Egbert Eich).
+
+ 2004-03-24 Egbert Eich <eich-at-freedesktop-org>
+
+ * Updated xf86 6PciStdIds.h (Egbert Eich).
+
+ 2004-03-24 Alan Coopersmith <alanc@freedesktop.org>
+
+ * -terminate option crashes Xserver. Bugzilla #367. (Alan Coopersmith)
+
+ 2004-03-23 Egbert Eich <eich-at-freedesktop-org>
+
+ * Upgrade Xft to 2.1.6 to solve BDF/PCF loading problems (Keith Packard).
+
+ 2004-03-23 Egbert Eich <eich-at-freedesktop-org>
+
+ * Moving Xft update to RELEASE-1 (Egbert Eich).
+
+ 2004-03-23 Egbert Eich <eich-at-freedesktop-org>
+
+ * Made config file and server name in xf86cfg build time configurable
+ (Egbert Eich).
+
+ 2004-03-23 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fixed TM issues in xf86config, app-defaults/Xvidtune, create link
+ rules/xfree86 > rules/xorg (Egbert Eich).
+
+ 2004-03-22 Alexander Gottwald <ago@freedesktop.org>
+
+ * Fix build of os/access.c if IPv6 is disabled. Bug #345. (Alexander
+ Gottwald)
+
+ 2004-03-21 Kaleb Keithley <kaleb@freedesktop.org>
+
+ * Fix XDarwin so it builds on Mac OS X 10.2 and earlier. Bug #357. (Kaleb
+ KEITHLEY) Merged down from -RELEASE-1-TM
+
+ 2004-03-21 Kaleb Keithley <kaleb@freedesktop.org>
+
+ * fix XDarwin to build on Mac OS X 10.2 and earlier. Bug #357 (Kaleb
+ KEITHLEY)
+
+ 2004-03-20 Kaleb Keithley <kaleb@freedesktop.org>
+
+ * fix lib/freetype2/Imakefile for Mac OS X. Bug #352 Merged from
+ XORG-RELEASE-1-TM (Kaleb KEITHLEY)
+
+ 2004-03-20 Kaleb Keithley <kaleb@freedesktop.org>
+
+ * fix lib/freetype2/Imakefile for Mac OS X. Bug #352 (Kaleb KEITHLEY)
+
+ 2004-03-19 Kaleb Keithley <kaleb@freedesktop.org>
+
+ * Restore "credit" edits in the hw/darwin ddx that were deleted in
+ -CURRENT. RTF may or may not be "human readable," but it's no less
+ human readable, IMNOHO, than, e.g., SGML. It just takes a little bit
+ of effort.
+
+ 2004-03-19 Kaleb Keithley <kaleb@freedesktop.org>
+
+ * hw/darwin: merge working left and right meta, alt, ctrl, and shift keys
+ from -RELEASE-1-TM
+
+ 2004-03-19 Kaleb Keithley <kaleb@freedesktop.org>
+
+ * merge working left and right meta, alt, ctrl, and shift keys from
+ -CURRENT
+ * Add changes from the CURRENT branch (Egbert Eich).
+
+ 2004-03-19 Egbert Eich <eich-at-freedesktop-org>
+
+ * fixed gtf + man pages (Xserver name and config file name configurable
+ in Imake config files) (Egbert Eich).
+ * Fixed xinit/startx man pages (server name and config file configurable)
+ (Egbert Eich).
+ * Fixed fontstosfnt (project and support address configurable) (Egbert Eich).
+ * Fixed pswrap (relaced XFree86 with X11) (Egbert Eich).
+ * fixed rman (added Xorg as system name) (Egbert Eich).
+ * Fixed mkhtml (Egbert Eich).
+ * Fixed default keyboard rules file in servers and setxkb (configurable)
+ (Egbert Eich).
+ * Fixed XawVendor (configurable) (Egbert Eich).
+
+ 2004-03-19 Egbert Eich <eich-at-freedesktop-org>
+
+ * Prevent Sig11 in RenditionProbe() when no PCI bus present (Lee Olsen).
+
+ 2004-03-18 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fix xdpyinfo to deal with Xorg version strings (Egbert Eich).
+ * Changed config file to xorg.cfg (Egbert Eich).
+ * Fixed ABI versions, support address pointers, message in configuration
+ file generated with -configure (Egbert Eich).
+
+ 2004-03-18 Egbert Eich <eich-at-freedesktop-org>
+
+ * Protect removeOverlapsWithBrides() from NULL pointer in target
+ (Egbert Eich).
+
+ 2004-03-18 Alan Coopersmith <alanc@freedesktop.org>
+
+ * Merge fixes required to build and run on Solaris x86 with Sun
+ compilers from XORG-CURRENT branch. (Alan Coopersmith)
+
+ 2004-03-17 Harold L Hunt II <harold@freedesktop.org>
+
+ * Allow printver program to fail to build, which is required by
+ distributions that do not include the Xserver/hw/xfree86
+ directory (Harold L Hunt II).
+
+ 2004-03-17 Harold L Hunt II <harold@freedesktop.org>
+
+ * Fix Xaw shared lib build on Cygwin (Ralf Habacker).
+
+ 2004-03-17 Harold L Hunt II <harold@freedesktop.org>
+
+ * Can now build XLOAD under Cygwin (Earle F. Philhower III).
+
+ 2004-03-17 Egbert Eich <eich-at-freedesktop-org>
+
+ * Some initial TM changes:
+ name of the binary: Xorg
+ name of the lob file: Xorg.?.log
+ name of the config file XorgConfig
+ created: xorg.cf, xorg.tmpl
+ Internal changes XFree86Version, XFree86VersionString, XF86Server
+ to XorgVersion, XorgVersionString, XorgServer.
+ Attempted not to delete XFree86 stuff but add Xorg stuff and make
+ it the default (Egbert Eich).
+
+ 2004-03-17 Egbert Eich <eich-at-freedesktop-org>
+
+ * Readding Monitor information obtained by DDC to the config file
+ in commented out form (Egbert Eich).
+ * Making a log message by the mouse driver more meaningful (Egbert Eich).
+
+ 2004-03-17 Alan Coopersmith <alanc@freedesktop.org>
+
+ * Incorporate ServerInterpreted address family authentication from IPv6
+ second public review. (Alan Coopersmith)
+
+ 2004-03-17 Alan Coopersmith <alanc@freedesktop.org>
+
+ * Use system version of FreeType on Solaris 10 and provide instructions
+ on using it if it's installed on previous releases.
+
+ 2004-03-17 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fix for insufficient allocation of a list in
+ GetDeviceDontPropagateList() on 64bit machines (Andreas Luik).
+
+ 2004-03-16 Alan Coopersmith <alanc@freedesktop.org>
+
+ * Update SHAPE extension protocol spec to version 1.0.1, fixing
+ freedesktop.org bugzilla #282 (old X.org defect #9453) (Alan Coopersmith)
+
+ 2004-03-15 Egbert Eich <eich-at-freedesktop-org>
+
+ * Preparing branch for TMc (Egbert Eich).
+
+ 2004-03-15 Egbert Eich <eich-at-freedesktop-org>
+
+ * Backing out patch 27 as it was inappropriate for the RELEASE branch
+ and bogus anyway (see bugzilla #303) (Egbert Eich).
+ * backing out 30.: the sleep() exists to bring the log message to the
+ attention of the user which points to a problem elsewhere. Therefore
+ the problem should be fixed where it originates. To be strict we could
+ make the function fail instead of just trying to point the user at
+ the problem (Egbert Eich).
+
+ 2004-03-14 Alan Coopersmith <alanc@freedesktop.org>
+
+ * Fix linker flags & library dependencies for libXfont and freetype
+ font module on Solaris builds. (Alan Coopersmith)
+
+ 2004-03-12 Egbert Eich <eich-at-freedesktop-org>
+
+ * Added a hack to fc-lang and fc-list to prevent installation if
+ define InstallFontconfigLibrary NO (Egbert Eich).
+ * Updated Xft to 2.1.5 (Egbert Eich).
+ * Make ELF loader work on systems with non-exec stack/heaps (bugzilla #296,
+ John Dennis, Mike Harris).
+ * Fix for xdm to work on a non-IPv6 system when built with IPv6 support
+ (bugzilla #287, Peter Breitenlohner) (confirmed by: Alan Coopersmith).
+ * Fix Xi XselectExtensionEvent for 64 bit machines (bugzilla #285,
+ Andreas Luik) (confirmed by: Paul Anderson, Alan Coopersmith).
+
+ 2004-03-11 Mike A. Harris <mharris@freedesktop.org>
+
+ * Remove pointless calls to sleep(5) in xtrans, which cause unnecessary
+ delays in libICE (Bugzilla #297) (Mike A. Harris).
+
+ 2004-03-11 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fixing glitches in the Imake rules, Adding a
+ '#define InstallFontconfigLibrary YES/NO' to allow to disable
+ installation of fontconfig (Egbert Eich).
+ * Updating fontconfig to 2.2.2 and Xft to 2.1.4 (Egbert Eich).
+
+ 2004-03-11 Mike A. Harris <mharris@freedesktop.org>
+
+ * Added initial support for PowerPC 64 (ppc64) architecture.
+ (Mike A. Harris, Elliot Lee, SuSE)
+
+ 2004-03-11 Mike A. Harris <mharris@freedesktop.org>
+
+ * Fixed AGP/PCI card detection in Radeon driver, by walking the PCI
+ capabilities list in PCI config space (Bugzilla #255) (Mike A. Harris).
+
+ 2004-03-09 Egbert Eich <eich-at-freedesktop-org>
+
+ * Updating Xcursor, Xrender, Xft (Egbert Eich).
+
+ 2004-03-08 Alan Coopersmith <alanc@freedesktop.org>
+
+ * X server crashes when X-Resource has to byte-swap. Sun bug #5007488.
+ freedesktop.org bugzilla #267. (Alan Coopersmith)
+
+ 2004-03-08 Alan Coopersmith <alanc@freedesktop.org>
+
+ * Update Sun Microsystems postal addresses in xc/registry
+
+ 2004-03-08 Alan Coopersmith <alanc@freedesktop.org>
+
+ * Update license for Xinerama code from DEC to the version requested
+ by Compaq for X11R6.5.1 that allows redistribution without written
+ permission from DEC. Originally X.org Defect #9263.
+ freedesktop.org bugzilla #283. (Alan Coopersmith)
+
+ 2004-03-05 Egbert Eich <eich-at-freedesktop-org>
+
+ * Integrated Freetype 2.1.7 (Egbert Eich).
+
+ 2004-03-05 Egbert Eich <eich-at-freedesktop-org>
+
+ * Porting over Kaleb's fixes to support 3 level version numbers from
+ XORG-CURRENT branch (Egbert Eich).
+
+ 2004-03-04 Egbert Eich <eich-at-freedesktop-org>
+
+ * Merging in Kaleb's changes to XlibInt.c which reflect Keith's fix
+ to version 3.41 in the Xlib repository (Egbert Eich).
+
+2004-03-04 Egbert Eich <eich-at-freedesktop-org>
+
+ * Merged in XFree86 code up to 4.4.0 including changes to files that
+ had a changed license. There was only one change which happened to
+ be from me (Egbert Eich).
+
+2004-03-04 Egbert Eich <eich-at-freedesktop-org>
+
+ * Fixed Freetype2 compile glitches with different versions of freetype.
+ The build has been tested with Freetyp 2.1.4 and 2.1.7 (Egbert Eich).
+ * Changed default font renderer for TrueType that is loaded by the
+ Xserver to freetype (Egbert Eich).
+ * Removed dependecy of freetype Xserver module into freetype internals
+ (Keith Packard).
+ * Flagged mailing addresses that still need to be decided upon
+ with &&&&& to allow for easy tracking (Egbert Eich).
+ * Fixed keyboard rate setting thru ioctls on linux (Egbert Eich).
+
+2004-03-02 Harold L Hunt II <harold@freedesktop.org>
+
+ * Replace a handful of calls to ErrorF and exit(1) in Xserver/os/
+ files with a single call to FatalError, making it possible to
+ do ddx-specific tasks. (Harold L Hunt II)
+
+2004-03-02 Egbert Eich <eich-at-freedesktop-org>
+
+ * Modified freetype driver module build rule to allow using the
+ system provided shared library. The caveat is that it still
+ requires one declaration from a header file which doesn't get
+ shipped (at least with freetype 2.1.4). I would like to see
+ widespread testing on many platforms. If this causes problems
+ I'll back it out. (Egbert Eich).
+
+2004-03-02 Egbert Eich <eich-at-freedesktop-org>
+
+ * Made use system supplied Expat and Freetype2 library the default
+ on Linux (documented in the release notes) (Bugzilla #218,#219)
+ (Egbert Eich).
+ * Patched __AMD64__ flags to __amd64__ (Egbert Eich).
+ * Added RELNOTES.XORG to collect bits for release notes for this
+ release (Egbert Eich).
+ * Removed leftovers from libxml2 (Bugzilla #220)(Egbert Eich).
+ * Removing Kdrive (Bugzilla #222) (Egbert Eich).
+ * Reversed Xinerama changes (Egbert Eich).
+ * Reversed Xutf8* to XFree86utf8* function name changes for the release
+ (Egbert Eich).
+ * Removed sources for patch which were included when patch had a bad bug
+ (Egbert Eich).
+ * Removed unnecessary fonts (Egbert Eich).
+ * Removed XIE and PEX extension files from release tree.
+ The build environment has been gone already (Egbert Eich).
diff --git a/doc/_attic_/XOrg69_documentation_files/LABEL b/doc/_attic_/XOrg69_documentation_files/LABEL
new file mode 100644
index 000000000..09ee8933c
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/LABEL
@@ -0,0 +1,265 @@
+ X Window System, Version 11
+ Release 6.9
+
+ Portions Copyright by:
+
+ 2d3d Inc.
+ Adam de Boor
+ Adam Jackson
+ Adobe Systems Inc.
+ After X-TT Project
+ AGE Logic Inc.
+ Alan Hourihane
+ Andreas Monitzer
+ Andrew C Aitchison
+ Andy Ritger
+ Ani Joshi
+ Anton Zioviev
+ Apollo Computer Inc.
+ Apple Computer Inc.
+ Ares Software Corp.
+ ATI Technologies Inc.
+ AT&T Inc.
+ Bigelow & Holmes
+ Bill Reynolds
+ Bitstream Inc.
+ Brian Fundakowski Feldman
+ Brian Goines
+ Brian Paul
+ Bruno Haible
+ Charles Murcko
+ Chen Xiangyang
+ Chris Constello
+ Cognition Corp.
+ Compaq Computer Corporation
+ Concurrent Computer Corporation
+ Conectiva S.A.
+ Corin Anderson
+ Craig Struble
+ Daewoo Electronics Co. Ltd.
+ Dale Schumacher
+ Damien Miller
+ Daniel Borca
+ Daniver Limited
+ Daryll Strauss
+ Data General Corporation
+ David Bateman
+ David Dawes
+ David E. Wexelblat
+ David Holland
+ David J. McKay
+ David McCullough
+ David Mosberger-Tang
+ David S. Miller
+ David Turner
+ David Wexelblat
+ Davor Matic
+ Digital Equipment Corporation
+ Dirk Hohndel
+ Dmitry Golubev
+ Doug Anson
+ Edouard TISSERANT
+ Eduardo Horvath
+ Egbert Eich
+ Eric Anholt
+ Eric Fortune
+ Eric Sunshine
+ Erik Fortune
+ Erik Nygren
+ Evans & Sutherland Computer Corporation
+ Felix Kuehling
+ Finn Thoegersen
+ Francesco Zappa Nardelli
+ Frederic Lepied
+ Free Software Foundation Inc.
+ Fujitsu Limited
+ Fujitsu Open Systems Solutions Inc.
+ Fuji Xerox Co. Ltd.
+ Geert Uytterhoeven
+ Gerrit Jan Akkerman
+ Gerry Toll
+ Glenn G. Lai
+ Go Watanabe
+ Gregory Mokhin
+ Greg Parker
+ GROUPE BULL
+ Hans Oey
+ Harald Koenig
+ Harm Hanemaayer
+ Harry Langenbacher
+ Henry A. Worth
+ Hewlett-Packard Company
+ Hitachi Ltd
+ Holger Veit
+ Hummingbird Communications Ltd
+ IBM Corporation
+ Intel Corporation
+ INTERACTIVE Systems Corporation
+ International Business Machines Corp.
+ Itai Nahshon
+ Jakub Jelinek
+ James Tsillas
+ Jason Bacon
+ Jean-loup Gailly
+ Jeff Kirk
+ Jeffrey Hsu
+ Jim Tsillas
+ J. Kean Johnston
+ Jon Block
+ Jon Tombs
+ Jorge Delgado
+ Joseph Friedman
+ Joseph V. Moss
+ Juliusz Chroboczek
+ Jyunji Takagi
+ Kaleb S. Keithley
+ Kazushi (Jam) Marukawa
+ Kazuyuki (ikko-) Okamoto
+ Keith Packard
+ Keith Whitwell
+ Kevin E. Martin
+ Larry Wall
+ Lawrence Berkeley Laboratory
+ Lennart Augustsson
+ Lexmark International Inc.
+ Linus Torvalds
+ Loïc Grenié
+ Machine Vision Holdings Inc.
+ Manfred Brands
+ Marc Aurele La France
+ Mark Adler
+ Mark J. Kilgard
+ Mark Leisher
+ Mark Smulders
+ Massachusetts Institute Of Technology
+ Matrox Graphics
+ Matthew Grossman
+ Matthieu Herrb
+ Metro Link Inc.
+ Michael H. Schimek
+ Michael P. Marking
+ Michael Schimek
+ Michael Smith
+ Ming Yu
+ MIPS Computer Systems Inc.
+ National Semiconductor
+ NCR Corporation Inc.
+ Netscape Communications Corporation
+ Network Computing Devices Inc.
+ Nicholas Miell
+ Noah Levitt
+ Novell Inc.
+ Nozomi YTOW
+ NTT Software Corporation
+ Number Nine Computer Corp.
+ Number Nine Visual Technologies
+ NVIDIA Corp.
+ Olivier Danet
+ Oki Technosystems Laboratory Inc.
+ OMRON Corporation
+ Open Software Foundation
+ Orest Zborowski
+ Pablo Saratxaga
+ Panacea Inc.
+ Panagiotis Tsirigotis
+ Paolo Severini
+ Pascal Haible
+ Patrick Lecoanet
+ Patrick Lerda
+ Paul Elliott
+ Peter Kunzmann
+ Peter Trattler
+ Philip Homburg
+ Precision Insight Inc.
+ Prentice Hall
+ Quarterdeck Office Systems
+ Randy Hendry
+ Ranier Keller
+ Red Hat Inc.
+ Regents of the University of California
+ Rene Cougnenc
+ Régis Cridlig
+ Richard A. Hecker
+ Richard Burdick
+ Rich Murphey
+ Rickard E. Faith
+ Robert Baron
+ Robert Chesler
+ Robert V. Baron
+ Robert Wilhelm
+ Robin Cutshaw
+ Roland Mainz
+ S3 Graphics Inc.
+ Sam Leffler
+ SciTech Software
+ Scott Laird
+ Sebastien Marineau
+ Shigehiro Nomura
+ ShoGraphics Inc.
+ Shunsuke Akiyama
+ Silicon Graphics Computer Systems Inc.
+ Silicon Integrated Systems Corp Inc.
+ Silicon Motion Inc.
+ Simon P. Cooper
+ Snitily Graphics Consulting Services
+ Sony Corporation
+ SRI
+ Stanislav Brabec
+ Stephan Dirsch
+ Stephan Lang
+ Steven Lang
+ Sun Microsystems Inc.
+ SunSoft Inc.
+ SuSE Inc.
+ Sven Luther
+ Takis Psarogiannakopoulos
+ Takuya SHIOZAKI
+ Tektronix Inc.
+ The DOS-EMU-Development-Team
+ The Institute of Software Academia Sinica
+ The NetBSD Foundation
+ Theo de Raadt
+ Theodore Ts'o
+ The Open Group
+ The Open Software Foundation
+ The Regents of the University of California
+ The Santa Cruz Operation Inc.
+ The Unichrome Project
+ The Weather Channel Inc.
+ The X Consortium
+ The XFree86 Project Inc.
+ Thomas A. Phelps
+ Thomas E. Dickey
+ Thomas G. Lane
+ Thomas Mueller
+ Thomas Roell
+ Thomas Thanner
+ Thomas Winischhofer
+ Thomas Wolfram
+ Thorsten.Ohl
+ Tiago Gons
+ Todd C. Miller
+ Tomohiro KUBOTA
+ Torrey T. Lyons
+ TOSHIBA Corp.
+ Trolltech AS
+ Tungsten Graphics Inc.
+ UCHIYAMA Yasushi
+ Unicode Inc.
+ UniSoft Group Limited
+ University of Utah
+ UNIX System Laboratories Inc.
+ URW++ GmbH
+ VA Linux Systems
+ VIA Technologies Inc.
+ Video Electronics Standard
+ VMware Inc.
+ Vrije Universiteit
+ Werner Lemberg
+ Wittawat Yamwong
+ Wyse Technology Inc.
+ X Consortium
+ Xi Graphics Inc.
+ X-Oz Technologies
+ X-TrueType Server Project
+ X.Org Foundation, LLC
diff --git a/doc/_attic_/XOrg69_documentation_files/README b/doc/_attic_/XOrg69_documentation_files/README
new file mode 100644
index 000000000..d3dddc78f
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/README
@@ -0,0 +1,180 @@
+ README for X11R6.9 and X11R7.0
+
+ The X.Org Foundation
+
+ 21 December 2005
+
+ Abstract
+
+ X11R6.9 and X11R7.0 are Open Source versions of the X Window System
+ that supports many UNIX(R) and UNIX-like operating systems (such as
+ Linux, FreeBSD, NetBSD, OpenBSD and Solaris x86) on Intel and other
+ platforms. This version is compatible with X11R6.8 and other X
+ window system implementations which support the X11R6 standard.
+
+1. What are X11R6.9 and X11R7.0?
+
+X11R6.9 is the ninth and final full release in the X11R6 series, and X11R7.0
+is the first release in the new X11R7 series.
+
+The 6.9 version is a new release that includes additional hardware support,
+functional enhancements and bug fixes. The 7.0 version is built from the
+same source code as the 6.9 so it contains the same additional hardware sup-
+port, functional enhancements and bug fixes; however, it has been split into
+logical modules that can be developed, built and maintained separately, but
+still fit together coherently into the larger source code base as they have
+in the 6.9 tree. Specific release enhancements can be viewed in the Release
+Notes.
+
+X11R6.9 and X11R7.0 are being released at the same time to assist in the
+transition from the older monolithic source tree to the new modular source
+tree. It will take time for everyone to make this transition, so we will
+maintain the older X11R6 series through update releases to both X11R6.9 and
+X11R6.8.
+
+Most modern PC video hardware is supported in both releases, and most PC
+video hardware that isn't supported explicitly can be used with the "vesa"
+driver. The Release Notes has a table showing the drivers provided with
+X11R6.9 and X11R7.0, and links to related documentation.
+
+The X.Org Foundation X releases are produced by the X.Org Foundation. The
+X.Org Foundation has been formed as a Delaware corporation organized to oper-
+ate as a scientific charity under IRS code 501(c)(3) chartered to develop and
+execute effective strategies which provide world-wide stewardship of the X
+Window System technology and standards. Membership in the X.Org Foundation is
+free to all participants. Applications for Membership are now being accepted,
+and active participants in the further development of the X Window Technology
+are invited to complete a membership application
+<URL:http://www.x.org/XOrg_Foundation_Membership.html>. The X11R6.9 and
+X11R7.0 codebase forms the fourth X Window System release since the formation
+of the X.Org Foundation and includes code from the X Consortium, the Open
+Group and the XFree86[tm] project. This release is dedicated to the greater
+X community, developers and users alike.
+
+2. Licensing
+
+X Window System source code is covered by many licenses. All of these
+licenses have in common the fact that they do not impose significant condi-
+tions on the modification or redistribution or either source code or binaries
+beyond requiring one or more of the following:
+
+ 1. Copyright and/or license notices are left intact.
+
+ 2. Copyright and/or license notices are reproduced verbatim in documenta-
+ tion accompanying binary distributions.
+
+ 3. Attributions are included with documentation accompanying binaries.
+
+Most of these licenses are based on the MIT, X Consortium, or BSD (original
+and revised) licenses. All of them are consistent with the Open Source Defi-
+nition, and most are consistent with the Free Software Foundation's Free
+Software Definition.
+
+Copyright and Licensing information for X, including the reproduction of
+copyright and/or license notices and attributions required by some of the
+licenses for binary distributions, can be found in the License Document. If
+you find any omissions in that document, please contact us with details at
+<xf_board@x.org>. While the current licenses are all open source licenses,
+the X.Org Foundation is attempting, with time, to bring as much as possible
+of the code's licenses in the distribution into compliance with the Debian
+Free Software Guidelines.
+
+3. Pointers to additional information
+
+The documentation for this release can be found online at the X.Org web site
+<URL:http://wiki.x.org/>. Information about binary distributions and the
+attendant installation instructions can be found in the Installation Docu-
+ment.
+
+The X11 version numbering system (including historical information) can be
+found in the Versions Document.
+
+Additional information may be available at the X.Org Foundation Wiki
+<URL:http://wiki.x.org/>.
+
+4. The Public Mailing Lists
+
+Current information about the X.Org Foundation public mailing lists is avail-
+able on the X.Org mailing list page <URL:http://lists.x.org/mail-
+man/listinfo/> and related desktop technology mailing lists can be found on
+Freedesktop.org's mailing list page <URL:http://freedesktop.org/mail-
+man/listinfo>.
+
+5. Contributing to the X.Org Foundation's X efforts.
+
+If you have any new work or enhancements/bug fixes for existing work, please
+send them to <xorg@freedesktop.org> or to our bug tracking system
+<URL:https://bugs.freedesktop.org/> using the xorg component. This will help
+ensure that they are included in future releases.
+
+6. How to get the release
+
+Information about X11R6.9 and X11R7.0 can be found from the X.Org Foundation
+wiki at <URL:http://wiki.x.org>, and at mirrors of this server. Information
+about obtaining and installing binary distributions of this release can be
+found in the Installation Document.
+
+Note that both X11R6.9 and X11R7.0 are being released simultaneously but only
+one source tree is required to build the release. Information about obtain-
+ing the release in source form is given below.
+
+6.1 X11R6.9
+
+The source for version 6.9.0 is available as a single tarball:
+
+ X11R6.9.0-src.tar.gz
+
+and also is available split into seven separate tarballs:
+
+ X11R6.9.0-src1.tar.gz
+ X11R6.9.0-src2.tar.gz
+ X11R6.9.0-src3.tar.gz
+ X11R6.9.0-src4.tar.gz
+ X11R6.9.0-src5.tar.gz
+ X11R6.9.0-src6.tar.gz
+ X11R6.9.0-src7.tar.gz
+
+The first three of the separate tarballs contain everything except the fonts
+and general X11 documentation. Those three are sufficient for building
+X11R6.9 if you already have a set of fonts. The fourth and fifth contain the
+fonts. The sixth contains the source for the general X11 documentation. The
+seventh contains the general X11 documentation in hardcopy format.
+
+6.2 X11R7.0
+
+This is the first release of the new modular source code tree. The souce
+code has been split into nine logical modules: app, data, doc, driver, font,
+lib. proto, util and xserver. Each of these modules contain one or more
+packages that can be configured, built and installed separately. Please see
+an X11R7.0 release site for a complete list of the tarballs.
+
+For information on how to build the modular tree packages see the Modular
+Developer's Guide <URL:http://wiki.x.org/wiki/ModularDevelopersGuide>. This
+guide also contains information for developers who want to help improve the
+modular build system and modular code base.
+
+6.3 The current development tree
+
+The X source code for this and all releases/snapshots as well as development
+versions can also be accessed via the Freedesktop.org CVS repository. It's
+also possible to browse the freedesktop CVS repository
+<URL:http://cvs.freedesktop.org/xorg/>. The CVS tag for the 6.9 version is
+"XORG-6_9_0" and the CVS tag for the 7.0 version is "XORG-7_0_0". The CVS
+tag for the stable branch for the %relvers; release is "XORG-6_9-branch".
+
+To check out the latest development version, don't specify any tag.
+
+7. Reporting Bugs
+
+Bugs should be reported to bug tracking system <URL:https://bugs.freedesk-
+top.org/> using the xorg component. Before reporting bugs, please check the
+server log file, which can be found at /var/log/Xorg.0.log on most platforms.
+If you can't resolve the problem yourself, send the entire log file with your
+bug report but not the operating system core dump. Do not edit the log file
+as our developers use it to reproduce and debug your problem. Please attach
+it to your bug report.
+
+ Generated from Id: README.sgml,v 1.6 alanc Exp $.
+
+
+$XdotOrg: xc/README,v 1.4 2005/12/21 05:39:04 kem Exp $
diff --git a/doc/_attic_/XOrg69_documentation_files/README.crypto b/doc/_attic_/XOrg69_documentation_files/README.crypto
new file mode 100644
index 000000000..f41c62fd1
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/README.crypto
@@ -0,0 +1,64 @@
+Export Requirements.
+
+You may not export or re-export this software or any copy or
+adaptation in violation of any applicable laws or regulations.
+
+Without limiting the generality of the foregoing, hardware, software,
+technology or services provided under this license agreement may not
+be exported, reexported, transferred or downloaded to or within (or to
+a national resident of) countries under U.S. economic embargo
+including the following countries:
+
+Cuba, Iran, Libya, North Korea, Sudan and Syria. This list is subject
+to change.
+
+Hardware, software, technology or services may not be exported,
+reexported, transferred or downloaded to persons or entities listed on
+the U.S. Department of Commerce Denied Persons List, Entity List of
+proliferation concern or on any U.S. Treasury Department Designated
+Nationals exclusion list, or to parties directly or indirectly
+involved in the development or production of nuclear, chemical,
+biological weapons or in missile technology programs as specified in
+the U.S. Export Administration Regulations (15 CFR 744).
+
+By accepting this license agreement you confirm that you are not
+located in (or a national resident of) any country under U.S. economic
+embargo, not identified on any U.S. Department of Commerce Denied
+Persons List, Entity List or Treasury Department Designated Nationals
+exclusion list, and not directly or indirectly involved in the
+development or production of nuclear, chemical, biological weapons or
+in missile technology programs as specified in the U.S. Export
+Administration Regulations.
+
+The X distribution contains cryptography and is
+therefore subject to US government export control under the
+U.S. Export Administration Regulations ("EAR"). EAR Part 740.13(e)
+allows the export and reexport of publicly available encryption source
+code that is not subject to payment of license fee or royalty
+payment. Object code resulting from the compiling of such source code
+may also be exported and reexported under this provision if publicly
+available and not subject to a fee or payment other than reasonable
+and customary fees for reproduction and distribution. This kind of
+encryption source code and the corresponding object code may be
+exported or reexported without prior U.S. government export license
+authorization provided that the U.S. government is notified about the
+Internet location of the software.
+
+The open source software available distributed by X.org is publicly
+available without license fee or royalty payment, and all binary
+software is compiled from the source code. The U.S. government has
+been notified about the location site for the source
+code. Therefore, the source code and compiled object code may be
+downloaded and exported under U.S. export license exception (without a
+U.S. export license) in accordance with the further restrictions
+outlined above regarding embargoed countries, restricted persons and
+restricted end uses.
+
+Local Country Import Requirements. The software you are about to
+download contains cryptography technology. Some countries regulate the
+import, use and/or export of certain products with cryptography. The
+X.org Foundation makes no claims as to the applicability of local
+country import, use and/or export regulations in relation to the
+download of this product. If you are located outside the U.S. and
+Canada you are advised to consult your local country regulations to
+insure compliance.
diff --git a/doc/_attic_/XOrg69_documentation_files/RELNOTES b/doc/_attic_/XOrg69_documentation_files/RELNOTES
new file mode 100644
index 000000000..253c8319e
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/RELNOTES
@@ -0,0 +1,1091 @@
+ Release Notes for X11R6.9 and X11R7.0
+
+ The X.Org Foundation
+ The XFree86 Project, Inc.
+
+ 21 December 2005
+
+ Abstract
+
+ These release notes contains information about features and their
+ status in the X.Org Foundation X11R6.9/X11R7.0 release. It is
+ based on the XFree86 4.4RC2 RELNOTES document published by The
+ XFree86[tm] Project, Inc. There are significant updates and dif-
+ ferences in the X.Org release as noted below.
+
+1. Introduction to the X11R6.9/X11R7.0 Release
+
+This release constitutes the first major version release of the X Window Sys-
+tem in over a decade. The main reasons for the major version bump from 6 to
+7 is that we have moved from what has traditionally been a source codebase
+comprised of many different components brought together into a single mono-
+lithic tree to a source codebase where each of those same components found in
+the monolithic tree are now split into logical modules that can be developed,
+built and maintained separately, but still fit together coherently into the
+larger project. At the same time, we have moved away from the imake build
+system to an autotools build system. By making these changes we have opened
+the source code up to a new generation of developers that can continue to
+build upon the long tradition of the X Window System.
+
+The reason for having simultaneous releases for both the monolithic and modu-
+lar trees is to allow for a transition period as developers, builders and
+vendors incorporate the significant changes to how the tree is built and
+developed into their products and to allow time for additional platforms to
+be supported the modular tree. This initial modular release has support for
+Linux and Solaris. During the transition period, we expect both the mono-
+lithic and modular trees to coexist. For the monolithic tree, we expect that
+there will be maintenance releases in the X11R6.8.x and X11R6.9.x series as
+needed. However, the main development effort will move over to the new modu-
+lar tree.
+
+The X11R7.0 release is the first in the modular series. One of the advan-
+tages of the modular tree is that it allows for more rapid and independent
+updates of module components, so full maintenance releases will no longer be
+required for simple bug fixes. Rather, each module component maintainer can
+prepare new releases as needed. These module component releases will then be
+periodically "rolled up" into official X.Org Foundation releases. The next
+official release will be X11R7.1 and is expected in mid 2006.
+
+For more information on the modularization effort see the Modularization Pro-
+posal <URL:http://wiki.x.org/wiki/ModularizationProposal>, and for help with
+how to build and develop in the new modular tree see Modular Developer's
+Guide <URL:http://wiki.x.org/wiki/ModularDevelopersGuide>.
+
+We encourage you to submit bug fixes and enhancements to freedesktop.org's
+bug tracking system <URL:https://bugs.freedesktop.org/> using the xorg prod-
+uct, and to discuss them on <xorg@lists.freedesktop.org>.
+
+The release numbering is based on the original MIT X numbering system. X11
+refers to the version of the network protocol that the X Window system is
+based on: Version 11 was first released in 1988 and has been stable for 17
+years, with only upward compatible additions to the core X protocol, a record
+of stability envied in computing. Formal releases of X started with X ver-
+sion 9 from MIT; the first commercial X products were based on X version 10.
+The MIT X Consortium and its successors, the X Consortium, the Open Group X
+Project Team, and the X.Org Group released versions X11R3 through X11R6.6,
+before the founding of the X.Org Foundation in early 2004.
+
+The next section describes what is new in the latest version (6.9/7.0) com-
+pared with the previous full release (6.8). The other sections below
+describe some of the new features and changes between 3.3.x and 4.0. There
+are lots of new features, and we definitely don't have enough space to cover
+them all here.
+
+2. Summary of new features in X11R6.9 and X11R7.0
+
+This is a sampling of the new features in X11R6.9/X11R7.0. A more complete
+list of changes can be found in the ChangeLog file that is part of the X
+source tree.
+
+ o EXA support included
+
+ EXA is a new accleration architecture to replace XAA, the current archi-
+ tecture. It is largely based upon KAA in KDrive, and is far more effi-
+ cient at accelerating typical workloads on modern hardware, particularly
+ involving the RENDER extension.
+
+ o FreeType was updated to version 2.1.9. But installing FreeType from X
+ distributions would often or usually result in the replacement or use of
+ "stale" versions of FreeType. On Linux, FreeBSD, Solaris 10, and SCO5,
+ therefore, X11R6.9 will by default use the version of FreeType2 that is
+ installed on the system. If your system doesn't come with an installed
+ FreeType2 and you wish to use the version supplied with this distribu-
+ tion, please add:
+
+ #define HasFreetype2 NO
+
+ to config/cf/host.def.
+
+ o Updated Mesa and DRI from upstream sources
+
+ o More OpenGL extensions
+
+ o Support for Radeon r3xx/r4xx and PCI-Express chips
+
+ o Support for mixed 32-bit and 64-bit clients on 64-bit machines.
+
+ o Individual extensions may be enabled or disabled on the command line
+ using the -extension flag
+
+ o Improved chipset probing for IA64
+
+ o SecureRPC enabled on Linux by default
+
+ o Updated XRX support
+
+ o Fixes to rootless mode for Cygwin and Darwin ports
+
+ o Numerous K&R-to-ANSI C conversions
+
+ o Many Darwin fixes
+
+ o Updated XvMC support, enabling generic loading of hardware-specific
+ drivers
+
+ o Added wsfb video driver for OpenBSD and NetBSD framebuffer consoles
+
+ o Numerous ATI driver updates from the GATOS project, including TV input
+ support
+
+ o Improved ProPolice support
+
+ o Improved module loader support for Alpha chips
+
+ o Added mingw port for native Win32 builds
+
+ o Updated PCI scanning
+
+ o Experimental DRI support for Radeon 9500 and above
+
+ o Updated xterm to #207 from Thomas Dickey's xterm project
+ <URL:http://dickey.his.com/xterm/xterm.html>
+
+ o Added evdev input driver for generic input handling on Linux
+
+ o Switched to libdl-based module loader
+
+ o MMX blending routines for the Render extension
+
+ o Initial support for running the Xorg server without root privileges
+
+ o Add DragonFly BSD support
+
+ o SGI Altix support
+
+ o Support for FreeBSD/powerpc
+
+ o Enhanced software Render core
+
+ o Support for more than 12 buttons in the generic mouse driver
+
+ o Better support for DRI on 64-bit platforms
+
+ o Solaris support updates:
+
+ o enhanced mouse driver
+
+ o agpgart support
+
+ o experimental AMD64 support
+
+ o kbd support
+
+ o /dev/audio keyboard bell option
+
+ o Output-only windows
+
+ o Non-rectangular mergedfb desktops
+
+ o Update bundled fontconfig to 2.3.2
+
+ o Added gradient, solid fill, and convolution filter operations to Render
+
+ o Support for XGI chipsets in SiS video driver
+
+ o Xft updated to 2.1.7
+
+ o Include stack backtraces in logfiles when server crashes on glibc and
+ Solaris systems
+
+ o Multiseat support
+
+ o xload made compatible with 64-bit kernels on Solaris
+
+ o Bundled Mesa upgraded to 6.4.1
+
+ o CAN-2005-2495 security fixes
+
+ o Shared libraries now built for libXau and libXdmcp
+
+ o GNU/kFreeBSD support
+
+2.1 Updated keyboard mappings
+
+The requirement for XKB data can, in the modular tree, be satisfied either by
+the traditional data set (the 'xkbdata' module), or by the dataset from the
+xkeyboard-config project (the 'xkbdesc' module). xkbdesc has numerous
+improvements relative to xkbdata: layouts have been cleaned up for consis-
+tency and universal multi-layout support, some new layouts have added, and
+some layouts have changed names to be more straightforward and ISO compliant.
+Some setups will need adjustments in order to use xkbdesc.
+
+2.2 New loader mechanism
+
+The loader now uses the standard libdl-based loader, instead of implementing
+its own ELF loading and parsing mechanism. This extends loadable server sup-
+port to many platforms where it was not previously possible, such as MIPS,
+Motorola 68000, HP PA/RISC, et al. The core loader itself has also been sig-
+nificantly optimised.
+
+2.3 Video driver enhancements
+
+ o SiS driver updates include
+
+ o Support for EXA acceleration
+
+ o Support for non-rectangular MergedFB, including RandR
+
+ o Support for XGI chipsets
+
+ o New sisusb driver for USB-attached video
+
+ o ATI driver updates
+
+ o Mach64 TV out support
+
+ o Rage 128 driver updates
+
+ o Added dualhead support
+
+ o Radeon driver updates
+
+ o Support for non-rectangular MergedFB
+
+ o Support for EXA acceleration
+
+ o Full 3D support for r3xx/r4xx series, and PCI-Express
+
+ o Support for RN50/ES1000 chips
+
+ o VIVO support merged from the GATOS project
+
+ o Hostdata blit support for Xv videos and RENDER images
+
+ o BIOS hotkey support
+
+ o Tiled framebuffer support
+
+ o MGA driver updates
+
+ o New BIOS parsing
+
+ o i810 driver updates
+
+ o i915GM, i945G and E7221 support
+
+ o Linux power management support (ACPI)
+
+ o BIOS hotkey support
+
+ o ShadowFB support
+
+ o Improved DDC support
+
+ o SunFFB driver updates
+
+ o XAA acceleration
+
+ o Savage driver updates
+
+ o Support for PCI Savages
+
+ o Added dualhead and DRI support
+
+ o Newport driver updates
+
+ o XAA acceleration
+
+ o VIA driver updates
+
+ o Unichrome Pro support
+
+ o DRI support
+
+ o NV driver updates
+
+ o DPMS support for GeForce4 and greater laptops
+
+ o VMWare driver updates
+
+ o RandR support
+
+3. Drivers
+
+3.1 Video Drivers
+
+X11R6.9/X11R7.0 includes the following video drivers:
+
++--------------+--------------------------+---------------------------------------------+
+|Driver Name | Description | Further Information |
++--------------+--------------------------+---------------------------------------------+
+|apm | Alliance Pro Motion | README.apm |
+|ark | Ark Logic | |
+|ati | ATI | README.ati, README.r128, r128(4), radeon(4) |
+|chips | Chips & Technologies | README.chips, chips(4) |
+|cirrus | Cirrus Logic | |
+|cyrix (*) | Cyrix MediaGX | README.cyrix |
+|fbdev | Linux framebuffer device | fbdev(4) |
+|glide | Glide2x (3Dfx) | glide(4) |
+|glint | 3Dlabs, TI | glint(4) |
+|i128 | Number Nine | README.I128, i128(4) |
+|i740 | Intel i740 | README.i740 |
+|i810 | Intel i8xx | README.i810, i810(4) |
+|imstt | Integrated Micro Solns | |
+|mga | Matrox | mga(4) |
+|neomagic | NeoMagic | neomagic(4) |
+|newport (-) | SGI Newport | README.newport, newport(4) |
+|nsc | National Semiconductor | nsc(4) |
+|nv | NVIDIA | nv(4) |
+|rendition | Rendition | README.rendition, rendition(4) |
+|s3 | S3 (not ViRGE or Savage) | |
+|s3virge | S3 ViRGE | README.s3virge, s3virge(4) |
+|savage | S3 Savage | savage(4) |
+|siliconmotion | Silicon Motion | siliconmotion(4) |
+|sis | SiS | README.SiS, sis(4) |
+|sisusb | SiS USB | sisusb(4) |
+|sunbw2 (+) | Sun bw2 | |
+|suncg14 (+) | Sun cg14 | |
+|suncg3 (+) | Sun cg3 | |
+|suncg6 (+) | Sun GX and Turbo GX | |
+|sunffb (+) | Sun Creator/3D, Elite 3D | |
+|sunleo (+) | Sun Leo (ZX) | |
+|suntcx (+) | Sun TCX | |
+|tdfx | 3Dfx | tdfx(4) |
+|tga | DEC TGA | README.DECtga |
+|trident | Trident | trident(4) |
+|tseng | Tseng Labs | |
+|vesa | VESA | vesa(4) |
+|vga | Generic VGA | vga(4) |
+|via | VIA | via(4) |
+|vmware | VMware guest OS | vmware(4) |
++--------------+--------------------------+---------------------------------------------+
+
+Drivers marked with (*) are present in a preliminary form in this release,
+but are not complete and/or stable yet.
+
+Drivers marked with (+) are for Linux/Sparc only.
+
+Drivers marked with (-) are for Linux/mips only.
+
+Darwin/Mac OS X uses IOKit drivers and does not use the module loader drivers
+listed above. Further information can be found in README.Darwin.
+
+3.2 Input Drivers
+
+X11R6.9/X11R7.0 includes the following input drivers:
+
+ +------------+----------------------------------+---------------------+
+ |Driver Name | Description | Further Information |
+ +------------+----------------------------------+---------------------+
+ |aiptek(*) | Aiptek USB tablet | aiptek(4) |
+ |calcomp | Calcomp | |
+ |citron | Citron | citron(4) |
+ |digitaledge | DigitalEdge | |
+ |dmc | DMC | dmc(4) |
+ |dynapro | Dynapro | |
+ |elographics | EloGraphics | |
+ |evdev(*) | EvDev | |
+ |fpit | Fujitsu Stylistic Tablet PCs | fpit(4) |
+ |hyperpen | Aiptek HyperPen 6000 | |
+ |js_x | JamStudio pentablet | js_x(4) |
+ |kbd | generic keyboards (alternate) | kbd(4) |
+ |keyboard | generic keyboards | keyboard(4) |
+ |microtouch | MicroTouch | |
+ |mouse | most mouse devices | mouse(4) |
+ |mutouch | MicroTouch | |
+ |palmax | Palmax PD1000/PD1100 | palmax(4) |
+ |penmount | PenMount | |
+ |spaceorb | SpaceOrb | |
+ |summa | SummaGraphics | |
+ |tek4957 | Tektronix 4957 tablet | tek4957(4) |
+ |ur98(*) | Union Reality UR-F98 headtracker | ur98(4) |
+ |void | dummy device | void(4) |
+ |wacom(-) | Wacom tablets | wacom(4) |
+ +------------+----------------------------------+---------------------+
+
+Drivers marked with (*) are available for Linux only.
+
+Drivers marked with (-) are available for X11R6.9 only.
+
+4. Overview of X11R6.9 and X11R7.0
+
+On most platforms, X11R6.9/X11R7.0 has a single X server binary called Xorg.
+This binary can either have one or more video and input drivers linked in
+statically, or more usually, dynamically, and in that manner load the video
+drivers, input drivers, and other modules that are needed.
+
+X11R6.9 has X server support for most UNIX and UNIX-like operating systems
+on Intel/x86 platforms, plus support for Linux and some BSD OSs on Alpha,
+PowerPC, IA-64, AMD64, Sparc, and Mips platforms, and for Darwin on PowerPC.
+X11R7.0 has X server currently has support for Linux and Solaris, and is
+expected to have other platform support in X11R7.1.
+
+4.1 Loader and Modules
+
+The X server has a built-in run-time loader, which can load normal object
+files and libraries in most of the commonly used formats. The loader does
+not rely on an operating system's native dynamic loader support and it works
+on platforms that do not provide this feature. This allows for the modules
+to be operating system independent (although not, of course, CPU architecture
+independent) which means that a module compiled on Linux/x86 can be loaded by
+an X server running on Solaris/x86, or FreeBSD, or even OS/2.
+
+A main benefit of this, is that when modules are updated, they do not need to
+be recompiled for every different operating system. The loader in version
+6.9/7.0 has support for Intel (x86), Alpha and PowerPC platforms. It also
+has preliminary support for Sparc platforms.
+
+The X server makes use of modules for video drivers, X server extensions,
+font rasterisers, input device drivers, framebuffer layers (like mfb, cfb,
+etc), and internal components used by some drivers (like XAA),
+
+The module interfaces (both API and ABI) used in this release are subject to
+change without notice. While we will attempt to provide backward compatibil-
+ity for the module interfaces as of the 4.0 release (meaning that 4.0 modules
+will work with future core X server binaries), we cannot guarantee this.
+Compatibility in the other direction is explicitly not guaranteed because new
+modules may rely on interfaces added in new releases.
+
+Note about module security
+
+ The X server runs with root privileges, i.e., the X server loadable
+ modules also run with these privileges. For this reason we recom-
+ mend that all users be careful to only use loadable modules from
+ reliable sources, otherwise the introduction of viruses and con-
+ taminated code can occur and wreak havoc on your system. We hope
+ to have a mechanism for signing/verifying the modules that we pro-
+ vide available in a future release.
+
+4.2 Configuration File
+
+The X server uses a configuration file as the primary mechanism for providing
+configuration and run-time parameters. The configuration file format is
+described in detail in the xorg.conf(5) manual page.
+
+This release comes with a graphical configuration tool called "xorgcfg",
+which also has a text mode interface and can be used to create an initial
+configuration file. It can also be used to customise existing configurations.
+
+Next in the order of configuration preferences is to use the Xorg server's
+ability to create a starting configuration file. Run as root:
+
+ Xorg -configure
+
+ and follow the instructions.
+
+Finally, if all else fails, the trusty old standby text-based tool "xorgcon-
+fig" can also be used for generating X server config files.
+
+At least one, and hopefully, all of these configuration options will give you
+a reasonable starting point for a suitable configuration file. With the
+automatic mechanism you might even find that you don't need one!
+
+If you do need to customize the configuration file, see the xorg.conf manual
+page. You can also check the driver-specific manual pages and the related
+documentation (found at tables below (section , page ) also.
+
+4.3 Command Line Options
+
+Command line options can be used to override some default parameters and
+parameters provided in the configuration file. These command line options
+are described in the Xorg(1) manual page.
+
+4.4 XAA
+
+The XFree86 Acceleration Architecture (XAA) was completely rewritten from
+scratch for XFree86 4.x and is used in X11R6.9/X11R7.0. Most drivers imple-
+ment acceleration by making use of the XAA module. The Xorg server will
+accept modules built either for XFree86 4.4 servers or its own.
+
+4.5 Multi-head
+
+Some multi-head configurations are supported in X11R6.9/X11R7.0, primarily
+with multiple PCI/AGP cards.
+
+One of the main problems is with drivers not sufficiently initialising cards
+that were not initialised at boot time. This has been improved somewhat with
+the INT10 support that is used by most drivers (which allows secondary card
+to be "soft-booted", but in some cases there are other issues that still need
+to be resolved. Some combinations can be made to work better by changing
+which card is the primary card (either by using a different PCI slot, or by
+changing the system BIOS's preference for the primary card).
+
+4.6 Xinerama
+
+Xinerama is an X server extension that allows multiple physical screens to
+behave as a single screen. With traditional multi-head in X11, windows can-
+not span or cross physical screens. Xinerama removes this limitation. Xin-
+erama does, however, require that the physical screens all have the same root
+depth, so it isn't possible, for example, to use an 8-bit screen together
+with a 16-bit screen in Xinerama mode.
+
+Xinerama is not enabled by default, and can be enabled with the +xinerama
+command line option for the X server.
+
+Xinerama was included with X11R6.4. The version included in X11R6.9/X11R7.0
+was completely rewritten for improved performance and correctness.
+
+Known problems:
+
+ o Most window managers are not Xinerama-aware, and so some operations like
+ window placement and resizing might not behave in an ideal way. This is
+ an issue that needs to be dealt with in the individual window managers,
+ and isn't specifically an X server problem.
+
+4.7 DGA version 2
+
+DGA 2.0 is included in 6.9/7.0. Documentation for the client libraries can
+be found in the XDGA(3) man page. A good degree of backwards compatibility
+with version 1.0 is provided.
+
+4.8 DDC
+
+The VESA Display Data Channel (DDC[tm]) standard allows the monitor to tell
+the video card (or on some cases the computer directly) about itself; partic-
+ularly the supported screen resolutions and refresh rates.
+
+Partial or complete DDC support is available in most of the video drivers.
+DDC is enabled by default, but can be disabled with a "Device" section entry:
+Option "NoDDC". We have support for DDC versions 1 and 2; these can be dis-
+abled independently with Option "NoDDC1" and Option "NoDDC2".
+
+At startup the server prints out DDC information from the display, and can
+use this information to set the default monitor parameters, or to warn about
+monitor sync limits if those provided in the configuration file don't match
+those that are detected.
+
+4.8.1 Changed behavior caused by DDC.
+
+Several drivers uses DDC information to set the screen size and pitch. This
+can be overridden by explicitly resetting it to the and non-DDC default value
+75 with the -dpi 75 command line option for the X server, or by specifying
+appropriate screen dimensions with the "DisplaySize" keyword in the "Monitor"
+section of the config file.
+
+4.9 GLX and the Direct Rendering Infrastructure (DRI)
+
+Direct rendered OpenGL support is provided for several hardware platforms by
+the Direct Rendering Infrastructure (DRI). Further information about DRI can
+be found at the DRI Project's web site <URL:http://dri.sf.net/>. The 3D core
+rendering component is provided by Mesa <URL:http://www.mesa3d.org>.
+
+4.10 XVideo Extension (Xv)
+
+The XVideo extension is supported in X11R6.7.x. An XvQueryPortAttributes
+function has been added as well as support for XvImages. XvImages are XIm-
+ages in alternate color spaces such as YUV and can be passed to the server
+through shared memory segments. This allows clients to display YUV data with
+high quality hardware scaling and filtering.
+
+4.11 X Rendering Extension (Render)
+
+The X Rendering extension provides a 2D rendering model that more closely
+matches application demands and hardware capabilities. It provides a render-
+ing model derived from Plan 9 based on Porter/Duff image composition rather
+than binary raster operations.
+
+Using simple compositing operators provided by most hardware, Render can draw
+anti-aliased text and geometric objects as well as perform translucent image
+overlays and other image operations not possible with the core X rendering
+system.
+
+Unlike the core protocol, Render provides no font support for applications,
+rather it allows applications to upload glyphs for display on the screen.
+This allows the client greater control over text rendering and complete
+access to the available font information while still providing hardware
+acceleration. The Xft library provides font access for Render applications.
+
+4.11.1 The Xft Library
+
+On the client side, the Xft library provides access to fonts for applications
+using the FreeType library, version 2. One important thing to note is that
+Xft uses the vertical size of the monitor to compute accurate pixel sizes for
+provided point sizes; if your monitor doesn't provide accurate information
+via DDC, you may want to add that information to xorg.conf.
+
+To allow a graceful transition for applications moving from core text render-
+ing to the Render extension, Xft can use either the core rendering requests
+or the Render extension for text. See the section on FreeType support in Xft
+for instructions on configuring X11R6.9/X11R7.0 to use an existing FreeType
+installation.
+
+The Xft library uses configuration files, /etc/fonts/fonts.conf and
+/etc/fonts/local.conf, which contains information about which directories
+contain font files and also provides a sophisticated font aliasing mechanism.
+Documentation for that file is included in the Xft(3) man page.
+
+4.11.2 Application Support For Anti-Aliased Text
+
+Only four applications have been modified in X11R6.9/X11R7.0 to work with the
+Render extension and the Xft and FreeType libraries to provide anti-aliased
+text: xterm, xditview, x11perf and xclock. Migration of other applications
+may occur in future releases.
+
+By default, xterm uses core fonts through the standard core API. It has a
+command line option and associated resource to direct it to use Xft instead:
+
+ o -fa family / .VT100.faceName: family. Selects the font family to use.
+
+Xditview will use Xft instead of the core API by default. X11perf includes
+tests to measure the performance of text rendered in three ways, anti-
+aliased, anti-aliased with sub-pixel sampling and regular chunky text, but
+through the Render extension, a path which is currently somewhat slower than
+core text.
+
+Xclock uses the Render extension to draw the analog face and shares the -fa
+option and faceName resources with xterm to select a font for the digital
+mode.
+
+4.12 Other extensions
+
+The XFree86-Misc extension has not been fully ported to the new server archi-
+tecture yet. This should be completed in a future release.
+
+The XFree86-VidModeExtension extension has been updated, and mostly ported to
+the new server architecture. The area of mode validation needs further work,
+and the extension should be used with care. This extension has support for
+changing the gamma setting at run-time, for modes where this is possible.
+The xgamma utility makes use of this feature. Compatibility with the 3.3.x
+version of the extension is provided. The missing parts of this extension
+and some new features should be completed in a future release.
+
+4.13 xedit
+
+Xedit has several new features, including:
+
+ o An embedded lisp interpreter that allows easier extension of the editor.
+
+ o Several new syntax highlight modes, and indentation rules for C and
+ Lisp.
+
+ o Flexible search/replace interface that allows regex matches.
+
+ o Please refer to xedit(1) for more details.
+
+ o XPrint support.
+
+4.14 Font support
+
+Details about the font support in X11R6.9.x/X11R7.0.x can be found in the
+README.fonts document.
+
+4.15 TrueType support
+
+X11R6.7 came with two TrueType backends. The functionality from the `X-True-
+Type' backend has been integrated into the `FreeType' backend which is
+designed to transparently support all of the functionality from the `X-True-
+Type' backend with the exception of the font encoding libraries; the
+`FreeType' backend uses only the fontenc-based encoding system .
+
+4.16 CID font support
+
+Support for CID-keyed fonts is included in X11R6.9/X11R7.0 The CID-keyed font
+format was designed by Adobe Systems <URL:http://www.adobe.com> for fonts
+with large character sets. The CID-keyed font support in X11R6.9/X11R7.0 was
+donated by SGI <URL:http://www.sgi.com>. See the LICENSE document for a copy
+of the CID Font Code Public License.
+
+4.17 Internationalisation of the scalable font backends
+
+X11R6.9/X11R7.0 has a ``fontenc'' layer to allow the scalable font backends
+to use a common method of font re-encoding. This re-encoding makes it possi-
+ble to uses fonts in encodings other than their their native encoding. This
+layer is used by the Type1 and FreeType backends.
+
+4.18 Large font optimisation
+
+The glyph metrics array, which all the X clients using a particular font have
+access to, is placed in shared memory, so as to reduce redundant memory con-
+sumption. For non-local clients, the glyph metrics array is transmitted in a
+compressed format.
+
+4.19 Unicode/ISO 10646 support
+
+What is included in X11R6.9/X11R7.0
+
+ o All ``-misc-fixed-*'' BDF fonts are now available in the ISO10646-1
+ encoding and cover at least the 614 characters found in ISO
+ 8859-{1-5,7-10,14,15}, CP1252, and MES-1. The non-bold fonts also cover
+ all Windows Glyph List 4 (WGL4) characters, including those found in all
+ 8-bit MS-DOS/Windows code pages. The 8-bit variants of the ``-misc-
+ fixed-*'' BDF fonts (ISO8859-1, ISO8859-2, KOI8-R, etc.) have all been
+ automatically generated from the new ISO10646-1 master fonts.
+
+ o Some ``-misc-fixed-*'' BDF ISO10646-1 fonts now cover a comprehensive
+ Unicode repertoire of over 3000 characters including all Latin, Greek,
+ Cyrillic, Armenian, Gregorian, Hebrew, IPA, and APL characters, plus
+ numerous scientific, typographic, technical, and backwards-compatibility
+ symbols. Some of these fonts also cover Arabic, Ethiopian, Thai,
+ Han/Kanji, Hangul, full ISO 8859, and more. For the 6x13 font there is
+ now a 12x13ja Kanji extension and for the 9x18 font there is a 18x18ja
+ Kanji/Han/Hangul extension, which covers all ISO-2022-JP-2 (RFC 1554)
+ characters. The 9x18 font can also be used to implement simple combining
+ characters by accent overstriking. For more information, read Markus
+ Kuhn's UTF-8 and Unicode FAQ <URL:http://www.cl.cam.ac.uk/~mgk25/uni-
+ code.html>.
+
+ o Mark Leisher's ClearlyU proportional font (similar to Computer Modern).
+
+ o ISO 10646/Unicode UTF-8 Level 1 support added to xterm (enabled with the
+ -u8 option).
+
+ o The Freetype backend (the "freetype" module) supports Unicode-encoded
+ fonts.
+
+4.20 Xlib Compose file support and extensions
+
+A more flexible Compose file processing system was added to Xlib in
+X11R6.9/X11R7.0. The compose file is searched for in the following order:
+
+ 1. If the environment variable $XCOMPOSEFILE is set, its value is used as
+ the name of the Compose file.
+
+ 2. If the user's home directory has a file named ".XCompose", it is used
+ as the Compose file.
+
+ 3. The old method is used, and the compose file is "<xlocaledir>/<locale-
+ name>/Compose".
+
+Compose files can now use an "include" instruction. This allows local modi-
+fications to be made to existing compose files without including all of the
+content directly. For example, the system's iso8859-1 compose file can be
+included with a line like this:
+
+ include "/usr/X11R6/lib/X11/locale/iso8859-1/Compose"
+
+There are two substitutions that can be made in the file name of the include
+instruction. %H expands to the user's home directory (the $HOME environment
+variable), and %L expands to the name of the locale specific Compose file
+(i.e., "<xlocaledir>/<localename>/Compose").
+
+For example, you can include in your compose file the default Compose file by
+using:
+
+ include "%L"
+
+and then rewrite only the few rules that you need to change. New compose
+rules can be added, and previous ones replaced.
+
+Finally, it is no longer necessary to specify in the right part of a rule a
+locale encoded string in addition to the keysym name. If the string is omit-
+ted, Xlib figures it out from the keysym according to the current locale.
+I.e., if a rule looks like:
+
+ <dead_grave> <A> : "\300" Agrave
+
+the result of the composition is always the letter with the "\300" code. But
+if the rule is:
+
+ <dead_grave> <A> : Agrave
+
+the result depends on how Agrave is mapped in the current locale.
+
+4.21 Bitstream Vera fonts
+
+X11R6.9 includes the Bitstream Vera family of typefaces in TrueType format.
+This family includes the ``Bitstream Vera Sans'', ``Bitstream Vera Sans
+Mono'' and ``Bitstream Vera Serif'' in Roman and Bold varients as well as the
+``Bitstream Vera Sans'' and ``Bitstream Vera Sans Mono'' in Oblique and Bold
+Oblique. These fonts include all of the glyphs needed for ISO 8859 parts 1
+9 and 15.
+
+The license terms for the Vera fonts are inclued in the file COPYRIGHT.Vera>.
+
+4.22 Luxi fonts from Bigelow and Holmes
+
+The X distribution includes the ``Luxi'' family of Type 1 fonts and TrueType
+fonts. This family consists of the fonts ``Luxi Serif'', ``Luxi Sans'' and
+``Luxi Mono'' in Roman, oblique, bold and bold oblique variants. The True-
+Type version have glyphs covering the basic ASCII Unicode range, the Latin 1
+range, as well as the Extended Latin range and some additional punctuation
+characters. In particular, these fonts include all the glyphs needed for
+ISO 8859 parts 1, 2, 3, 4, 9, 13 and 15, as well as all the glyphs in the
+Adobe Standard encoding and the Windows 3.1 character set.
+
+The glyph coverage of the Type 1 versions is somewhat reduced, and only cov-
+ers ISO 8859 parts 1, 2 and 15 as well as the Adobe Standard encoding.
+
+The Luxi fonts are original designs by Kris Holmes and Charles Bigelow from
+Bigelow and Holmes Inc., who developed the Luxi typeface designs in Ikarus
+digital format. URW++ Design and Development GmbH converted the Ikarus for-
+mat fonts to TrueType and Type 1 font programs and implemented the grid-fit-
+ting "hints" and kerning tables in the Luxi fonts.
+
+The license terms for the Luxi fonts are included in the file `COPYRIGHT.BH',
+as well as in the License document. For further information, please contact
+<design@bigelowandholmes.com> or <info@urwpp.de>, or consult the URW++ web
+site <URL:http://www.urwpp.de>.
+
+5. Miscellaneous
+
+This section describes other items of note for the X11R6.9/X11R7.0 release.
+
+5.1 Legacy keyboard driver phase-out
+
+The legacy keyboard driver is no longer compiled into the X server by default
+on certain platforms (including Linux). The newer kbd driver replaces the
+older built-in driver. It is suggested that, if the X server says that it
+cannot load the keyboard driver, then the xorg.conf file should be updated to
+use the new kbd driver, which can be done by changing the Driver line in the
+InputDevice section. For example,
+
+ Section "InputDevice"
+ Identifier "Keyboard0"
+ Driver "kbd"
+ EndSection
+
+Note that the driver name is case-sensitive.
+
+5.2 Socket directory ownership and permissions
+
+The socket directories created in /tmp are now required to be owned by root
+and have their sticky-bit set. If the permissions are not set correctly, the
+component using this directory will print an error message and fail to start.
+Common socket directories that are known to be affected include:
+
+ /tmp/.font-unix
+ /tmp/.ICE-unix
+ /tmp/.X11-unix
+
+These directories are used by the font server, xfs, applications using the
+Inter-Client Exchange protocol (ICE) and the X server, respectively.
+
+There are several solutions to the problem of when to create these directo-
+ries. They could be created at install time by the system's installer if the
+/tmp dir is persistent. They could be created at boot time by the system's
+boot scripts (e.g., the init.d scripts). Or, they could be created by PAM
+modules at service startup or user login time.
+
+The solution chosen is platform dependent, and the system administrator
+should be able to handle creating those directories on any systems that do
+not have the correct ownership or permissions.
+
+5.3 Composite exposes extra visuals
+
+When the Composite extension is enabled via xorg.conf or the command line, a
+new visual is created. This visual is different from the other visuals used
+by X applications in that it includes an alpha component. It is used by the
+compositing manager and other Composite aware applications.
+
+Most X applications ignore this visual since it is not useful to them; how-
+ever some applications mistakenly try to use it, which will cause them to
+fail. An environment variable, XLIB_SKIP_ARGB_VISUALS, was added to the X11
+library to hide this visual from applications that mistakenly try to use it.
+If an application fails only when the Composite is enabled, try setting this
+environment variable before starting the application.
+
+Since Composite is not enabled by default, it is not expected that this issue
+will be visible to most users.
+
+6. Deprecated components and removal plans
+
+This section lists current plans for removal of obsolete or deprecated compo-
+nents in the X.Org releases. As our releases are open source, users who con-
+tinue to require these can find the source in previous releases and continue
+to use these, but the X.Org Foundation and its volunteers have decided the
+burden of continued maintenance and distribution in the core X11 releases
+outweighs the benefits of doing so. In some cases, this is simply because no
+one has volunteered to do continued maintenance, so if software is listed
+here that you need, you can contact <xorg@lists.freedesktop.org> to volunteer
+to take over maintainership, either inside or outside of the Xorg release
+process.
+
+ Display Postscript (DPS)
+ The DPS software is included and built by default (except as
+ noted in README.dps) in the X.Org X11R6.8 release series. The
+ software will be included, but not built unless specifically con-
+ figured by the builder, in the X.Org X11R6.9 release series. At
+ this time, X.Org does not plan to include any of the DPS software
+ in X11R7.0 or later releases. For more information, see xc/pro-
+ grams/Xserver/hw/xfree86/doc/README.dps in the X.Org source
+ release.
+
+7. Attributions/Acknowledgements/Credits
+
+This section lists the credits for the X11R6.9/X11R7.0 release. For a more
+detailed breakdown, refer to the ChangeLog file in the X.Org source tree, the
+ChangeLog's in or the 'cvs log' information for individual source files."
+
+ These people contributed in some way to X11R6.9/X11R7.0
+ Kenneth Aafly, Dave Airlie, Andrew C. Aitchison, Antti Ajanki,
+ Stuart Anderson, Eric Anholt, Xavier Bachelot, Joshua Baergen,
+ Terry Barnaby, Jesse Barnes, Michael Banck, Olivier Baudron,
+ Dominik Behr, J. Scott Berg, Cedric Berger, Donnie Berkholz,
+ Thomas Biege, Billy Biggs, Jrg Billeter, Dmitry Bolkhovitanov,
+ Andy Bowers, Peter Breitenlohner, Kevin Brosius, Rob Brown, Jan
+ Brunner, Andy Burrows, Lennert Buytenhek, Neil Campbell, Pierre
+ Chifflier, Juliusz Chroboczek, Andrew Church, David M. Clay,
+ James Cloos, Alan Coopersmith, Jay Cotton, Bill Crawford, Grze-
+ gorz Dbrowski, Michel Dnzer, Kevin DeKorte, Leif Delgass,
+ Vladimir Dergachev, Alex Deucher, Stefaan DeRoeck, Bogdan Dia-
+ conescu, Thomas Dickey, Fabio M. Di Nitto, Stefan Dirsch, Dima
+ Dorfman, Egbert Eich, Hannes Eriksson, Chris Evans, Mike Fabian,
+ Helmut Fahrion, Micha Feigin, Werner Fink, Jordan Frank, Fabian
+ Franz, Matthias Frlich, George Fufutos, Bdale Garbee, Jim Get-
+ tys, Chris Gilbert, Jerome Glisse, Ortwin Glck, Shelley Gong,
+ Michael Gor, Alexander Gottwald, Peter Grehan, Nicolai Haehnle,
+ Bruno Haible, Miroslav Halas, Mike A. Harris, Colin Harrison,
+ John Harper, Olli Helenius, Bjorn Helgaas, Thomas Hellstrm, Olaf
+ Hering, Matthieu Herrb, Benjamin Herrenschmidt, Ivor Hewitt,
+ Masakazu HIGAKI, Leon Ho, Jay Hobson, Kristian Hgsberg, Fredrick
+ Hglund, Gerte Hoogewerf, Matthias Hopf, Tony Houghton, Alan
+ Hourihane, Jeremy Huddleston, Falk Hueffner, Adam Jackson, Kean
+ Johnston, Nicolas Joly, Dave Jones, Anders Kaseorg, Egmont
+ Koblinger, Greg Kroah-Hartman, Felix Kuehling, Markus Kuhn, Klaus
+ Kusche, Vladimir Kushnir, Marc Aurele La France, Julien Lafon,
+ Pierre Lalet, Philip Langdale, Sam Lau, Nolan Leake, Germain Le-
+ Chapelain, Chris Lee, Allen Leinwand, Vincent Le Ligeour,
+ Jonathan Lennox, Dejan Lesjak, Terry Lewis, Sophia Li, Vedran
+ Ljubovic, Andreas Luik, Lubos Lunak, Torrey T. Lyons, Stephen
+ Kennedy, Mark Kettenis, Mark Kilgard, Min Sik Kim, Lars Knoll,
+ Egmont Koblinger, David Krause, Stuart Kreitman, Tomohiro
+ KUBOITA, Eric Kunze, Paul Mackerras, Roland Mainz, Stephane
+ Marchesin, Kevin E. Martin, David Martnez Moreno, Ferris
+ McCormick, Mark McLoughlin, Dan McNichol, Marcus Meissner, Fred-
+ erico Mena-Quintero, Robert Millan, David S. Miller, Srgio
+ Montero Basto, Thomas J. Moore, Jeff Muizelaar, Shrijeet Mukher-
+ jee, ISHIKAWA Mutsumi, Gustavo Noronha Silva, Krzysztof Nowicki,
+ Mike Owens, Keith Packard, Drew Parsons, Brian Paul, Diego Pet-
+ ten, Sren Sandmann Pedersen, Pieter Peers, Hong Bo Peng, Rune
+ Petersen, Daphne Pfister, Andrew Pimlott, Aaron Plattner, Bill
+ Randle, Joris van Rantwijk, Anuradha Ratnaweera, Jeremy C. Reed,
+ Thomas Reifferscheid, Alex Reisen, Bernhard Reiter, Andreas
+ Robinson, Branden Robinson, Felipe Rodriguez, Ian Romanick, Alex
+ Romosan, Bernhard Rosenkraenzer, Jeroen Ruigrok, Zack Rusin, Leo
+ Savernik, Christophe Saout, Marcus Schaefer, Roland Scheidegger,
+ David Schleef, Michael Schroeder, Andreas Schuldei, Andreas
+ Schwab, Stanislaw Skowronek, Jon Smirl, Jeff Smith, Jakub Sta-
+ chowshi, Sam Stephenson, Tobis Stoeckmann, Daniel Stone, Aivils
+ Stoss, James Su, Ienup Sung, Alan Swanson, Aapo Tahkola,
+ Hidetoshi Tajima, Owen Taylor, Bob Terek, Samuel Thibault, Sergey
+ Tikhonov, Simon Toedt, Yuri Vasilevski, Luc Verhaegen, Mike
+ Verona, Ronny V. Vindenes, Mark Vojkovich, Detlef Vollman,
+ Stphane VOLTZ, Jochen Voss, Derek Wang, Tim Waugh, Keith
+ Whitwell, Nathan J. Williams, Alex Williamson, Thomas Winis-
+ chhofer, David Wong, David Woodhouse, Carl Worth, Michael
+ Yaroslavtsev, Tim Yamin, Cha Young-Ho, Hui Yu, Austin Yuan, Henry
+ Zhao
+
+The X Window System has been a collaborative effort from its inception. Our
+apologies for anyone or organization inadvertently overlooked. Many individ-
+uals (including major contributors) who worked on X are represented by their
+employers in this list.
+
+ This product includes software developed by:
+ Paul Anderson, Michael Bax, Jehan Bing, Peter Breitenlohner, Alan
+ Coopersmith, Egbert Eich, John Dennis, Fabrizio Gennari, Jim Get-
+ tys, Alexander Gottwald, Ralf Habacker Mike Harris, Matthieu
+ Herrb, Alan Hourihane, Harold L Hunt II, Elliot Lee, Jeremy Katz,
+ Kaleb Keithley, Stuart Kreitman, Andreas Luik, Torrey Lyons,
+ Roland Mainz, Kevin E. Martin, Takuma Murakami, Kensuke Mat-
+ suzaki, Keith Packard, Ivan Pascal, Earle F. Philhower III, Ben-
+ jamin Rienfenstahl, Leon Shiman, Toshimitsu Tanaka, Nicholas
+ Wourms.
+
+ 2d3d Inc., 3Dlabs Inc. Ltd., Aaron Plattner, Adam de Boor, Adam
+ Jackson, Adobe Systems Inc., After X-TT Project, AGE Logic Inc.,
+ Alan Coopersmith, Alan Cox, Alan Hourihane, Alexander Gottwald,
+ Alex Deucher, Anders Carlsson, Andreas Luik, Andreas Monitzer,
+ Andreas Robinson, Andrew C Aitchison, Andy Ritger, Angus Lees,
+ Ani Joshi, Anton Zioviev, Apollo Computer Inc., Apple Computer
+ Inc., Ares Software Corp., AT&T Inc., ATI Technologies Inc., BEAM
+ Ltd., Ben Skeggs, Benjamin Herrenschmidt, Benjamin Rienfenstahl,
+ Bigelow and Holmes, Bill Reynolds, Bitstream Inc., Bogdan Dia-
+ conescu, Branden Robinson, Brian Fundakowski Feldman, Brian
+ Goines, Brian Paul, Bruno Haible, Bryan Stine, Catharon Produc-
+ tions Inc., Charles Murcko, Chen Xiangyang, Chisato Yamauchi,
+ Chris Constello, Christian Zietz, Cognition Corp., Compaq Com-
+ puter Corporation, Concurrent Computer Corporation, Conectiva
+ S.A., Corin Anderson, Craig Struble, Daewoo Electronics Co. Ltd.,
+ Dale Schumacher, Damien Miller, Daniel Berrange, Daniel Borca,
+ Daniel Stone, Daniver Limited, Daryll Strauss, Data General Cor-
+ poration, Dave Airlie, David Bateman, David Dawes, David E. Wex-
+ elblat, David Holland, David J. McKay, David McCullough, David
+ Mosberger-Tang, David S. Miller, Davor Matic, Deron Johnson,
+ Digeo Inc., Digital Equipment Corporation, Dirk Hohndel, Doug
+ Anson, Dmitry Golubev, Earle F. Philhower III, Edouard TISSERANT,
+ Eduardo Horvath, Egbert Eich, Elliot Lee, Eric Anholt, Eric For-
+ tune, Eric Sunshine, Erik Fortune, Erik Nygren, Evans & Suther-
+ land Computer Corporation, Fabio Massimo Di Nitto, Fabrizio Gen-
+ nari, Felix Kuehling, Finn Thoegersen, Francesco Zappa Nardelli,
+ Frank C. Earl, Frederic Lepied, Free Software Foundation Inc.,
+ Fujitsu Limited, Fujitsu Open Systems Solutions Inc., Fuji Xerox
+ Co. Ltd., Geert Uytterhoeven, Gerrit Jan Akkerman, Gerry Toll,
+ Glenn G. Lai, GNOME Foundation, Go Watanabe, Greg Kroah-Hartman,
+ Greg Parker, Gregory Mokhin, GROUPE BULL, Guy Martin, Hans Oey,
+ Harald Koenig, Harm Hanemaayer, Harold L Hunt II, Harry Langen-
+ bacher, Henry A. Worth, Hewlett-Packard Company, Hitachi Ltd,
+ Holger Veit, Howard Greenwell, Hummingbird Communications Ltd.,
+ IBM Corporation, Intel Corporation, INTERACTIVE Systems Corpora-
+ tion, International Business Machines Corp., Itai Nahshon, Ivan
+ Kokshaysky, Ivan Pascal, Jakub Jelinek, James Tsillas, Jason
+ Bacon, Jean-loup Gailly, Jeff Hartmann, Jeff Kirk, Jeffrey Hsu,
+ Jehan Bing, Jeremy Katz, Jerome Glisse, Jim Gettys, Jim Tsillas,
+ John Dennis, John Harper, John Heasley, Jon Block, Jon Smirl, Jon
+ Tombs, Jorge Delgado, Jos Fonseca, Joseph Friedman, Joseph V.
+ Moss, Juliusz Chroboczek, Jyunji Takagi, Kaleb Keithley, Kazushi
+ (Jam) Marukawa, Kazuyuki (ikko-) Okamoto, Kean Johnston, Keith
+ Packard, Keith Whitwell, Kensuke Matsuzaki, Kristian Hgsberg,
+ Larry Wall, Lawrence Berkeley Laboratory, Leif Delgass, Lennart
+ Augustsson, Leon Shiman, Lexmark International Inc., Linus Tor-
+ valds, Luc Verhaegen, Machine Vision Holdings Inc., Manfred
+ Brands, Marc Aurele La France Mark Adler, Mark J. Kilgard, Mark
+ Leisher, Mark Smulders, Mark Vojkovich, Marvin Solomon, Mas-
+ sachusetts Institute Of Technology, Matrox Graphics, Matthew
+ Grossman, Matthieu Herrb, Metro Link Inc., Michael Bax, Michael
+ H. Schimek, Michael P. Marking, Michael Schimek, Michael Smith,
+ Michel Daenzer, Mike A. Harris, Ming Yu, MIPS Computer Systems
+ Inc., National Semiconductor, NCR Corporation Inc., Netscape Com-
+ munications Corporation, Network Computing Devices Inc., Nicholas
+ Miell, Nicholas Wourms, Nicolai Haehnle, Noah Levitt, Nolan
+ Leake, Novell Inc., Nozomi YTOW, NTT Software Corporation, Number
+ Nine Computer Corp., Number Nine Visual Technologies, NVIDIA
+ Corp., Oivier Danet, Oki Technosystems Laboratory Inc., OMRON
+ Corporation, Open Software Foundation, Orest Zborowski, Owen Tay-
+ lor, Pablo Saratxaga, Panacea Inc., Panagiotis Tsirigotis, Paolo
+ Severini, Pascal Haible, Patrick Lecoanet, Patrick Lerda, Paul
+ Anderson, Paul Elliott, Paul Mackerras, Peter Breitenlohner,
+ Peter Kunzmann, Peter Trattler, Philip Homburg, Precision Insight
+ Inc., Prentice Hall, Quarterdeck Office Systems, Ralf Habacker
+ Randy Hendry, Ranier Keller, Red Hat Inc., Regents of the Univer-
+ sity of California, Regis Cridlig, Rene Cougnenc, Richard A.
+ Hecker, Richard Burdick, Rich Murphey, Rickard E. Faith, Rik
+ Faith, Robert Chesler, Robert Millan, Robert V. Baron, Robin Cut-
+ shaw, Roland Mainz, Ronny Vindenes, Russ Blaine, Ryan Breen, Ryan
+ Lortie, Ryan Underwood, S3 Graphics Inc., Sam Leffler, SciTech
+ Software, Scott Laird, Sebastien Marineau, Shigehiro Nomura, Sho-
+ Graphics Inc., Shunsuke Akiyama, Silicon Graphics Computer Sys-
+ tems Inc., Silicon Integrated Systems Corp Inc., Silicon Motion
+ Inc., Simon P. Cooper, Snitily Graphics Consulting Services, Sony
+ Corporation, Sren Sandmann, SRI, Stanislav Brabec, Stefan
+ Dirsch, Stephan Lang, Stephane Marchesin, Steven Lang, Stuart
+ Kreitman, Sun Microsystems Inc., SunSoft Inc., SuSE Inc, Sven
+ Luther, T. A. Phelps, Takis Psarogiannakopoulos, Takuma Murakami,
+ Takuya SHIOZAKI, Tektronix Inc., The DOS-EMU-Development-Team,
+ The Institute of Software Academia Sinica, The NetBSD Foundation,
+ Theo de Raadt, Theodore Ts'o, The Open Group, The Open Software
+ Foundation, The Regents of the University of California, The
+ Santa Cruz Operation Inc., The Weather Channel Inc., The X Con-
+ sortium, The XFree86 Project Inc., Thomas E. Dickey, Thomas G.
+ Lane, Thomas Hellstrm, Thomas Mueller, Thomas Roell, Thomas
+ Thanner, Thomas Winischhofer, Thomas Wolfram, Thorsten.Ohl, Tiago
+ Gons, Todd C. Miller, Tomohiro KUBOTA, Torrey Lyons, Torrey T.
+ Lyons, TOSHIBA Corp., Toshimitsu Tanaka, Travis Tilley, Trolltech
+ AS, Tungsten Graphics Inc., Tuomas J. Lukka, Ty Sarna, UCHIYAMA
+ Yasushi, Unicode Inc., UniSoft Group Limited, University of Utah,
+ University of Wisconsin, UNIX System Laboratories Inc., URW++
+ GmbH, VA Linux Systems, VIA Technologies Inc., Video Electronics
+ Standard, VMware Inc., Vrije Universiteit, Wittawat Yamwong, Wyse
+ Technology Inc., X Consortium, Xi Graphics Inc., X-Oz Technolo-
+ gies, X-TrueType Server Project and their contributors, Yu Shao.
+
+ This product includes software developed by The XFree86 Project,
+ Inc (http://www.xfree86.org/) and its contributors.
+
+ This produce includes software that is based in part of the work
+ of the FreeType Team (http://www.freetype.org).
+
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+
+ This product includes software developed by Christopher G.
+ Demetriou.
+
+ This product includes software developed by the NetBSD Founda-
+ tion, Inc. and its contributors.
+
+ This product includes software developed by the X-Oz Technologies
+ and its contributors.
+
+
+$XdotOrg: xc/RELNOTES,v 1.10 2005/12/21 05:39:04 kem Exp $
diff --git a/doc/_attic_/XOrg69_documentation_files/nx-X11_extras_README b/doc/_attic_/XOrg69_documentation_files/nx-X11_extras_README
new file mode 100644
index 000000000..295910e73
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/nx-X11_extras_README
@@ -0,0 +1,17 @@
+This directory (xc/extras) contains packages that are maintained outside
+of XFree86, but which are included with the base XFree86 distribution.
+Each such package should be imported on its own vendor branch (see
+the README.XFree86 file in each subdirectory for specific 'cvs import'
+details). 'XFree86' RCS ident lines should only be added to files that
+have XFree86-specific changes. Binary files should not normally be
+imported.
+
+Packages included here must be redistributable under conditions compatible
+with the XFree86 redistribution conditions (see
+xc/programs/Xserver/hw/xfree86/doc/COPYRIGHT for examples of compatible
+licences).
+
+
+
+$XFree86: xc/extras/README,v 1.1 1998/08/29 08:01:42 dawes Exp $
+
diff --git a/doc/_attic_/XOrg69_documentation_files/nx-X11_lib_X11_lcUniConv_COPYRIGHT b/doc/_attic_/XOrg69_documentation_files/nx-X11_lib_X11_lcUniConv_COPYRIGHT
new file mode 100644
index 000000000..ccc162664
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/nx-X11_lib_X11_lcUniConv_COPYRIGHT
@@ -0,0 +1,39 @@
+This notice applies to the files in this directory. They are taken from
+the libiconv-1.1 package, which is covered by the LGPL license. The files
+in this directory have been placed under the following copyright, with
+permission from the Free Software Foundation.
+
+
+Copyright (c) 1999-2000 Free Software Foundation, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+FREE SOFTWARE FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the Free Software Foundation
+shall not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from the
+Free Software Foundation.
+
+
+Notes:
+
+1. This copyright applies only to the files in this directory, and not to
+the remaining files in libiconv.
+
+2. The Free Software Foundation does not encourage the use of the above
+license for newly written software.
+
diff --git a/doc/_attic_/XOrg69_documentation_files/nx-X11_lib_X11_lcUniConv_README b/doc/_attic_/XOrg69_documentation_files/nx-X11_lib_X11_lcUniConv_README
new file mode 100644
index 000000000..5ea4f0566
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/nx-X11_lib_X11_lcUniConv_README
@@ -0,0 +1,12 @@
+$XFree86$
+
+The files in this directory are taken from the libiconv-1.1 package.
+
+The *.h files were generated from tables (mostly from ftp.unicode.org) using
+the programs '8bit_tab_to_h.c' and 'cjk_tab_to_h.c'. On some of them, further
+optimizations were applied by hand.
+
+If you find a bug in these files, instead of modifying them in XFree86
+and let it diverge from libiconv, please notify the libiconv maintainer
+(currently <bruno@clisp.org>) so he can fix both in synch.
+
diff --git a/doc/_attic_/XOrg69_documentation_files/nx-X11_programs_Xserver_dix_BuiltInAtoms b/doc/_attic_/XOrg69_documentation_files/nx-X11_programs_Xserver_dix_BuiltInAtoms
new file mode 100644
index 000000000..910c62706
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/nx-X11_programs_Xserver_dix_BuiltInAtoms
@@ -0,0 +1,329 @@
+File: .../x11/server/dix/BuiltInAtoms
+
+This file is of a fixed format and is used to generate both the file
+include/XAtom.h and dix/initatoms.c. Neither of those files should be
+edited directly. Changing the atoms in this file, or even the order in
+which they occur, is equivalent to forcing a new (minor) version number
+on the server. Take care.
+
+The format of the file is that each built in atom starts in column 1
+with no text, other than spaces and tabs, on that line other than a
+mandatory trailing "@" at the end of the line. For each atom (Foo)
+below the defines will be of the form
+ #define XA_Foo <n>
+and the string value of the atom will be "Foo".
+
+The comment lines in this file are not guaranteed to be accurate. To see the
+current truth, look at the Xlib documentation as well as the protocol spec.
+
+Atoms occur in five distinct name spaces within the protocol. Any particular
+atom may or may not have some client interpretation within each of the name
+spaces. For each of the built in atoms, the intended semantics and the space
+within which it is defined is indicated.
+
+Those name spaces are
+ Property names
+ Property types
+ Selections
+ Font properties
+ Type of a ClientMessage event (none built into server)
+
+For the font properties mentioned here, see the spec for more information.
+
+ -- Selections --
+
+PRIMARY @
+ Selection.
+SECONDARY @
+ Selection.
+
+ -- Property types and names --
+
+ARC @
+ Property type:
+ x, y: INT16
+ width, height: CARD16,
+ angle1, angle2: INT16
+ATOM @
+ Property type:
+ atom: ATOM
+BITMAP @
+ Property type:
+ bitmap: PIXMAP
+ This is asserted to be of depth 1.
+CARDINAL @
+ Property type:
+ card: CARD32 or CARD16 or CARD8
+ the datum size is dependent on the property format
+COLORMAP @
+ Property type:
+ colormap: COLORMAP
+CURSOR @
+ Property type:
+ cursor: CURSOR
+CUT_BUFFER0 @
+CUT_BUFFER1 @
+CUT_BUFFER2 @
+CUT_BUFFER3 @
+CUT_BUFFER4 @
+CUT_BUFFER5 @
+CUT_BUFFER6 @
+CUT_BUFFER7 @
+ Property name: (type: STRING)
+ Used to implement cut buffer ring, in particular Andrew uses
+ this mechanism. Anyone else using this sort of IPC mechanism
+ should use these properties.
+
+ Data is normally fetched and stored out of CUT_BUFFER0; the
+ RotateProperties request is used to rotate these buffers.
+DRAWABLE @
+ Property type:
+ drawable: DRAWABLE
+FONT @
+ Property type:
+ font: FONT
+INTEGER @
+ Property type:
+ card: INT32 or INT16 or INT8
+ the datum size is dependent on the property format
+PIXMAP @
+ Property type:
+ pixmap: PIXMAP
+POINT @
+ Property type:
+ x, y: INT16
+RECTANGLE @
+ Property type:
+ x, y: INT16
+ width, height: CARD16
+RESOURCE_MANAGER @
+ Property name: (type: STRING)
+ Contents of the user's resource manager data base.
+RGB_COLOR_MAP @
+ Property type:
+ colormap: COLORMAP
+ red-max: CARD32
+ red-mult: CARD32
+ green-max: CARD32
+ green-mult: CARD32
+ blue-max: CARD32
+ blue-mult: CARD32
+ base-pixel: CARD32
+
+ The fields `red_max', `green_max', and `blue_max' give the maximum
+ red, green, and blue values, respectively. Each color
+ coefficient ranges from 0 to its max, inclusive. For example,
+ a common colormap allocation is 3/3/2: 3 planes for red, 3
+ planes for green, and 2 planes for blue. Such a colormap would
+ have red_max == 7, green_max = 7, and blue_max = 3. An alternate
+ allocation that uses only 216 colors is red_max = 5, green_max =
+ 5, and blue_max = 5.
+
+ The fields `red_mult', `green_mult', and `blue_mult' give the
+ scale factors used to compose a full pixel value. (See next
+ paragraph.) For a 3/3/2 allocation red_mult might be 32,
+ green_mult might be 4, and blue_mult might be 1. For a
+ 6-colors-each allocation, red_mult might be 36, green_mult might
+ be 6, and blue_mult might be 1.
+
+ The field `base_pixel' gives the base pixel value used to
+ compose a full pixel value. Normally base_pixel is obtained
+ from a call to XAllocColorPlanes(). Given integer red, green,
+ and blue coefficients in their appropriate ranges, one can
+ compute a corresponding pixel value with the expression:
+
+ r * red_mult + g * green_mult + b * blue_mult + base_pixel
+
+ For gray-scale colormaps, only the colormap, red_max, red_mult,
+ and base_pixel fields are defined; the other fields are
+ ignored. To compute a gray-scale pixel value, use:
+
+ gray * red_mult + base_pixel
+
+ This is provided to allow applications to share color maps.
+
+RGB_BEST_MAP @
+RGB_BLUE_MAP @
+RGB_DEFAULT_MAP @
+RGB_GRAY_MAP @
+RGB_GREEN_MAP @
+RGB_RED_MAP @
+ Property name: (type: RGB_COLOR_MAP)
+ The needs of most applications can be met with five colormaps.
+ Polite applications may need only a small RGB space, and can
+ use a portion of the default color map. Applications doing
+ high-quality RGB rendering will need an entire colormap,
+ filled with as large an RGB space as possible, e.g. 332. For
+ color separations, an application may need maximum device
+ resolution for each of red, green, and blue, even if this
+ requires three renderings with three colormaps.
+
+ Each of the above five names would be used for sharing color
+ maps.
+STRING @
+ Property type:
+ sequence of Bytes
+VISUALID @
+ Property type:
+ visual: VISUALID
+WINDOW @
+ Property type:
+ window: WINDOW
+WM_COMMAND @
+ Property name: (type: STRING)
+ Command line arguments used to invoke this application. The
+ arguments are delimited by null characters (ASCII 0).
+WM_HINTS @
+ Property type:
+ flags: CARD32
+ input: BOOL32
+ initial-state: CARD32
+ icon-pixmap: PIXMAP
+ icon-window: WINDOW
+ icon_mask: BITMAP
+ icon-x, icon-y: INT32
+ flags contains the following bits
+ 0x00000001 input hint
+ 0x00000002 state hint
+ 0x00000004 icon pixmap hint
+ 0x00000008 icon window hint
+ 0x00000010 icon position hint
+ values for initial-state
+ 0 unspecified -> application does not
+ care and WM should pick one.
+ 1 normal
+ 2 zoomed
+ 3 iconic
+ 4 inactive -> application believes
+ itself to be seldomly used. WM may wish to
+ place it on an inactive menu.
+ This type is potentially extensible. The order is critical;
+ append to the end only.
+ Property name: (type: WM_HINTS)
+ Additional hints set by the client for use by the window
+ manager.
+WM_CLIENT_MACHINE @
+ Property name: (type: STRING)
+ used to communicate with the window manager. The host name
+ of the machine the client is running on may be set here.
+WM_ICON_NAME @
+ Property name: (type: STRING)
+ what the application would like the label to be for
+ the iconic form of the window.
+WM_ICON_SIZE @
+ Property type:
+ minWidth, min-height: CARD32
+ maxWidth, max-height: CARD32
+ widthInc, height-inc: CARD32
+ Property name: (type: ICON_SIZE)
+ The window manager may set this property on the root window
+ to specify the icon sizes it allows.
+WM_NAME @
+ Property name: (type: STRING)
+ used to communicate with the window manager. This is
+ what the application would like the label for the window.
+WM_NORMAL_HINTS @
+ Property name: (type: SIZE_HINTS)
+ used to communicate with the window manager. This is size
+ hints for a window in its "normal" state.
+WM_SIZE_HINTS @
+ Property type:
+ flags: CARD32
+ x, y: INT32
+ width, height: CARD32
+ min-width, min-height: CARD32
+ max-width, max-height: CARD32
+ width-inc, height-inc: CARD32
+ min-aspect-x, min-aspect-y: CARD32
+ max-aspect-x, max-aspect-y: CARD32
+ flags contains the following bits
+ 0x00000001 user specified x and y
+ 0x00000002 user specified width and height
+ 0x00000004 program specified position
+ 0x00000008 program specified size
+ 0x00000010 program specified minimum size
+ 0x00000020 program specified maximum size
+ 0x00000040 program specified resize increment
+ 0x00000080 program specified aspect ratio
+ This type is potentially extensible. The order is critical;
+ append to the end only.
+WM_ZOOM_HINTS @
+ Property name: (type: SIZE_HINTS)
+ used to communicate with the window manager. This is size
+ hints for a window in its "zoomed" state.
+
+ -- Font properties --
+
+MIN_SPACE @
+ Font property: CARD32
+NORM_SPACE @
+ Font property: CARD32
+MAX_SPACE @
+ Font property: CARD32
+END_SPACE @
+ Font property: CARD32
+SUPERSCRIPT_X @
+ Font property: INT32
+SUPERSCRIPT_Y @
+ Font property: INT32
+SUBSCRIPT_X @
+ Font property: INT32
+SUBSCRIPT_Y @
+ Font property: INT32
+UNDERLINE_POSITION @
+ Font property: INT32
+UNDERLINE_THICKNESS @
+ Font property: CARD32
+STRIKEOUT_ASCENT @
+ Font property: INT32
+STRIKEOUT_DESCENT @
+ Font property: INT32
+ITALIC_ANGLE @
+ Font property: INT32
+X_HEIGHT @
+ Font property: INT32
+QUAD_WIDTH @
+ Font property: INT32
+WEIGHT @
+ Font property: CARD32
+POINT_SIZE @
+ Font property: CARD32
+RESOLUTION @
+ Font property: CARD32
+
+The following optional properties on fonts have values that are atoms. The
+atom print name is the useful information.
+
+COPYRIGHT @
+ of the font distribution
+NOTICE @
+ trademark/copyright of the character shapes
+FONT_NAME @
+ name of this particular instance of a font
+FAMILY_NAME @
+ name of the 'font family' to which it belongs
+FULL_NAME @
+ full text name of the font
+
+The following aren't in order but putting them at the end avoids encoding
+changes.
+
+CAP_HEIGHT @
+ Font property: CARD32
+
+
+WM_CLASS @
+ Property name: (type: STRING)
+ Used (possibly by some window managers; definitely by
+ session managers) to look up resources in the resource
+ data base on behalf of the client who set this property.
+ There are 2 elements:
+ {char *resource_name; char *resource_class;}
+ delimited by a null character (ascii 0)
+
+WM_TRANSIENT_FOR @
+ Property name: (type: WINDOW)
+ Used by transient top-level windows, such as dialog
+ boxes, to point to their logical "parents". The window
+ manager can then take down the dialog boxes when the
+ "parent" gets iconified, for instance.
diff --git a/doc/_attic_/XOrg69_documentation_files/nx-X11_programs_Xserver_dix_CHANGES b/doc/_attic_/XOrg69_documentation_files/nx-X11_programs_Xserver_dix_CHANGES
new file mode 100644
index 000000000..d8fb7c31a
--- /dev/null
+++ b/doc/_attic_/XOrg69_documentation_files/nx-X11_programs_Xserver_dix_CHANGES
@@ -0,0 +1,17 @@
+The following changes have been made to this directory since R3 (for
+a full description, see doc/Server/r4.tbl.ms):
+
+ o Windows restructured (memory reduction, devPrivates and speedups)
+ o GCs restructured (memory reduction, devPrivates and wrappers)
+ o Screens restructured (window ops merged in, devPrivates)
+ o Pixmaps restructured (drawable changes mostly)
+ o Cursors restructured (shares glyph bits now)
+ o Visuals restructured (screen index removed, fields rearranged)
+ o Devices restructured (input extension changes)
+ o Out of memory changes. Many interfaces now return OutOfMemory
+ status.
+ o Synchronous grab code rewritten. Should conform to our
+ understanding of the protocol now. Be careful when time
+ stamping events (don't allow time to run backwards).
+ o Resource types redesigned and rewritten.
+ o Internal fake color allocation routine for software cursors.
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original
new file mode 100644
index 000000000..085401dd9
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original
@@ -0,0 +1,1088 @@
+--- ./nx-X11/CHANGELOG.X.original 2015-02-13 14:03:44.392448449 +0100
++++ ./nx-X11/CHANGELOG 2015-02-10 19:13:14.668653602 +0100
+@@ -0,0 +1,1085 @@
++ChangeLog:
++
++nx-X11-3.5.0-2
++
++- Fixed TR0202420. XKB utility functions wrote out of bounds.
++
++- Upgraded RandR server extension to version 1.2.
++
++nx-X11-3.5.0-1
++
++- Opened the 3.5.0 branch based on nx-X11-3.4.0-4.
++
++- Updated copyright to year 2011.
++
++nx-X11-3.4.0-4
++
++- Fixed TR06H02359. Removed compiler warnings.
++
++nx-X11-3.4.0-3
++
++- Updated copyright to year 2010.
++
++nx-X11-3.4.0-2
++
++- Fixed TR04G02208. Added a path to rgb file.
++
++nx-X11-3.4.0-1
++
++- Opened the 3.4.0 branch based on nx-X11-3.3.0-7.
++
++- Updated copyright to year 2009.
++
++nx-X11-3.3.0-7
++
++- Fixed TR08G02257. The maximum client condition was reached because
++ available fd exhausted. This bug was caused by a function in font
++ library not closing the file before a return on error breaking the
++ flow of normal execution.
++
++- Fixed TR06G02225. The implementation of Xvprintf() has been reviewed
++ to work on more platforms. Previous implementation caused a failure
++ in the build of keyboard map on some platform like Solaris 8 and 9.
++
++nx-X11-3.3.0-6
++
++- Fixed TR03G02198. Reimplemented Xvprintf() in Xserver/os to handle
++ the case in which vsnprintf returned -1.
++
++- Returning from _XSeqSyncFunction() and _XReply() if an I/O error is
++ detected.
++
++nx-X11-3.3.0-5
++
++- Fixed TR01G02163. Signals need to be blocked before the call to
++ fork() in the Popen() utility.
++
++- Fixed TR01G02164. Trapezoid data need to be validated before use.
++ This issue was the same of CVE-2007-2437.
++
++nx-X11-3.3.0-4
++
++- Enabled the code resetting the Xlib buffer if an IO error occured.
++
++nx-X11-3.3.0-3
++
++- Fixed the search path for the XKB base directory.
++
++nx-X11-3.3.0-2
++
++- Fixed TR10F02116. The X11 agent could enter an indefinite wait state
++ if connection to X display is broken and libX11 output buffer is not
++ empty.
++
++nx-X11-3.3.0-1
++
++- Opened the 3.3.0 branch based on nx-X11-3.2.0-2.
++
++nx-X11-3.2.0-2
++
++- Imported patch fixing issues from X.Org security advisory, June
++ 11th, 2008: Multiple vulnerabilities in X server extensions. CVE
++ IDs: CVE-2008-1377, CVE-2008-1379, CVE-2008-2360, CVE-2008-2361,
++ CVE-2008-2362.
++
++nx-X11-3.2.0-1
++
++- Opened the 3.2.0 branch based on nx-X11-3.1.0-6.
++
++nx-X11-3.1.0-6
++
++- Modified Xserver Imakefile to link the Xfixes library.
++
++nx-X11-3.1.0-5
++
++- Disabled the terminate action, just in case the TerminateServer
++ symbol is binded to a non default key sequence.
++
++nx-X11-3.1.0-4
++
++- Imported patch fixing issues from X.Org security advisory, January
++ 17th, 2008: Multiple vulnerabilities in the X server. CVE IDs:
++ CVE-2007-5760 CVE-2007-5958 CVE-2007-6427 CVE-2007-6428
++ CVE-2007-6429 CVE-2008-0006.
++
++nx-X11-3.1.0-3
++
++- Moved a variable definition placed in _mesa_make_current().
++
++nx-X11-3.1.0-2
++
++- Fixed TR10E01924. A crash could occur in _mesa_make_current().
++
++- Initialized after_ret variable in _XcmsGetProperty().
++
++nx-X11-3.1.0-1
++
++- Opened the 3.1.0 branch based on nx-X11-3.0.0-37.
++
++nx-X11-3.0.0-37
++
++- Changed the Xserver Imakefile to link against Xcomposite on the
++ Cygwin platform too.
++
++nx-X11-3.0.0-36
++
++- Fixed TR07E01806. Modified host.def to build GLX code with symbol
++ __GLX_ALIGN64 defined on Solaris platform.
++
++nx-X11-3.0.0-35
++
++- Flush explicitly the NX link before entering the select() in the
++ WaitForReadable() and WaitForWritable() routines.
++
++nx-X11-3.0.0-34
++
++- Changed the agent Imakefile to link to the Xcomposite library.
++
++nx-X11-3.0.0-33
++
++- Fix the NX_TRANS_WAKEUP stuff in WaitForSomething() to not over-
++ ride a valid timeout.
++
++- Check if the requesting client is gone in the XFixes functions
++ sending the cursor events.
++
++nx-X11-3.0.0-32
++
++- Define DDXOSVERRORF and DDXOSFATALERROR symbols on Sun.
++
++- Changed the copyright attribution from Medialogic to NoMachine.
++
++nx-X11-3.0.0-31
++
++- Make SmartScheduleStopTimer() visible outside Xserver/os/utils.c
++ so that it can be called by the agent. Export the declaration in
++ dixstruct.h.
++
++nx-X11-3.0.0-30
++
++- The OsVendorVErrorFFatal flag is set to 1 if the function pointed
++ by OsVendorVErrorFProc is called due to a fatal error.
++
++- Give the possibility to the agent to redirect the standard error
++ during a Popen() or a System() by setting the OsVendorStartRedir-
++ ectErrorFProc and OsVendorEndRedirectErrorFProc function pointers.
++
++nx-X11-3.0.0-29
++
++- Changed the default message printed on a fatal server error. The
++ new message is:
++
++ Error: Aborting session with 'Error text...'.
++
++- Hacked LogVWrite() to force all fatal error messages to have an
++ uppercase initial. Also remove the trailing newline and the full-
++ stop, if present.
++
++nx-X11-3.0.0-28
++
++- Corrected the typos in the ChangeLog.
++
++nx-X11-3.0.0-27
++
++- Fixed the cleanup of the X_RenderCompositeText16 padding bytes.
++
++- More code cleanup in the NX changes to the Xrender library.
++
++- Changed host.def to build the freetype and fontconfig libraries
++ if the agent server is also built. Freetype is built as a shared
++ library: this avoids the link error on 64 bit platforms.
++
++nx-X11-3.0.0-26
++
++- Applied the following security patches, from the X.Org security
++ advisory, April 3rd, 2007 "Multiple vulnerability in X server,
++ libXfont and libX11":
++
++ xorg-xserver-1.2.0-xcmisc.diff
++ xorg-libXfont-1.2.7-bdf-fontdir.diff
++ xorg-libX11-1.1.1-xinitimage.diff
++
++nx-X11-3.0.0-25
++
++- Added the missing *.X.original file for ChkIfEv.c and Xlib.h.
++
++nx-X11-3.0.0-24
++
++- Changed Xrender to clean up the padding bytes in XRenderComposite-
++ Text functions.
++
++- Added function XRenderCleanGlyphs() cleaning the padding bytes in
++ the data section of RenderAddGlyphs requests.
++
++nx-X11-3.0.0-23
++
++- Removed the additional parameter from the call to NXTransFlush()
++ in _XReply().
++
++- Call NXTransExit() on AbortServer() (called by FatalError()) to
++ give the proxy a chance to shut down the NX transport.
++
++nx-X11-3.0.0-22
++
++- Moved the replacement of XCheckIfEvent() ChkIfEv.c with the name
++ XCheckIfEventNoFlush().
++
++nx-X11-3.0.0-21
++
++- Set BUFSIZE to 8192 bytes. While the output buffer size can be
++ configured by setting the XLIBBUFFERSIZE in the environment (see
++ OpenDis.c), this constant is still used when reading from the
++ socket.
++
++nx-X11-3.0.0-20
++
++- If set, the handler pointed by _NXDisplayWriteFunction is called
++ after that more data is written to the display connection.
++
++nx-X11-3.0.0-19
++
++- Added a RejectWellKnownSockets() stub to make possible to compile
++ the agent when the NX transport is disabled.
++
++- Added more useful logs to _XWaitForWritable().
++
++nx-X11-3.0.0-18
++
++- Changed Imakefile of X11 and Xserver in order to build nxcompshad
++ just before the NX agent server.
++
++- Changed Imakefile in Xserver to add NXdamage.o to NXAGENTOBJS.
++
++nx-X11-3.0.0-17
++
++- Changed host.def in order to build Xdamage and Xrandr libraries.
++
++- Changed host.def in order not to build NXWin.
++
++nx-X11-3.0.0-16
++
++- Changed host.def in order to build Xtst as a shared library.
++
++nx-X11-3.0.0-15
++
++- Changes to comply with nxcompshad library.
++
++- Changed configuration to statically build Xtst library.
++
++- Restored parser directory under Xserver/hw/xfree86.
++
++nx-X11-3.0.0-14
++
++- Changed the LICENSE file to state that the software is only made
++ available under the version 2 of the GPL.
++
++- Added file COPYING.
++
++- In nx-X11/programs and nx-X11/programs/Xserver/hw/xfree86, removed
++ files and directories not needed to build servers.
++
++nx-X11-3.0.0-13
++
++- Changes aimed to link servers with static versions of Xdmcp and Xau
++ libraries.
++
++nx-X11-3.0.0-12
++
++- Added references to implented FR in the ChangeLog.
++
++- Removed nx-X11/fonts and nx-X11/doc directories. They are not needed
++ for building the NX components.
++
++nx-X11-3.0.0-11
++
++- Updated the copyright notices to year 2007.
++
++nx-X11-3.0.0-10
++
++- Applied the following security patches:
++
++ x11r6.9.0-cidfonts.diff
++ x11r6.9.0-dbe-render.diff
++ x11r6.9.0-geteuid.diff
++ x11r6.9.0-mitri.diff
++ x11r6.9.0-setuid.diff
++
++nx-X11-3.0.0-9
++
++- Merged the NX changes to X11 with the X11R6.9.0 version of X.org.
++
++nx-X11-3.0.0-8
++
++- Changes to build Xshadow library when building X11.
++
++- Changes to Xserver Imakefile to link Xshadow library.
++
++- Changes to host.def in order to build on old distributions.
++
++nx-X11-3.0.0-7
++
++- Imported changes up to nx-X11-2.1.0-2
++
++- Fixed TR08D01485. Updated rgb file paths validation in order to
++ support Ubuntu distribution.
++
++- Added Xtst to libraries to be linked by nxagent.
++
++- Changed Xpm Imakefile to build a shared library on Solaris.
++
++- Fixed build error on Solaris in xtrans.
++
++- Changed host.def not to build Xnest server.
++
++- Changed Xserver Imakefile to link nxaccess library.
++
++nx-X11-3.0.0-6
++
++- Added the path of nxaccess library to the server link command.
++
++nx-X11-3.0.0-5
++
++- Implemented FR10C01079 and FR10C01080. The merge of NX changes to
++ the X.org code is complete.
++
++- Merged changes in config/cf. The NX-*.def files have been dismissed.
++ Main platform dependent configurations have been moved to host.def.
++
++- Removed *.reference files from config/cf.
++
++- Fixed compilation for Cygwin platform.
++
++nx-X11-3.0.0-4
++
++- Imported all changes up to nx-X11-2.0.0-32.
++
++- Cleaned up lib/zlib directory.
++
++- Added missing file programs/Xserver/os/utils.c.NX.original.
++
++- Updated the copyright notice to year 2006.
++
++- The pointer to the display buffer is reset after an I/O error.
++ This prevents leaving the buffer in an inconsistent state if the
++ error occurs inside _XFlush().
++
++- Removed the modifications to the Xrender library. The cleanup of
++ the padding bytes is now performed by the NX transport.
++
++- NX uses the updated ZLIB from its build tree, so Imake.tmpl will
++ now assume that the platform as ZLIB unless otherwise stated.
++
++- The path of the SecurityPolicy file is searched and validated at
++ runtime.
++
++- Added the _X11TransSocketProxyConnInfo() function to Xtranssock.c
++ It returns the pointer to the XtransConnInfo private, if it is a
++ valid _NXProxyConnInfo structure.
++
++- The above function is used by OpenDis.c to detect if the NX trans-
++ port was requested on the display and avoid spurious error messa-
++ ges in the case of a connection failure.
++
++- Added NXmiwindow.o to the NXAGENTOBJS in the Xserver's Imakefile
++ and imported NXmiwindow.c in nxagent. This allows us to check the
++ pointer to the pOldClip region in miSetShape() before going on
++ freeing it.
++
++- The path of the XKB base directory and of the xkbcomp comand is
++ validated at runtime.
++
++- Also added a check to verify the validity of the rgb file path.
++
++- Added NXresource.o to NXAGENTOBJS in the Imakefile of nxagent. We
++ need this to a assign a resource to the pixmaps and other server
++ objects which need to be enumerated at reconnection. Some objects,
++ being created by the X server and not by the clients, don't pass
++ through the resource assignment process operated by the dix. To
++ ensure that all objects get a resource, we add a resource at the
++ time the object is created and temporarily assign the resource to
++ the server client. If the dix later assigns the resource to a va-
++ lid client, the resource is removed from the server client's list.
++
++- The display block handler registered by the client is called in
++ WaitForReadable() and WaitForWritable() before every select(),
++ not only upon entering the function. The reason is that more
++ data can be possibly produced for the NX link by the proxy it-
++ self and, when setting the flush policy to deferred, the client
++ may not have the chance of flushing the NX link.
++
++- Fixed a bug in XkbUseExtension() that caused Xlib to query the
++ presence of the XKEYBOARD extension multiple times. This partial-
++ ly implents the FR01D01275. The complete implementation required
++ modifications to the X11 agent, implemented in nxagent-2.0.0-33.
++
++- Updated to comply with the new NXTransFlush() interface.
++
++- Both nxwin and nxagent now read the X authority file by using an
++ fopen() instead of the system command 'cat'.
++
++- Removed NXmiwindow.o from the NXAGENTOBJ list. The agent will now
++ use the original miwindow.c.
++
++- Added some additional logs in Xtranssock.c to follow the creation
++ and removal of the X server's Unix listener.
++
++- Avoided the sleep of 5 seconds forced by Xtransutil.c if the dir-
++ ectory where the Unix listener is created is not owned by root.
++ This sleep is not executed on Cygwin (where the X socket can be
++ hardly owned by root) but may delay the startup of the agent if
++ the user chose a different NX_TEMP directory. Furthermore, it is
++ unclear what real benefits such sleeps are intended to bring to
++ the security of the X server. This can be controlled by defining
++ the NX_TRANS_SLEEP directive in Xserver/os/Imakefile.
++
++- Added NXmiexpose.o to the NXAGENTOBJ.
++
++- Ensured that _X11TransSocketCloseConnInfo() now initiates the NX
++ shutdown by calling NXTransClose().
++
++- Corrected a misplaced #else that made SocketUNIXConnect() skip a
++ block if the connection was not to the NX transport.
++
++- Updated to comply with the new NX function prototypes introduced
++ in nxcomp-2.0.0-31.
++
++- Moved the most important Xtranssock.c modifications into separate
++ functions.
++
++- Ensured that the modifications enabling the internal connections
++ to the proxy are compiled only when the TRANS_CLIENT directive is
++ defined.
++
++- Solved a bug that prevented the X11 socket to be deleted at the X
++ server shutdown. This needs further tests.
++
++- Added nxcompext to the link of nxagent, now that the dependency
++ of libX11 from nxcompext is removed.
++
++- Improved the Xtranssock routines to never loop through the array
++ of connection info.
++
++- Added a congestion flag to the connection info structure and a
++ function querying the transport and reporting if a change in the
++ congestion state has occurred. The code is currently not enabled,
++ because instead of polling the transport, we let the proxy notify
++ the changes in congestion state by using the callback. The code
++ can be used in future to extend the library, for example, by add-
++ ing some counters tracking the bandwidth usage of the socket con-
++ nection, so that we can make the congestion notifications work
++ even with a plain X11 connection.
++
++- Profiled the routines in XlibInt.c to reduce the number of calls
++ to the error predicate function provided by the client.
++
++- Fixed the nxcompext build problem that caused make World to fail.
++
++- Added a 'CONF' target to the X11 and Xext Imakefiles so that the
++ configure script is not run if the config.status exists.
++
++- Added the _NXDisplayBlockHandler hook. The function is called by
++ Xlib before blocking. The parameter says if Xlib is going to wait
++ for more input or because it needs to write to the display socket.
++ The client can use the hook to perform any internal operation that
++ may require some time to complete. The user, though, should not
++ try to read or write to the display inside the callback routine.
++
++- Removed the outdated NX_TRANS_PROCESS, NX_TRANS_THREAD and NX_TR-
++ ANS_INCLUDE defines.
++
++- Reverted the lib/Xext Imakefile to the original XF86 version and
++ moved the build of the nxcompext library among the libX11 depend-
++ encies.
++
++- Corrected the lib/X11 Imakefile so that a new build of nxcomp and
++ nxcompext is not attempted if the libraries are up-to-date.
++
++- Removed the unused display buffer and image cleanup functions.
++
++- Reverted the PutImage.c file to the original XF86 version.
++
++- Added the _NXDisplayErrorPredicate function in XlibInt.c. It is
++ actually a pointer to a function called whenever Xlib is going to
++ perform a network operation. If the function returns true, the
++ call will be aborted and Xlib will return the control to the ap-
++ plication. It is up to the application to set the XlibDisplayIO-
++ Error flag after the _NXDisplayErrorPredicate returns true. The
++ function can be used to activate additional checks, besides the
++ normal failures detected by Xlib on the display socket. For exam-
++ ple, the application can set the funciton to verify if an inter-
++ rupt was received or if any other event occurred mandating the
++ end of the session.
++
++- Modified XIfEvent(), XMaskEvent() and XPeekIfEvent() to check the
++ _NXDisplayErrorPredicate function and return immediately if the
++ function returns true.
++
++- Modified _XWaitForReadable() to never enter the loop if the dis-
++ play is broken.
++
++- Corrected a make problem on Windows that caused the nxcomp and
++ nxcompext libraries to be referred with the wrong name, with the
++ result that a new configure and make was attempted at each build
++ attempt.
++
++- Merged all the changes to os, Xext, xkb, dix.
++
++- Changed host.def to build only the agent server.
++
++- Merged the changes to Xtranssock.c
++
++nx-X11-3.0.0-3
++
++- Merged the changes to lib/X11. Restored original PutImage.c and
++ ClDisplay.c files.
++
++nx-X11-3.0.0-2
++
++- Created a directory named 'reference' to keep files that are chan-
++ ged during the development of nx-X11 since the 1.5.0-16 to 2.0.0-32
++ version. These files will be removed as long as the differences are
++ merged to the 3.0.0 version. When all differences are merged, this
++ directory will be removed.
++
++nx-X11-3.0.0-1
++
++- Opened the 3.0.0 branch based on the nx-X11-2.0.0-9. The 3.0.0
++ branch will now support the migration toward the X.org tree. Due
++ to time concerns, the 2.0.0 branch is going to be based on the
++ same nx-X11 as the 1.5.0.
++
++nx-X11-2.0.0-9
++
++- Modified the agent link arguments to explicitly include the NX
++ libraries.
++
++- Disabled the Xinerama extension to avoid further clashes with
++ the redefinition of GC in Xlib.
++
++- Added os/libos.a at the end of the agent link.
++
++nx-X11-2.0.0-8
++
++- Moved the declarations of _NXEnable* and related structures from
++ Xlibint.h to NXlibint.h.
++
++- Added provision for building the agent. This can be controlled by
++ setting NXAgentServer to YES in host.def.
++
++- Setting the NXUpgradeAgentServer variable to YES in the host.def
++ file will make the agent assume that it is being built in the new
++ environment. This variable is normally unset when building in the
++ 1.5.0 tree.
++
++nx-X11-2.0.0-7
++
++- Fixed a problem on AMD64 due to the size of the area pointed by
++ the argument of _X11TransBytesReadable(). BytesReadable_t is long,
++ at least on Linux, while the ioctl() requires a pointer to an int.
++ The original _X11TransBytesReadable() function simply calls the
++ ioctl() by passing the pointer that is provided. NXTransReadable(),
++ instead, was correctly returning the value assuming a pointer to
++ a long, but this crashes some applications, among them xterm. Now
++ NXTransReadable() follows the same schema of the ioctl() call and
++ stores the result assuming a pointer to an int.
++
++- Removed the outdated NX_TRANS_PROCESS and NX_TRANS_THREAD code.
++
++nx-X11-2.0.0-6
++
++- Made xterm work with the NX transport. This required small changes
++ to the Xt toolkit's and the xterm's files to let them use the NX
++ aware select(). This is useful to test the NX transport until the
++ nxagent server is integrated.
++
++- When the transport is gone _X11TransSocketBytesReadable() returns
++ EPIPE. This makes the client become aware of the closure of the
++ connection.
++
++- Added a call to NXTransDestroy() in XCloseDisplay().
++
++- The exit() function in XlibInt.c causes a call to NXTransExit().
++
++- Merged changes to dix/pixmap.c, xkb/xkbDflts.h, mi/Imakefile.
++
++- Removed unneeded changes and files containing patches already in
++ the latest X.org distribution: dix/dispatch.c, fb/fbcompose.c, fb/
++ fbgc.c, xkb/ddxList.c, font/fontfile/dirfile.c, font/fontfile/
++ encparse.c, font/fontfile/fontfile.c, font/FreeType/fttools.c,
++ Xrender/FillRect.c, Xrender/Picture.c.
++
++nx-X11-2.0.0-5
++
++- Changes to the lib/X11/Imakefile to cleanly build the tree. This
++ is obtained by creating a link to the Xcomp library in exports/lib
++ without having to modify the programs' Imakefiles.
++
++- Finished merging the NX changes in the lib/X11 files.
++
++- Merged the CHANGELOG with the one from the 1.5.0 tree.
++
++nx-X11-2.0.0-4
++
++- Merged the NX changes in most Xtrans and lib/X11 files.
++
++nx-X11-2.0.0-3
++
++- Temporarily disabled the use of the MMX extensions in the Xserver's
++ fb code to successfully compile with GCC 4.
++
++nx-X11-2.0.0-2
++
++- Imported the *.NX.reference and *.XF86.reference files that will
++ be needed for the merge. These files are the *.original from the
++ 1.5.0 tree. They will be removed as long as the merge advances.
++
++nx-X11-2.0.0-1
++
++- Created the 2.0.0 branch based on X.org the 6.8.99.16 snapshot.
++
++nx-X11-1.5.0-16
++
++- Added the missing *.XF86.original and *.NX.original files.
++
++nx-X11-1.5.0-15
++
++- Made the nxagent server use select() instead of poll() on Solaris
++ so that it can leverage the new NX transport.
++
++- Moved the NXTransFlush() call to _XReply().
++
++nx-X11-1.5.0-14
++
++- Added the 'synchronous' parameter in the _XWaitForReadable() call
++ to NXTransFlush().
++
++nx-X11-1.5.0-13
++
++- Removed the log entry in XlibInt.c on calling the NXTransFlush().
++
++nx-X11-1.5.0-12
++
++- Changed XlibInt.c and utils.c to call NXTransExit().
++
++nx-X11-1.5.0-11
++
++- Changed XlibInt.c to comply with the new NXTransFlush() interfa-
++ ce introduced in nxcomp-1.5.0-42.
++
++- Cosmetic changes to messages printed for debug.
++
++nx-X11-1.5.0-10
++
++- Ensured that all calls to _XIOError() are followed by a return.
++
++- Put exiting the client program in the case of an I/O error under
++ the control of the _NXContinueOnDisplayError flag. If set, the
++ I/O error routine will simply return, leaving to the application
++ the responsibility of checking the state of the XlibDisplayIOEr-
++ ror flag.
++
++- Added some checks whenever a read or write is performed on the X
++ connection, so that we can exit the I/O loop if the X channel is
++ gone. It is likely that more work will be needed when trying to
++ support XTHREADS enabled connections. This should not be a pro-
++ blem for now, as the default is still to quit the application un-
++ less the _NXContinueOnDisplayError flag is explicitly set.
++
++nx-X11-1.5.0-9
++
++- Removed the references to the cygipc library in NXWin. Now use the
++ cygserver daemon to provide the MIT-SHM extension.
++
++- Fixed an error in the UseCygIPC definition.
++
++- Changed the cygwin.cf file to avoid redefinition of the BuildGlxExt,
++ XWinServer and BuildGlxExt symbols.
++
++nx-X11-1.5.0-8
++
++- Added provision for deferred writes in the NX transport. When en-
++ tering _XWaitForReadable() we must ensure that data is flushed to
++ the proxy link.
++
++- Added the UseCygIPC define to NX-Cygwin.def.
++
++- Updated the NoMachine copyright notice on the modified files.
++
++nx-X11-1.5.0-7
++
++- Added the GLX extension in NX-Sun.def.
++
++- Added some more logs in WaitFor.c.
++
++nx-X11-1.5.0-6
++
++- Modified Xlibint.h and XlibInt.c to remove the _NXFlushSize para-
++ meter. New agents run the NX transport in-process, so we don't get
++ any benefit from increasing the display buffer size.
++
++- Modified NX-Darwin.def to not build the NXDarwin server. Since the
++ 1.4.0 version the NXDarwin server is unsupported and the NX client
++ for the Mac requires that the Apple X server is installed.
++
++- Changed NX-Linux.def to avoid the warning due to "SharedLibGLw"
++ being not defined.
++
++nx-X11-1.5.0-5
++
++- Modified the Xserver Imakefile to link nxagent with FbPostFbLibs
++ and avoid including mfb/libmfb.a.
++
++- Added the GLX extension in NX-Linux.def. This provides unaccelera-
++ ted support in nxagent, with GLX operations translated into core X
++ protocol primitives.
++
++- Fixed x-X11/programs/Xserver/GL/dri/Imakefile to look in ../../hw/
++ /xfree86/os-support/bus for includes.
++
++nx-X11-1.5.0-4
++
++- Avoid calling NXTransSelect() if the transport is gone, so that we
++ don't have to wait until the timeout.
++
++- Added the "-fno-strict-aliasing" option to linux.cf when compiling
++ with a GCC version >= 4. In the words of Stefan Dirsch: "The opt-
++ ion, which is default since gcc 3.1, can result in wrong code when
++ the gcc warnings related to it are ignored. And as there are seve-
++ ral warnings in X11 related to it, it has been disabled for X11
++ from the beginning. This didn't change for gcc4, so it still needs
++ to be used."
++
++- Added more logs in XlibInt.c and utils.c. A warning is printed if
++ the SmartScheduler is initialized.
++
++nx-X11-1.5.0-3
++
++- Started integration of nxcomp with the X libraries. The Xtrans
++ code creates an internal connection to the nxcomp library instead
++ of a child proxy process.
++
++- Changed Xpoll.h and XlibInt.c to replace the standard Select
++ with a version giving NX a chance to check its own descriptors.
++
++- Implemented the NXTransReadVector() and the NXTransWriteVector()
++ functions to replace READV() and WRITEV().
++
++- Implemented memory-to-memory communication with the NX proxy by
++ making use of the NXTransAgent() interface.
++
++nx-X11-1.5.0-2
++
++- We think that the way LoadAuthorization() is working is wrong.
++ It doesn't reset the list of stored authorizations before reading
++ the new cookies. Our take is that if a new auth file is to be
++ read, the only cookies that are to be accepted are those that are
++ in the new file, not those in the file -plus- those that have
++ been in the file in the past. Furthermore, if the list can't be
++ read or it is empty, it should assume that it ignores which co-
++ okies are valid and thus it should disable any access. Your mile-
++ age can vary. A less draconian approach could be to leave the old
++ cookies if the file can't be read and remove them only if the
++ file is empty.
++
++ Adding the cookies without removing the old values for the same
++ protocol has an important implication. If an user shares the co-
++ okie with somebody and later wants to revoke the access to the
++ display, changing the cookie will not work. This is especially
++ important with NX. For security reasons, after reconnecting the
++ session to a different display, it is advisable to generate a
++ new set of cookies, but doing that it is useless with the current
++ code, as the old cookies are going to be still accepted. On the
++ same topic, consider that once an user has got access to the X
++ server, he/she can freely enable host authentication from any
++ host, so the safe behaviour should be to reset the host based
++ authenthication at least at reconnection, and keep as valid only
++ the cookies that are actually in the file. This behaviour would
++ surely break many applications, among them a SSH connection run
++ inside a NX session, as ssh -X reads the cookie for the display
++ only at session startup and does not read the cookies again
++ when the auth file is changed.
++
++ Another bug (or feature, depending on how you want to consider
++ it) is that if the authority file contains entries for different
++ displays (as it is the norm when the authority file is the default
++ .Xauthority in the user's home), the X server will match -any- of
++ the cookies, even cookies that are not for its own display. This
++ means that you have to be careful when passing an authority file
++ to nxagent and maybe keep separate files for letting nxagent find
++ the cookie to be used to connect to the remote display and for
++ letting it find what cookies to accept. If the file is the same,
++ clients will be able to connect to nxagent with both the cookies.
++ This bug obviously affects any X server, also the real X server
++ running on the workstation, so it is common to see nxagent being
++ able to connect to the X server even if no cookie matches the
++ real display.
++
++- Added a check in lib/Xau/AuRead.c to prevent the fread() call to
++ be interrupted by SIGCHLD while reading the auth file. Due to the
++ way the old code worked, this could lead to the server enabling
++ local host access to the display. This problem had been identified
++ in the past. We just found that all the code dealing with reading
++ the auth file was affected. The code calls sigprocmask() to block
++ the signal (though it leaves some other calls unprotected) but the
++ SIGCHLD was not included in the set.
++
++- Added SIGCHLD to the set of signals that are blocked when reading
++ the authorization file.
++
++- As I was at it, I changed the path to the SecurityPolicy file. A
++ few Linux ditributors ship the file in $LIBDIR/xserver, a few only
++ in /etc/X11/xserver, most others in both places. It seems that
++ those who ship in $LIBDIR/xserver do also in /etc/X11 but the op-
++ posite is not true, so I switched to /etc/X11.
++
++nx-X11-1.5.0-1
++
++- Opened the 1.5.0 branch.
++
++nx-X11-1.4.1-2
++
++- Set parameter UseCygIPC on cygwin conf file in order to force the
++ build of MIT-SHM estension.
++
++- Removed some spurius object file.
++
++nx-X11-1.4.1-1
++
++- Opened the 1.4.1 branch.
++
++nx-X11-1.4.0-8
++
++- Changed DefaultFontPath and DefaultRGBDatabase in
++ NX-Cygwin.def.
++
++nx-X11-1.4.0-7
++
++- Imported dispatch in nxdarwin package, in order to let
++ nxdarwin being able to detect new client connection.
++
++- Changed the Xpm Imakefile to make also .a static library
++ on Solaris. To link nxviewer and nxdestkop staticaly.
++
++nx-X11-1.4.0-6
++
++- XInput extension enabled on MacOSX.
++
++- Added some missing backup files of the original XFree86
++ package.
++
++nx-X11-1.4.0-5
++
++- Changed the mi Imakefile in order to let xfree86 servers use
++ the normal mi extension initialization for the XInput exten-
++ sion.
++
++- XInput extension enabled on Solaris.
++
++nx-X11-1.4.0-4
++
++- Removed the RejectWellKnownSocket for the cygwin and
++ MacOSX environments that doesn't use the Xtransport library.
++
++nx-X11-1.4.0-3
++
++- Changed the implementation of the reject method in the
++ Xtransport library, now close any new incoming connection
++ immediately without reading or writing to it.
++
++nx-X11-1.4.0-2
++
++- Implemented a reject method in the Xtransport library,
++ this function accept and close every connection attempt,
++ on the specified listening socket.
++
++- Added the new function RejectWellKnownSocket to the os
++ connection code.
++ This function use the new transport reject function on
++ all listening socket.
++
++nx-X11-1.4.0-1
++
++- Opened the 1.4.0 branch.
++
++- Removed forgotten nxagent-1.3.2-20 directory.
++
++nx-X11-1.3.2-9
++
++- Prevents NX Darwin server going through the reset. On Darwin
++ we found that the it is not possible to get the correct key-
++ board layout unless it is set on the local machine, before
++ the NX session is started, by using xmodmap. As we set the
++ keyboard locally, we must prevent the X server to reset, or
++ we would loose any local configuration.
++
++nx-X11-1.3.2-8
++
++- Removed action associated to keysym XK_Terminate_Server. This
++ could cause agent to be terminated when pressing shift + back-
++ space if using the default US keyboard mapping.
++
++- Disabled the remaining debug logs in lib/X11/PutImage.c
++
++nx-X11-1.3.2-7
++
++- Fixed the wrong programs/Xserver/Imakefile in 1.3.2-6 package.
++
++nx-X11-1.3.2-6
++
++- Changed the define from NX_CLEAN_IN_PLACE to NX_CLEAN_INPLACE.
++ Definition of symbol is now placed in the Imakefile.
++
++- The new _NXEnableCleanInplace Xlib variable does control which
++ algorithm is used to clean the images. Setting NX_IMAGEINPLACE
++ in the environment will activate the in-place cleanup.
++
++- The default value of _NXEnableCleanInplace is -1. Leaving it to
++ a value <= 0 disables use of CleanInplace.
++
++nx-X11-1.3.2-5
++
++- Patch in config/cf/sun.cf. Fix for libfontconfig compilation
++ during gmake Everything on Solaris.
++
++- Patch in lib/X11/Imakefile. Fix for nxcomp compilation during
++ gmake World on Solaris.
++
++nx-X11-1.3.2-4
++
++- Image cleanup is now performed by using NXCleanInPlaceImage from
++ nxcompext. This function saves a buffer copy by cleaning the
++ padding bytes in the same buffer provided by the caller. Note that
++ to prevent memory violations in the case the image was allocated
++ in a static buffer, the function will temporarily redefine the
++ SIGSEGV handler. The former handler is restored before returning
++ to the caller. This can potentially affect some multithreaded
++ clients. Is to be decided if the function is safe enough to be
++ included in the production release.
++
++nx-X11-1.3.2-3
++
++- More debug logs in programs/Xserver/xkb/ddxLoad.c.
++
++nx-X11-1.3.2-2
++
++- Added NXmiwindow.o to NXAGENTOBJS in programs/Xserver/Imakefile.
++ File was not linked into the resulting nxagent. This solves the
++ problem of missing repaints in CDE and other Xt applications.
++
++nx-X11-1.3.2-1
++
++- Added some debug logs in programs/Xserver/xkb/ddxLoad.c. Function
++ XkbDDXCompileKeymapByNames is called by OpenOffice to read the
++ keyboard configuration whenever a drop-down menu is accessed. It
++ seem to always fail with the following error:
++
++ The XKEYBOARD keymap compiler (xkbcomp) reports:
++ > Error: Can't find file "unknown" for geometry include
++ > Exiting
++ > Abandoning geometry file "default"
++
++- Opened the 1.3.2 development branch.
++
++nx-X11-1.3.1-12
++
++- Fixed a problem in xkb/ddxLoad.c on Solaris where Pclose was
++ always returning an error code despite the fact that command
++ was executed properly.
++
++nx-X11-1.3.1-11
++
++- Changed default GCC flags from '-O2 -fno-strength-reduce' to
++ -O3. No platform where NX is targeted is currently using a
++ GCC 2.x affected by the -fno-strength-reduce bug. Note also
++ that nxcomp is already compiled with -O3 since 1.1.1, so it
++ can be considered safe.
++
++nx-X11-1.3.1-10
++
++- Imported an updated fbcompose.c file from XFree86-4.3.99.902.
++ This fixes "uninitialized value" problems reported by Valgrind.
++
++- Fixed further buffer overflows by updating the following file
++ with recent versions coming from the XFree86-4.3.99.902 tree.
++
++ nx-X11/lib/font/fontfile/dirfile.c
++ nx-X11/lib/font/fontfile/encparse.c
++ nx-X11/lib/font/fontfile/fontfile.c
++
++- Fixed a possible buffer overflow in lib/font/FreeType/fttools.c.
++ Verified that the change is already in the XFree86 4.4.0 CVS.
++
++nx-X11-1.3.1-9
++
++- Fixed Xserver/Imakefile which was still referencing NXpixmap.o.
++
++nx-X11-1.3.1-8
++
++- Imported an updated fbgc.c from XFree86-4.3.99.902. This fixes
++ some minor problems reported by Valgrind.
++
++- A major problem was reported by Valgrind about reading after
++ the block allocated in fbCreatePixmap from AllocatePixmap. The
++ file pixmap.c has been modified so that 4 bytes are added to
++ the pixmap buffer at any new allocation. This quick hack should
++ solve the problem for both nxagent and the NXWin server. Further
++ investigation is planned for the next release.
++
++- Fixed Xtranssock.c to compile on Solaris where struct sigaction
++ doesn't have the sa_restorer member.
++
++nx-X11-1.3.1-5
++
++- Renamed the NX-sun.def configuration file to NX-Sun.def.
++
++- Renamed the non-standard NX_iPAQ_XServer and NX_Zaurus_XServer
++ symbols to NXiPAQXServer and NXZaurusXServer.
++
++- Added the missing sun.cf.XF86.original file in config/cf.
++
++- Added the missing empty file host.def.XF86.original in the
++ same directory.
++
++- Added initialization of sa.sa_mask when setting sigaction()
++ for SIGCHLD. The problem was reported by Valgrind running
++ nxagent.
++
++- Removed an unused block of code from WaitFor.c. The code had
++ been commented out in previous versions.
++
++- Removed the non-standard colon at the end of version in this
++ CHANGELOG.
++
++- Removed the spurious spaces in this CHANGELOG.
++
++nx-X11-1.3.1-4
++
++- Added a little workaround to the top Imakefile intended to
++ hide the makedepend warnings about non portable whitespaces
++ in sources.
++
++nx-X11-1.3.1-3
++
++- Fixed compilation problem with nxagent-1.3.1-13.
++
++nx-X11-1.3.1-2
++
++- Changes in NX-sun.def configuration file for Solaris to allow
++ compilation of the XKB extension.
++
++nx-X11-1.3.1-1
++
++- Opened the 1.3.1 development branch.
++
++nx-X11-1.3.0-6
++
++- Original output buffer size in stock XFree86 is 2048. We try
++ to reduce context switches and help stream compression by
++ increasing the maximum size of the buffer 8192. _NXFlushSize
++ determines when the display buffer is actually flushed. It is
++ set by default to 4096 but agents should set it to 0 if they
++ want to disable early flush.
++
++- Added the _NXLostSequenceFunction function pointer to let NX
++ agents suppress the error message and modify the default Xlib
++ behaviour when out-of-order sequence numbers are received.
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_cross.def.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_cross.def.X.original
new file mode 100644
index 000000000..907c5c850
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_cross.def.X.original
@@ -0,0 +1,33 @@
+--- ./nx-X11/config/cf/cross.def.X.original 2015-02-13 14:03:44.396448342 +0100
++++ ./nx-X11/config/cf/cross.def 2015-02-10 19:13:13.392701311 +0100
+@@ -16,16 +16,16 @@
+ #define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
+ #undef CcCmd
+-#define StdIncDir /skiff/local/arm-linux/include
++#define StdIncDir /opt/Embedix/tools/arm-linux/include
+ #define PreIncDir
+ #undef PostIncDir
+-#define PostIncDir /skiff/local/lib/gcc-lib/arm-linux/2.95.2/include
+-#define CcCmd /skiff/local/bin/arm-linux-gcc
++#define PostIncDir /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/include
++#define CcCmd /opt/Embedix/tools/bin/arm-linux-gcc
+ #undef CplusplusCmd
+ #define HasCplusplus YES
+-#define CplusplusCmd /skiff/local/bin/arm-linux-g++
++#define CplusplusCmd /opt/Embedix/tools/bin/arm-linux-g++
+ #define DoRanlibCmd YES
+-#define RanlibCmd /skiff/local/bin/arm-linux-ranlib
++#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
+ #undef ExtraLoadFlags
+ #define ExtraLoadFlags
+ #define FbNoPixelAddrCode
+@@ -33,7 +33,7 @@
+ #define TermcapLibrary -ltermcap
+
+ #undef LdPostLib
+-#define LdPostLib -L/skiff/local/arm-linux/lib
++#define LdPostLib -L/opt/Embedix/tools/arm-linux/lib
+
+ #undef ExtensionOSDefines
+ #define ExtensionOSDefines
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_host.def.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_host.def.X.original
new file mode 100644
index 000000000..cd1b1fbf6
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_host.def.X.original
@@ -0,0 +1,1023 @@
+--- ./nx-X11/config/cf/host.def.X.original 2015-02-13 14:03:44.400448260 +0100
++++ ./nx-X11/config/cf/host.def 2015-02-13 14:03:44.400448260 +0100
+@@ -0,0 +1,1020 @@
++XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $
++/******************************************************************************/
++/*
++ * This file is to provide a quick method for most people to change the
++ * behaviour of their Xorg installation without having to fully
++ * understand the workings of site.def and all the various '.cf' files.
++ *
++ * In the vast majority of cases, it should not be necessary to use this
++ * file at all or change it in any way.
++ *
++ * This file is divided into two sections. The first contains settings
++ * that end-users might reasonably change. The second contains settings
++ * that developers might want to change.
++ *
++ * IMPORTANT NOTE: In all cases changing the defaults may cause problems
++ * and/or unexpected side-effects. If you don't understand what a setting
++ * does, then it's best to not change it. If you make changes and have
++ * problems, verify that those problems are also present when using an
++ * empty host.def file and unchanged version of this file before reporting
++ * them.
++ *
++ * A good way to use this file is to copy it to host.def, and make the
++ * changes there. That way, future patches to this file won't fail.
++ * The host.def file will never be patched.
++ *
++ * The distributed version of this file MUST contain no uncommented
++ * definitions. Default definitions belong in xorg.cf, or <vendor>.cf
++ * files.
++ */
++/******************************************************************************/
++
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
++#if !defined(NXZaurusXServer) && !defined(NXiPAQXServer) && !defined(DarwinArchitecture)
++
++#if defined(SunArchitecture)
++#define ProjectRoot /usr/openwin
++#endif
++
++/*
++ * Enable use the Cygwin IPC libraries to get MIT-SHM support.
++ */
++#if defined(cygwinArchitecture)
++#define UseCygIPC YES
++#endif
++
++/*
++ * If you have build-specific modifications in your host.def file, but
++ * want an empty host.def file installed when doing 'make install',
++ * uncomment the following
++ *
++#define InstallEmptyHostDef
++ */
++
++/*
++ * Which servers to build. There is only Xorg server.
++ * It can be disabled by the following.
++ *
++#define XorgServer NO
++ */
++#define XorgServer NO
++
++/*
++ * To disable building the Xnest server, uncomment this.
++ *
++#define XnestServer NO
++ */
++#define XnestServer NO
++
++/*
++ * To disable building Xvfb, uncomment this.
++ *
++#define XVirtualFramebufferServer NO
++ */
++#define XVirtualFramebufferServer NO
++
++/*
++ * To enable building Xdmx, uncomment this.
++ *
++#define XdmxServer YES
++ */
++#define XdmxServer NO
++
++/*
++ * To disable building Xprt, uncomment this.
++ *
++#define XprtServer NO
++ */
++#define XprtServer NO
++
++/*
++ * Xprint is needed by Xprt. You can disable it if
++ * you are not going to build Xprt.
++ *
++#define BuildXprint NO
++ */
++#define BuildXprint NO
++
++/*
++ * Building libraries with NX enhancements is disabled
++ * by default. You should enable this in your host.def.
++ *
++#define NXLibraries YES
++ */
++#define NXLibraries YES
++
++/*
++ * Building the NX agent nested server is disabled
++ * by default. Enable this in your host.def.
++ *
++#define NXAgentServer YES
++ */
++#define NXAgentServer YES
++
++/*
++ * Assume the new build tree.
++ *
++#define NXUpgradeAgentServer NO
++ */
++#define NXUpgradeAgentServer YES
++
++#ifdef NXAgentServer
++#define BuildRenderLibrary YES
++#define SharedLibFreetype2 YES
++#define NormalLibFreetype2 YES
++#define FontLibSharedFreeType NO
++#endif
++
++/*
++ * Define this symbol to build the NX enhanced MS Windows
++ * X server for Cygnus environment.
++ *
++#define NXWinServer YES
++ */
++#if defined(cygwinArchitecture)
++#define NXWinServer NO
++#define XWinServer NO
++#endif
++
++/*
++ * Set the default server (ie the one that gets the sym-link to "X")
++ *
++#define ServerToInstall Xorg
++ */
++
++/*
++ * Force build of X libraries if any nested server is to be built.
++ *
++#define BuildLibraries YES
++ *
++ * If you just want libraries for NXAgentServer, this should be
++ * enough (never tested, although).
++ *
++#define BuildLibrariesForXServers YES
++ */
++#if XnestServer || NXAgentServer
++#define BuildLibraries YES
++#endif
++
++#define BuildDamageLibrary YES
++
++#define BuildXfixesLibrary YES
++
++#define BuildCompositeLibrary YES
++
++#define BuildRandRLibrary YES
++
++#define BuildDocs NO
++
++#define BuildComposite YES
++
++/*
++ * If you only run the X server under xdm the X servers don't need to be
++ * installed SetUID, and you may comment out the lines below. If you run
++ * the servers by hand (with xinit or startx), then they do need to be
++ * installed SetUID on most platforms.
++ *
++ * Consult your system administrator before making the X server setuid.
++ *
++#define InstallXserverSetUID NO
++ */
++
++
++/*
++ * Server configuration parameters. The defaults are shown here:
++ */
++
++/*
++ * Which drivers to build. When building a static server, each of these
++ * will be included in it. When building the loadable server each of these
++ * modules will be built.
++ *
++#define XF86CardDrivers mga glint nv tga s3virge sis rendition \
++ neomagic i740 tdfx savage \
++ cirrus vmware tseng trident chips apm \
++ GlideDriver fbdev i128 \
++ ati DevelDrivers ark cyrix \
++ siliconmotion \
++ vesa vga XF86OSCardDrivers XF86ExtraCardDrivers
++ */
++
++/*
++ * To add third party drivers to the standard driver list, set the
++ * following.
++ *
++#define XF86ExtraCardDrivers extradriver1 extradriver2 ...
++ */
++
++/*
++ * Select the XInput devices you want by uncommenting this.
++ *
++#define XInputDrivers mouse keyboard acecad calcomp citron \
++ digitaledge dmc dynapro elographics \
++ microtouch mutouch penmount spaceorb summa \
++ wacom void magictouch aiptek
++ */
++
++/* To enable building of development DRI drivers (insecure, or not
++ * useful on the chosen architecture, uncomment this define.
++#define BuildDevelDRIDrivers YES
++ */
++
++/*
++ * To use the deprecated, old keyboard driver, uncomment this. But
++ * even better, make the new keyboard driver (hw/xfree86/input/keyboard)
++ * work for your architechture. The old driver will be removed in the
++ * next release.
++ *
++#define UseDeprecatedKeyboardDriver YES
++ */
++
++/*
++ * There are three parameters that determine where and how the Matrox HAL
++ * library is used:
++ *
++ * HaveMatroxHal -- You have the HALlib.a binary library installed
++ * in xfree86/drivers/mga/HALlib, and you want it to
++ * be used.
++ * Default: NO
++ *
++ * BuildMatroxHal -- You have the source for the HALlib library (installed
++ * in xfree86/drivers/mga/hallib), and want to build and
++ * use it.
++ * Default: NO
++ *
++ * UseMatroxHal -- You want to build support for loading/using the HAL
++ * library into the mga driver. For module server builds
++ * you don't need to have the HALlib library to do this.
++ * but you want to build support for loading it and using
++ * it into the mga driver module.
++ * Default: YES for loadable server build
++ * (HaveMatroxHal || BuildMatroxHal) for static
++ */
++
++/*
++ * To disable use of the Matrox HAL library, uncomment this:
++ *
++#define UseMatroxHal NO
++ */
++
++/*
++ * If you have the HALlib.a binary installed in xfree86/drivers/mga/HALlib,
++ * uncomment this:
++ *
++#define HaveMatroxHal YES
++ */
++
++/*
++ * If you have the HALlib source code installed in xfree86/drivers/mga/hallib,
++ * uncomment this:
++#define BuildMatroxHal YES
++ */
++
++/*
++ * To disable building the font server, uncomment this.
++ *
++#define BuildFontServer NO
++ */
++#define BuildFontServer NO
++
++/*
++ * Speedo fonts have been disabled by default in this release.
++ * To re-enable support for Speedo fonts, uncomment this.
++ *
++#define BuildSpeedo YES
++ */
++
++/*
++ * To disable support for CID fonts, uncomment this.
++ *
++#define BuildCID NO
++ */
++
++/*
++ * To disable support for TrueType fonts, uncomment these.
++ *
++#define BuildFreeType NO
++ */
++
++/*
++ * To set non-default build options for the underlying FreeType libraries,
++ * add them here and uncomment.
++ *
++#define Freetype2BuildDefines -DFREETYPE_BUILD_DEFINES
++ */
++
++/*
++ * To build the FreeType libraries with the TrueType byte code interpreter
++ * enabled, uncomment this. Note that there are patent issues related to the
++ * TrueType byte code interpreter, and we only recommend you enabling this
++ * if you are sure that there are no legal impediments to you doing so. See
++ * <http://www.freetype.org/patents.html> for further information.
++ *
++#define Freetype2BuildDefines -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
++ */
++
++/*
++ * Do you want to Build Fonts (Usually you only want to build and install
++ * fonts once, if this is a first time install you will want to build the
++ * fonts)
++ *
++#define BuildFonts NO
++ */
++#define BuildFonts NO
++
++/*
++ * To not build/install the 75dpi fonts, uncomment the following
++ *
++#define Build75DpiFonts NO
++ */
++
++/*
++ * To not build/install the 100dpi fonts, uncomment the following
++ *
++#define Build100DpiFonts NO
++ */
++
++/*
++ * To build/install the Speedo fonts, uncomment the following
++ * (see setting above about Speedo support as well)
++ *
++#define BuildSpeedoFonts YES
++ */
++
++/*
++ * To not build/install the Type1 fonts, uncomment the following
++ *
++#define BuildType1Fonts NO
++ */
++
++/*
++ * To not build/install the CID fonts, uncomment the following
++ *
++#define BuildCIDFonts NO
++ */
++
++/*
++ * To not build/install the True Type fonts, uncomment the following
++ *
++#define BuildTrueTypeFonts NO
++ */
++
++/*
++ * To not build/install the Cyrillic fonts, uncomment the following
++ *
++#define BuildCyrillicFonts NO
++ */
++
++/*
++ * To not install the local font directory, uncomment the following
++ *
++#define MakeLocalFontDir NO
++ */
++
++/*
++ * Include True Type Fonts to default font path. It is safe to do
++ * this by default as NX intaller carries only misc and TTF in the
++ * basic set of fonts installed under Windows.
++ *
++#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
++ */
++
++#if defined(LinuxArchitecture) || defined(SunArchitecture) || defined(FreeBSDArchitecture)
++#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/,$(FONTDIR)/TTF/
++#endif /* #if defined(LinuxArchitecture) || defined(SunArchitecture) */
++
++#if defined(cygwinArchitecture)
++#define DefaultFontPath /mnt/NX/fonts/base/,/mnt/NX/fonts/misc/,/mnt/NX/fonts/Speedo/,/mnt/NX/fonts/Type1/,/mnt/NX/fonts/75dpi/,/mnt/NX/fonts/100dpi/,/mnt/NX/fonts/TTF/
++#define DefaultRGBDatabase /mnt/NX/fonts/rgb
++#endif /* #if defined(cygwinArchitecture) */
++
++/*
++ * To build only the servers with a cut-down source tree, uncomment
++ * this.
++ *
++#define BuildServersOnly YES
++ */
++#define BuildServersOnly YES
++
++/*
++ * By default, the sample config files for xinit, xdm and xfs are installed
++ * only when there is no pre-existing version installed. Uncommenting the
++ * following lines will force the sample versions to be installed even if
++ * it means over-writing existing versions.
++ *
++#define InstallXinitConfig YES
++#define InstallXdmConfig YES
++#define InstallFSConfig YES
++ */
++
++/*
++ * By default the application defaults files are always installed.
++ * Uncommenting the the following will prevent exising application
++ * defaults files from being over-written.
++ *
++#define InstallAppDefFiles NO
++ */
++
++/*
++ * Undefine the following if you don't want to have config files and
++ * app-defaults installed in a separate directory (i.e. /etc/X11).
++ *
++#define UseSeparateConfDir NO
++ */
++
++/*
++ * To enable building the glide driver, you need to define
++ * HasGlide2 to YES and set the Glide2IncDir variable.
++ * HasGlide2 is per default NO.
++ *
++#define HasGlide2 YES
++ */
++
++/*
++ * Set the path to your Glide include files.
++ *
++#define Glide2IncDir /usr/include/glide
++ */
++
++/*
++ * Have glide 3?
++ *
++#define HasGlide3 YES
++ */
++
++/*
++ * Set the path to your Glide 3 include files.
++ *
++#define Glide3IncDir /usr/include/glide3
++ */
++
++
++
++/*
++ * Unless you're a developer you shouldn't need to change anything
++ * beyond this point.
++ */
++
++/*
++ * If you want to enable some developer settings, like more verbose
++ * compiler warnings, uncomment this.
++ *
++#define XFree86Devel YES
++*/
++
++/*
++ * If using GCC 2.x on a system where it isn't the default, uncomment
++ * the following
++ *
++ */
++#if defined(SunArchitecture)
++#define HasGcc2 YES
++#define HasGcc YES
++#endif
++
++/*
++ * The default optimisation flags for GCC 2.x. -fno-strength-reduce is
++ * here to work around a bug in -O2 for GCC 2.x on i386 platforms.
++ * If you are using a version that doesn't have this bug, you can
++ * uncomment the following line, and remove '-fno-strength-reduce'
++ * If you are building binaries for a 486, it may be beneficial to add
++ * -m486
++ *
++#define DefaultGcc2i386Opt -O2 -fno-strength-reduce
++ */
++
++#if defined (LinuxArchitecture)
++#define DefaultGcc2i386Opt -g -O3
++#endif
++
++/*
++ * Enable all the optimizations on AMD64.
++ */
++
++#define DefaultGcc2AMD64Opt -g -O3 GccAliasingArgs
++
++/*
++ * This allows the GCC warning flags to be set. The default is shown here.
++ *
++#define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
++ -Wmissing-prototypes -Wmissing-declarations \
++ -Wredundant-decls -Wnested-externs
++ */
++
++/*
++ * Sun Compiler stuff..
++ *
++#define HasSunC YES
++#define HasSunCplusplus YES
++#define CplusplusCompilerMajorVersion 5
++#define CplusplusCompilerMinorVersion 0
++#define CCompilerMajorVersion 5
++#define CCompilerMinorVersion 0
++ */
++
++/*
++ * Optimized Sun Compiler Build.
++ *
++#define DefaultCDebugFlags -xO4 -xtarget=pentium_pro
++#define OptimizedCDebugFlags -xO4 -xtarget=pentium_pro
++ */
++
++/*
++ * Debuggable Sun Compiler Build.
++ * Note: This builds _EVERYTHING_ as debuggable
++ *
++#define DefaultCDebugFlags -g -xs
++#define OptimizedCDebugFlags -g -xs
++ */
++
++/*
++ * For Linux, this should match the Binutils version you have. This example
++ * is for 2.6.0.7. See linux.cf for the default setting.
++ *
++ * This should automatically get set correctly by imake.
++ *
++#define LinuxBinUtilsMajorVersion 26
++ */
++
++/*
++ * For Linux, these should match the libc version you have. This example
++ * is for libc.5.4.x. See linux.cf for the default setting.
++ *
++ * This should automatically get set correctly by imake.
++ *
++#define LinuxCLibMajorVersion 5
++#define LinuxClibMinorVersion 4
++ */
++
++/*
++ * If you want to use the GNU malloc library, uncomment this
++ *
++#define UseGnuMalloc YES
++ */
++
++/*
++ * Set this to whatever is required to access the GNU malloc library.
++ * The default is '-lgmalloc' unless is specified in the OS's .cf file.
++ *
++#define GnuMallocLibrary -L/usr/local/lib -lgmalloc
++ */
++
++/*
++ * To enable the internal Xserver malloc, uncomment this
++ *
++#define UseInternalMalloc YES
++ */
++
++/*
++ * Some Linux releases don't have a libtermcap. In this case you may need
++ * to uncomment the following
++ *
++#define TermcapLibrary -lncurses
++ */
++
++/*
++ * Build a server that dynamically loads the modules by setting
++ * this to YES. This defaults to YES on most platforms. A static server
++ * can be built by setting this to NO.
++ *
++#define DoLoadableServer NO
++ */
++
++/*
++ * This release defaults to building dlopen() style modules instead of the
++ * previously standard loader modules.
++ *
++ * Uncomment the following to return to the XFree86 custom loader modules.
++ *
++#define MakeDllModules NO
++ */
++
++/*
++ * Build XAA. This can be disabled with:
++ *
++#define XF86XAA NO
++ */
++
++/*
++ * Build vgahw. This can be disabled with:
++ *
++#define XF86VgaHw NO
++ */
++
++/*
++ * Build xf1bpp. This can be disabled with:
++ *
++#define XF1Bpp NO
++ */
++
++/*
++ * Build xf4bpp. This can be disabled with:
++ *
++#define XF4Bpp NO
++ */
++
++
++/*
++ * BSD Console driver support (for FreeBSD and NetBSD).
++ *
++ * By default, support is included for pccons and pcvt for NetBSD, and
++ * pccons, syscons and pcvt for FreeBSD.
++ *
++ * To change the list of supported drivers, set the following parameter.
++ * Possible values are -DPCCONS_SUPPORT, -DSYSCONS_SUPPORT, -DPCVT_SUPPORT.
++ * The following example includes support for syscons and pcvt only.
++ *
++#define XFree86ConsoleDefines -DSYSCONS_SUPPORT -DPCVT_SUPPORT
++ */
++
++/*
++ * To link the X server with a dynamic version of the Xfont library,
++ * uncomment this.
++ *
++#define XserverStaticFontLib NO
++ */
++
++/*
++ * To enable binary compatibility with previous versions of the font
++ * encoding support, uncomment this.
++ *
++#define FontencCompatibility YES
++ */
++
++/*
++ * To disable building XInput support, uncomment this
++ *
++#define BuildXInputExt NO
++ */
++#if defined(SunArchitecture)
++#define BuildXInputExt YES
++#endif
++
++/*
++ * Uncomment this for joystick support.
++ *
++ * Note: Joystick support is broken, so don't enable this.
++ *
++#define JoystickSupport YES
++ */
++
++/*
++ * To disable the ScreenSaver Extension, uncomment this line.
++ *
++#define BuildScreenSaverExt NO
++ */
++#define BuildScreenSaverExt NO
++
++/*
++ * If you don't want to build Xinerama support, uncomment this.
++ *
++#define BuildXinerama NO
++ */
++#define BuildXinerama NO
++
++/*
++ * If you don't want to build support for the GLX extension, uncomment this.
++ *
++#define BuildGlxExt NO
++ */
++#define BuildGlxExt YES
++
++/*
++ * Taken from xorg.cf.
++ */
++
++#if defined(SparcArchitecture) \
++ || defined (Sparc64Architecture) \
++ || defined(ia64Architecture) \
++ || defined(s390xArchitecture) \
++ || defined(AMD64Architecture)
++#define GlxExtraDefines -D__GLX_ALIGN64
++#endif
++
++/*
++ * If you want to build the xf86rush extension, uncomment this line.
++ * This isn't recommended.
++ *
++#define BuildXF86RushExt YES
++ */
++#define BuildXF86RushExt NO
++
++/*
++ * If you want to build the client library for the xf86rush extension,
++ * uncomment this line. This isn't recommended.
++ *
++#define BuildXF86RushLibrary NO
++ */
++#define BuildXF86RushLibrary NO
++
++/*
++ * We should never need LBX in a NX enabled environment...
++ *
++#define BuildLBX NO
++ */
++#define BuildLBX NO
++
++#define BuildXKB YES
++#define BuildXKBlib YES
++
++#define SharedLibXau NO
++
++/*
++ * If you are running NetBSD 0.9C or later, and have the aperture driver
++ * installed, uncomment this.
++ *
++#define HasNetBSDApertureDriver YES
++ */
++
++/*
++ * If you are running SVR3 and have the mmap driver installed (for linear
++ * framebuffer access) uncomment this.
++ *
++#define HasSVR3mmapDrv YES
++ */
++
++/*
++ * If you are using an SVR3 (like ISC 4.x) which supports long file names,
++ * you can uncomment this to have manual pages installed under their
++ * full names
++ *
++#define ExpandManNames YES
++ */
++
++/*
++ * For a POSIXized build on Interactive uncomment this
++ * Could be used with gcc 'till Version 2.6.3
++ * Should be used with gcc 2.7.2.
++ *
++#define UsePosix YES
++ */
++
++/*
++ * If you don't want XDMAUTH support (if you don't have Wraphelp.c),
++ * comment this out.
++ *
++ */
++#if defined(LinuxArchitecture)
++#define HasXdmAuth YES
++#endif /* #if defined(LinuxArchitecture) */
++
++/*
++ * If you have Linux DECnet support, and want to build XFree86 with support
++ * for connections over DECnet, uncomment this.
++ *
++#define HasDECnet YES
++ */
++
++/*
++ * To build static and shared libraries with debugging information, uncomment
++ * this. Assumes you have Gcc2.
++ * (If you don't have Gcc2, you can use the DebugLib{X11,...} variables
++ * to build debugging versions of the libraries separately.)
++ *
++#define DebuggableLibraries YES
++*/
++#if defined(LinuxArchitecture)
++#define DebuggableLibraries YES
++#endif /* #if defined(LinuxArchitecture) */
++/*
++ * To forceably build static libraries in addition to shared libraries,
++ * uncomment this.
++ *
++#define ForceNormalLib YES
++ */
++
++/*
++ * Uncomment this if your default tools (eg, gcc, ld, as, etc) are
++ * not the Linux ELF versions.
++ *
++#define LinuxElfDefault NO
++ */
++
++/*
++ * To use ELF format shared libraries for supported OSs, uncomment this.
++ *
++ * For Linux the default setting of this is the same as the setting of
++ * LinuxElfDefault.
++ *
++ * For FreeBSD this should automatically be set correctly by imake. Only
++ * change it here if you need to override the automatic setting.
++ *
++#define UseElfFormat YES
++ */
++
++/*
++ * For FreeBSD/ELF (FreeBSD 3.0) it is possible to also build and install
++ * a.out compatibility libraries. To enable that, uncomment this.
++ *
++#define BuildAoutLibraries YES
++ */
++
++/*
++ * If you have trouble with make bombing out in Xlib, try uncommenting this.
++ * You will not get dependencies as a result, but better than nothing.
++ *
++#define MakeHashTableBug YES
++ */
++
++/*
++ * If you do not want your man pages compress under SVR3 systems that
++ * support it, uncomment this.
++ *
++#define CompressManPages NO
++ */
++
++/*
++ * If you have sgmlfmt (the XFree86 doctools package) and want to build
++ * formatted docs from the SGML source, uncomment this.
++ *
++#define HasSgmlFmt YES
++ */
++
++/*
++ * To disable building some document formats, uncomment some of these.
++ *
++#define BuildLinuxDocText NO
++#define BuildLinuxDocHtml NO
++#define BuildLinuxDocPS NO
++ */
++
++/*
++ * To install Japanese versions of the documentation uncomment this.
++ * Note: The Japanese documentation consists of a subset of the
++ * XFree86 3.1 docs.
++ *
++#define InstallJapaneseDocs YES
++ */
++
++/*
++ * To build/install X specs docs, uncomment the following.
++ * The SpecsDocDirs setting here is recommended because it covers
++ * the docs that XFree86 has changed or added.
++ *
++#define BuildSpecsDocs YES
++#define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xmu Xv XvMC i18n
++ */
++
++/*
++ * To build all specs docs, not just those listed in SpecsDocDirs, uncomment
++ * the following.
++ *
++#define BuildAllSpecsDocs YES
++ */
++
++/*
++ * If your system doesn't support vm86() mode and you have
++ * libx86emu set library path here
++ *
++#define X86EMU_LIBPATH /usr/local/lib
++ */
++
++/*
++ * Most platforms default to using an already installed FreeType 2 library.
++ * To use the one included in this release instead, uncomment the following.
++ *
++#define HasFreetype2 NO
++ */
++#define HasFreetype2 NO
++
++/*
++ * To use a FreeType library already installed outside the default search
++ * paths, uncomment the following and set the path as needed.
++ *
++#define HasFreetype2 YES
++#define Freetype2Dir /usr/local
++ */
++
++
++/*
++ * Most platforms default to using an already installed Fontconfig library.
++ * To use the one included in this release instead, uncomment the following.
++ *
++#define HasFontconfig NO
++ */
++#define HasFontconfig NO
++
++/*
++ * To use a Fontconfig library already installed outside the default search
++ * paths, uncomment the following and set the path as needed.
++#define HasFontconfig YES
++#define FontconfigDir /usr/local
++ */
++
++
++/*
++ * Most platforms default to using an already installed Expat library.
++ * To use the one included in this release instead, uncomment the following.
++ *
++#define HasExpat NO
++ */
++#define HasExpat NO
++
++/*
++ * To use a Expat library already installed outside the default search
++ * paths, uncomment the following and set the path as needed.
++#define HasExpat YES
++#define ExpatDir /usr/local
++ */
++
++
++/*
++ * Most platforms default to using an already installed PNG library.
++ * To use the one included in this release instead, uncomment the following.
++ *
++#define HasLibpng NO
++ */
++
++/*
++ * To use a PNG library already installed outside the default search
++ * paths, uncomment the following and set the path as needed.
++#define HasLibpng YES
++#define LibpngDir /usr/local
++ */
++
++
++/*
++ * Most platforms default to using an already installed xterm program.
++ * To use the one included in this release instead, uncomment the following.
++ *
++#define BuildXterm YES
++ */
++
++#define SharedLibXau NO
++
++#define SharedLibXdmcp NO
++
++#define BuildXaw7 YES
++
++#else /* #if !defined(NXZaurusXServer) && !defined(NXiPAQXServer) && !defined(DarwinArchitecture) */
++
++#if defined(DarwinArchitecture) && !defined(NXZaurusXServer) && !defined(NXiPAQXServer)
++#define NXDarwinServer NO
++#define BuildServersOnly YES
++#define DefaultFontPath /usr/NX/share/fonts/misc/,/usr/NX/share/fonts/TTF/
++#define DefaultRGBDatabase /usr/NX/share/rgb
++#define XprtServer NO
++#define BuildXprint NO
++#define XnestServer NO
++#define XVirtualFramebufferServer NO
++#define BuildFontServer NO
++#define BuildFreeType NO
++#define BuildXTrueType NO
++#define FontLibSharedFreeType NO
++#endif
++
++#if !defined(NXZaurusXServer) && defined(NXiPAQXServer)
++#define KDriveXServer YES
++#define XiPAQH3500Server YES
++#define BuildServersOnly YES
++#define NXEmbeddedXServer YES
++#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
++#define TinyXServer YES
++#define CrossCompiling YES
++#define TouchScreen YES
++#define ItsyCompilerBug YES
++#undef BuildRandR
++#define BuildRandR YES
++#define BuildXInputLib YES
++#define BuildXTrueType YES
++#define ServerXdmcpDefines
++#define XipaqServer YES
++#endif
++
++#if !defined(NXiPAQXServer) && defined(NXZaurusXServer)
++#define KDriveXServer YES
++#define XiPAQH3500Server YES
++#define BuildServersOnly YES
++#define ZaurusXServer YES
++#define NXEmbeddedXServer YES
++#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
++#define TinyXServer YES
++#define CrossCompiling YES
++#define TouchScreen YES
++#define ItsyCompilerBug YES
++#undef BuildRandR
++#define BuildRandR YES
++#define BuildXInputLib YES
++#define BuildXTrueType YES
++#define ServerXdmcpDefines
++#define XipaqServer YES
++#define XfbdevServer YES
++#endif
++
++#endif /* #if !defined(NXZaurusXServer) && !defined(NXiPAQXServer) && !defined(DarwinArchitecture) */
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_iPAQH3600.cf.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_iPAQH3600.cf.X.original
new file mode 100644
index 000000000..ab93486c4
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_iPAQH3600.cf.X.original
@@ -0,0 +1,112 @@
+--- ./nx-X11/config/cf/iPAQH3600.cf.X.original 2015-02-13 14:03:44.400448260 +0100
++++ ./nx-X11/config/cf/iPAQH3600.cf 2015-02-13 14:03:44.400448260 +0100
+@@ -0,0 +1,109 @@
++/* $XFree86: xc/config/cf/iPAQH3600.cf,v 1.2 2000/10/10 14:05:48 tsi Exp $ */
++/*
++ * This configuration file contains additional configuration needed
++ * to cross compile X for the Compaq iPAQ H3600 PocketPC.
++ * To use this, add the following to host.def:
++ #define KDriveXServer YES
++ #define XiPAQH3500Server YES
++ */
++
++#define CrossCompiling YES
++
++#undef i386Architecture
++#define Arm32Architecture
++
++#undef OptimizedCDebugFlags
++#define OptimizedCDebugFlags -O2
++#define ServerCDebugFlags -O2
++#undef StandardDefines
++#define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
++ -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
++#undef CcCmd
++#define StdIncDir /opt/Embedix/tools/arm-linux/include
++#define PreIncDir
++#undef PostIncDir
++#define PostIncDir /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/include
++#define CcCmd /opt/Embedix/tools/bin/arm-linux-gcc
++#define DoRanlibCmd YES
++#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
++#undef ExtraLoadFlags
++#define ExtraLoadFlags
++#define FbNoPixelAddrCode
++#undef TermcapLibrary
++#define TermcapLibrary -ltermcap
++
++#undef LdPostLib
++#define LdPostLib -L/opt/Embedix/tools/arm-linux/lib
++
++#undef XfbdevServer
++#define XfbdevServer YES
++#undef BuildXprint
++#define BuildLBX NO
++#define BuildFonts NO
++#define BuildAppgroup NO
++#define BuildRECORD NO
++#define BuildDBE NO
++#define BuildXCSecurity NO
++#define ItsyCompilerBug YES
++#define FontServerAccess NO
++#define ServerXdmcpDefines /**/
++
++#undef ExtensionOSDefines
++#define ExtensionOSDefines
++
++#define ProjectRoot /usr/X11R6
++
++#define GzipFontCompression YES
++
++#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
++
++#define HostLinkRule(target, flags, src, libs) cc -I$(BUILDINCDIR) -o target src
++
++/* ComplexHostProgramTarget - Compile a program such that we can run
++ * it on this host, i.e., don't use the default cross compiler.
++ */
++#ifndef ComplexHostProgramTarget
++#define ComplexHostProgramTarget(program) @@\
++ CC=cc @@\
++ STD_INCLUDES= @@\
++ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
++EXTRA_LOAD_FLAGS= @@\
++ PROGRAM = program @@\
++ @@\
++AllTarget(program) @@\
++ @@\
++program: $(OBJS) $(DEPLIBS) @@\
++ RemoveTargetProgram($@) @@\
++ HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
++ @@\
++DependTarget() @@\
++ @@\
++LintTarget() @@\
++ @@\
++clean:: @@\
++ RemoveFile(ProgramTargetName(program))
++#endif /* ComplexHostProgramTarget */
++
++#ifndef SimpleHostProgramTarget
++#define SimpleHostProgramTarget(program) @@\
++ SRCS = program.c @@\
++ @@\
++ CC=cc @@\
++ STD_INCLUDES= @@\
++ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
++EXTRA_LOAD_FLAGS= @@\
++ PROGRAM = program @@\
++ @@\
++AllTarget(program) @@\
++ @@\
++program: program.o $(DEPLIBS) @@\
++ RemoveTargetProgram($@) @@\
++ HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
++ @@\
++DependTarget() @@\
++ @@\
++LintTarget() @@\
++ @@\
++clean:: @@\
++ RemoveFile(ProgramTargetName(program))
++#endif /* SimpleHostProgramTarget */
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_sun.cf.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_sun.cf.X.original
new file mode 100644
index 000000000..444c142be
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_sun.cf.X.original
@@ -0,0 +1,50 @@
+--- ./nx-X11/config/cf/sun.cf.X.original 2015-02-13 14:03:44.400448260 +0100
++++ ./nx-X11/config/cf/sun.cf 2015-02-13 14:03:44.400448260 +0100
+@@ -299,7 +299,12 @@
+
+ #if OSMajorVersion == 4
+ # if OSMinorVersion == 1
++/*
++ * Currently the NX transport only works with select().
++ *
+ # define HasPoll YES
++ */
++# define HasPoll NO
+ # endif
+ # if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1)
+ /* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
+@@ -359,10 +364,12 @@
+ # endif
+ #endif
+
+-#define ServerOSDefines XFree86ServerOSDefines IncludeCG2HeaderDefine
++#define ServerOSDefines XFree86ServerOSDefines IncludeCG2HeaderDefine \
++ -DPIXPRIV
+ #define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines \
+ CompilerServerExtraDefines \
+- OSServerExtraDefines ArchServerExtraDefines
++ OSServerExtraDefines ArchServerExtraDefines \
++ -DPIXPRIV
+
+ #ifndef HasPerl
+ /* Solaris 8 comes with perl. Earlier versions don't. */
+@@ -384,7 +391,8 @@
+ #endif
+
+ #if OSMajorVersion > 4
+-# define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN
++/* #define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN */
++#define ConnectionFlags -DUNIXCONN -DTCPCONN
+ # if HasSunC
+ # ifdef DefaultSunProCCompilerDir
+ # ifndef CcCmd
+@@ -452,7 +460,8 @@
+ # endif
+ # define ToolkitStringsABIOptions -intelabi SolarisABIFlag
+ # else
+-# define StandardDefines -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__ LargefileDefines
++# define StandardDefines -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__ LargefileDefines \
++ -DPIXPRIV
+ # define ToolkitStringsABIOptions -sparcabi SolarisABIFlag
+ # endif
+ # define ExtraLibraries -lsocket -lnsl
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_sunLib.tmpl.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_sunLib.tmpl.X.original
new file mode 100644
index 000000000..17f858440
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_sunLib.tmpl.X.original
@@ -0,0 +1,122 @@
+--- ./nx-X11/config/cf/sunLib.tmpl.X.original 2015-02-13 14:03:44.400448260 +0100
++++ ./nx-X11/config/cf/sunLib.tmpl 2015-02-13 14:03:44.400448260 +0100
+@@ -45,119 +45,6 @@
+
+ #else /* else it's Solaris */
+
+-/* Solaris uses single digit library versions, and versions of libraries
+- * defined in SVID specs should match the versions specified there.
+- */
+-
+-#ifndef SharedX11Rev
+-# define SharedX11Rev 4
+-#endif
+-#ifndef SharedOldXRev
+-# define SharedOldXRev 6
+-#endif
+-#ifndef SharedXextRev
+-# define SharedXextRev 0
+-#endif
+-#ifndef SharedXauRev
+-# define SharedXauRev 6
+-#endif
+-#ifndef SharedXdmcpRev
+-# define SharedXdmcpRev 6
+-#endif
+-#ifndef SharedXmuRev
+-# define SharedXmuRev 4
+-#endif
+-#ifndef SharedXmuuRev
+-# define SharedXmuuRev 1
+-#endif
+-#ifndef SharedXpRev
+-# define SharedXpRev 1
+-#endif
+-#ifndef SharedXpmRev
+-# define SharedXpmRev 4
+-#endif
+-#ifndef SharedXtRev
+-# define SharedXtRev 4
+-#endif
+-#ifndef SharedXaw6Rev
+-# define SharedXaw6Rev 5
+-#endif
+-#ifndef SharedXiRev
+-# define SharedXiRev 5
+-#endif
+-#ifndef SharedXtstRev
+-# define SharedXtstRev 1
+-#endif
+-#ifndef SharedFSRev
+-# define SharedFSRev 5
+-#endif
+-#ifndef SharedICERev
+-# define SharedICERev 6
+-#endif
+-#ifndef SharedSMRev
+-# define SharedSMRev 6
+-#endif
+-#ifndef SharedXcursor
+-# define SharedXcursorRev 1
+-#endif
+-#ifndef SharedXdamageRev
+-# define SharedXdamageRev 1
+-#endif
+-#ifndef SharedXevieRev
+-# define SharedXevieRev 1
+-#endif
+-#ifndef SharedXfixesRev
+-# define SharedXfixesRev 1
+-#endif
+-#ifndef SharedXftRev
+-# define SharedXftRev 2
+-#endif
+-#ifndef SharedXineramaRev
+-# define SharedXineramaRev 1
+-#endif
+-#ifndef SharedXrenderRev
+-# define SharedXrenderRev 1
+-#endif
+-#ifndef SharedXResRev
+-# define SharedXResRev 1
+-#endif
+-#ifndef SharedXvRev
+-# define SharedXvRev 1
+-#endif
+-#ifndef SharedXvMCRev
+-# define SharedXvMCRev 1
+-#endif
+-#ifndef SharedXrandrRev
+-# define SharedXrandrRev 2
+-#endif
+-#ifndef SharedXssRev
+-# define SharedXssRev 1
+-#endif
+-#ifndef SharedFontconfigRev
+-# define SharedFontconfigRev 1
+-#endif
+-#ifndef SharedGlxRev
+-# define SharedGlxRev 1
+-#endif
+-#ifndef SharedGluRev
+-# define SharedGluRev 1
+-#endif
+-#ifndef SharedGLwRev
+-# define SharedGLwRev 1
+-#endif
+-#ifndef SharedOSMesaRev
+-# define SharedOSMesaRev 4
+-#endif
+-#ifndef SharedxkbfileRev
+-# define SharedxkbfileRev 5
+-#endif
+-#ifndef SharedXxf86miscRev
+-# define SharedXxf86miscRev 1
+-#endif
+-#ifndef SharedXxf86vmRev
+-# define SharedXxf86vmRev 1
+-#endif
+-
+ # if ThreadedX
+ # if OSMinorVersion > 3
+ # define SharedThreadReqs /**/
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_svr4.cf.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_svr4.cf.X.original
new file mode 100644
index 000000000..487c295fc
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_config_cf_svr4.cf.X.original
@@ -0,0 +1,24 @@
+--- ./nx-X11/config/cf/svr4.cf.X.original 2015-02-13 14:03:44.400448260 +0100
++++ ./nx-X11/config/cf/svr4.cf 2015-02-13 14:03:44.400448260 +0100
+@@ -51,7 +51,12 @@
+ #ifndef HasLdRunPath
+ #define HasLdRunPath YES
+ #endif
++/*
++ * Currently the NX transport only works with select().
++ *
+ #define HasPoll YES
++ */
++#define HasPoll NO
+ #ifndef SVR4Architecture
+ #define SVR4Architecture
+ #endif
+@@ -278,7 +283,7 @@
+ # define XFree86ServerDefines /* */
+ #endif
+ #ifndef XFree86ServerOSDefines
+-# define XFree86ServerOSDefines -DDDXOSINIT
++# define XFree86ServerOSDefines -DDDXOSINIT -DDDXOSFATALERROR -DDDXOSVERRORF
+ #endif
+
+ #if HasGcc2ForCplusplus
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_extras_Mesa_src_mesa_drivers_dri_common_glcontextmodes.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_extras_Mesa_src_mesa_drivers_dri_common_glcontextmodes.c.X.original
new file mode 100644
index 000000000..47db91cca
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_extras_Mesa_src_mesa_drivers_dri_common_glcontextmodes.c.X.original
@@ -0,0 +1,10 @@
+--- ./nx-X11/extras/Mesa/src/mesa/drivers/dri/common/glcontextmodes.c.X.original 2015-02-13 14:03:44.416447966 +0100
++++ ./nx-X11/extras/Mesa/src/mesa/drivers/dri/common/glcontextmodes.c 2015-02-10 19:13:14.992641502 +0100
+@@ -44,6 +44,7 @@
+ # include "GL/glxint.h"
+
+ # ifdef XFree86Server
++void *memset( void * ptr, int val, size_t size);
+ # include "GL/glx_ansic.h"
+ extern void * __glXMalloc( size_t size );
+ extern void __glXFree( void * ptr );
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_extras_Mesa_src_mesa_main_context.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_extras_Mesa_src_mesa_main_context.c.X.original
new file mode 100644
index 000000000..92dedfc0a
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_extras_Mesa_src_mesa_main_context.c.X.original
@@ -0,0 +1,103 @@
+--- ./nx-X11/extras/Mesa/src/mesa/main/context.c.X.original 2015-02-13 14:03:44.464447019 +0100
++++ ./nx-X11/extras/Mesa/src/mesa/main/context.c 2015-02-10 19:13:14.800648672 +0100
+@@ -131,6 +131,10 @@
+ #endif
+ #include "shaderobjects.h"
+
++#ifdef NXAGENT_SERVER
++#include "WSDrawBuffer.h"
++#endif
++
+ #ifdef USE_SPARC_ASM
+ #include "sparc/sparc.h"
+ #endif
+@@ -143,6 +147,47 @@
+ int MESA_DEBUG_FLAGS = 0;
+ #endif
+
++#ifdef NXAGENT_SERVER
++extern WSDrawBufferPtr pWSDrawBuffer;
++
++int IsWSDrawBuffer(GLframebuffer *mesa_buffer)
++{
++ WSDrawBufferPtr p = pWSDrawBuffer;
++
++ while (p != NULL) {
++ if (p -> DrawBuffer == mesa_buffer) {
++ return 1;
++ }
++ p = p -> next;
++ }
++ return 0;
++}
++
++void FreeWSDrawBuffer(GLframebuffer *mesa_buffer)
++{
++ WSDrawBufferPtr p = pWSDrawBuffer;
++ WSDrawBufferPtr pOld = NULL;
++
++ if (p == NULL)
++ return;
++
++ if (p -> DrawBuffer == mesa_buffer) {
++ pWSDrawBuffer = p -> next;
++ free(p);
++ return;
++ }
++
++ while (p -> next != NULL) {
++ if (p -> next -> DrawBuffer == mesa_buffer) {
++ pOld = p -> next;
++ p -> next = p -> next -> next;
++ free(pOld);
++ return;
++ }
++ p = p -> next;
++ }
++}
++#endif
+
+ /* ubyte -> float conversion */
+ GLfloat _mesa_ubyte_to_float_color_tab[256];
+@@ -1520,6 +1565,10 @@
+ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
+ GLframebuffer *readBuffer )
+ {
++ #ifdef NXAGENT_SERVER
++ int flag;
++ #endif
++
+ if (MESA_VERBOSE & VERBOSE_API)
+ _mesa_debug(newCtx, "_mesa_make_current()\n");
+
+@@ -1558,11 +1607,30 @@
+ ASSERT(readBuffer->Name == 0);
+ newCtx->WinSysDrawBuffer = drawBuffer;
+ newCtx->WinSysReadBuffer = readBuffer;
++
++#ifdef NXAGENT_SERVER
++ flag = 0;
++ if (newCtx->DrawBuffer) {
++ if (!IsWSDrawBuffer(newCtx->DrawBuffer)) {
++ if (newCtx->DrawBuffer->Name == 0) {
++ flag = 1;
++ }
++ FreeWSDrawBuffer(newCtx->DrawBuffer);
++ }
++ else flag = 1;
++ }
++
++ if (!newCtx->DrawBuffer || flag) {
++ newCtx->DrawBuffer = drawBuffer;
++ newCtx->ReadBuffer = readBuffer;
++ }
++#else
+ /* don't replace user-buffer bindings with window system buffer */
+ if (!newCtx->DrawBuffer || newCtx->DrawBuffer->Name == 0) {
+ newCtx->DrawBuffer = drawBuffer;
+ newCtx->ReadBuffer = readBuffer;
+ }
++#endif
+
+ newCtx->NewState |= _NEW_BUFFERS;
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_include_Xpoll.h.in.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_include_Xpoll.h.in.X.original
new file mode 100644
index 000000000..b869d589d
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_include_Xpoll.h.in.X.original
@@ -0,0 +1,67 @@
+--- ./nx-X11/include/Xpoll.h.in.X.original 2015-02-13 14:03:44.612444107 +0100
++++ ./nx-X11/include/Xpoll.h.in 2015-02-10 19:13:14.464661220 +0100
+@@ -51,6 +51,23 @@
+
+ /* $XFree86: xc/include/Xpoll.h,v 3.8 2001/01/17 17:53:11 dawes Exp $ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #ifndef _XPOLL_H_
+ #define _XPOLL_H_
+
+@@ -120,6 +137,31 @@
+ } fd_set;
+ #endif
+
++/*
++ * Replace the standard Select with a version giving NX a
++ * chance to check its own descriptors. This doesn't cover
++ * the cases where the system is using poll or when system-
++ * specific defines override the Select definition (OS/2).
++ * See XlibInt.c for _XSelect().
++ */
++
++#ifdef NX_TRANS_SOCKET
++
++extern int _XSelect(int maxfds, fd_set *readfds, fd_set *writefds,
++ fd_set *exceptfds, struct timeval *timeout);
++
++#ifndef hpux /* and perhaps old BSD ??? */
++# define Select(n,r,w,e,t) _XSelect(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
++#else
++# ifndef _XPG4_EXTENDED /* HPUX 9.x and earlier */
++# define Select(n,r,w,e,t) _XSelect(n,(int*)r,(int*)w,(int*)e,(struct timeval*)t)
++# else
++# define Select(n,r,w,e,t) _XSelect(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
++# endif
++#endif
++
++#else /* #ifdef NX_TRANS_SOCKET */
++
+ #ifndef hpux /* and perhaps old BSD ??? */
+ # define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+ #else
+@@ -130,6 +172,8 @@
+ # endif
+ #endif
+
++#endif /* #ifdef NX_TRANS_SOCKET */
++
+ #define __X_FDS_BITS @USE_FDS_BITS@
+
+ #ifndef __FDS_BITS
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_include_extensions_XKBsrv.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_include_extensions_XKBsrv.h.X.original
new file mode 100644
index 000000000..f85303bb2
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_include_extensions_XKBsrv.h.X.original
@@ -0,0 +1,14 @@
+--- ./nx-X11/include/extensions/XKBsrv.h.X.original 2015-02-13 14:03:44.612444107 +0100
++++ ./nx-X11/include/extensions/XKBsrv.h 2015-02-10 19:13:14.644654498 +0100
+@@ -73,6 +73,11 @@
+ #include <X11/extensions/XKBproto.h>
+ #include "inputstr.h"
+
++#ifdef NXAGENT_SERVER
++extern char *_NXGetXkbBasePath(const char *path);
++extern char *_NXGetXkbCompPath(const char *path);
++#endif
++
+ typedef struct _XkbInterest {
+ DeviceIntPtr dev;
+ ClientPtr client;
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_ChkIfEv.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_ChkIfEv.c.X.original
new file mode 100644
index 000000000..333838d51
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_ChkIfEv.c.X.original
@@ -0,0 +1,59 @@
+--- ./nx-X11/lib/X11/ChkIfEv.c.X.original 2015-02-13 14:03:44.620443950 +0100
++++ ./nx-X11/lib/X11/ChkIfEv.c 2015-02-10 19:13:13.120711494 +0100
+@@ -83,3 +83,56 @@
+ UnlockDisplay(dpy);
+ return False;
+ }
++
++#ifdef NX_TRANS_SOCKET
++
++/*
++ * This is just like XCheckIfEvent() but doesn't
++ * flush the output buffer if it can't read new
++ * events.
++ */
++
++Bool XCheckIfEventNoFlush (dpy, event, predicate, arg)
++ register Display *dpy;
++ Bool (*predicate)(
++ Display* /* display */,
++ XEvent* /* event */,
++ char* /* arg */
++ ); /* function to call */
++ register XEvent *event; /* XEvent to be filled in. */
++ char *arg;
++{
++ register _XQEvent *prev, *qelt;
++ unsigned long qe_serial = 0;
++ int n; /* time through count */
++
++ LockDisplay(dpy);
++ prev = NULL;
++ for (n = 2; --n >= 0;) {
++ for (qelt = prev ? prev->next : dpy->head;
++ qelt;
++ prev = qelt, qelt = qelt->next) {
++ if(qelt->qserial_num > qe_serial
++ && (*predicate)(dpy, &qelt->event, arg)) {
++ *event = qelt->event;
++ _XDeq(dpy, prev, qelt);
++ UnlockDisplay(dpy);
++ return True;
++ }
++ }
++ if (prev)
++ qe_serial = prev->qserial_num;
++ switch (n) {
++ case 1:
++ _XEventsQueued(dpy, QueuedAfterReading);
++ break;
++ }
++ if (prev && prev->qserial_num != qe_serial)
++ /* another thread has snatched this event */
++ prev = NULL;
++ }
++ UnlockDisplay(dpy);
++ return False;
++}
++
++#endif
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_ConnDis.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_ConnDis.c.X.original
new file mode 100644
index 000000000..17f054970
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_ConnDis.c.X.original
@@ -0,0 +1,319 @@
+--- ./nx-X11/lib/X11/ConnDis.c.X.original 2015-02-13 14:03:44.620443950 +0100
++++ ./nx-X11/lib/X11/ConnDis.c 2015-02-10 19:13:13.008715687 +0100
+@@ -25,6 +25,24 @@
+ in this Software without prior written authorization from The Open Group.
+
+ */
++
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/lib/X11/ConnDis.c,v 3.28 2003/12/02 23:33:17 herrb Exp $ */
+
+ /*
+@@ -162,6 +180,39 @@
+ saddrlen = 0; /* set so that we can clear later */
+ saddr = NULL;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "_X11TransConnectDisplay: Called with display_name [%s].\n", display_name);
++#endif
++
++#ifdef NX_TRANS_SOCKET
++
++ /*
++ * Check if user selected the "nx"
++ * protocol or an "nx" hostname.
++ */
++
++ if (!strncasecmp(p, "nx/", 3) || !strcasecmp(p, "nx") ||
++ !strncasecmp(p, "nx:", 3) || !strncasecmp(p, "nx,", 3))
++ {
++ if (*(display_name + 2) == '/')
++ {
++ p += 3;
++ }
++
++ pprotocol = copystring ("nx", 2);
++
++ if (!pprotocol) goto bad;
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_X11TransConnectDisplay: Forced protocol to [%s].\n", pprotocol);
++#endif
++
++ }
++ else
++ {
++
++#endif
++
+ /*
+ * Step 0, find the protocol. This is delimited by the optional
+ * slash ('/').
+@@ -176,6 +227,60 @@
+ } else
+ p = display_name; /* reset the pointer in
+ case no protocol was given */
++#ifdef NX_TRANS_SOCKET
++
++ } /* End of step 0. */
++
++ /*
++ * Check if user specified the "nx" protocol or
++ * hostname is "nx" or in the form "nx,...".
++ */
++
++ if (pprotocol && !strcasecmp(pprotocol, "nx"))
++ {
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_X11TransConnectDisplay: Checking hostname [%s].\n", p);
++#endif
++
++ /*
++ * Options can include a "display=" tuple so
++ * need to scan right to left.
++ */
++
++ lastp = p;
++ lastc = NULL;
++
++ for (; *p; p++)
++ if (*p == ':')
++ lastc = p;
++
++ /*
++ * Don't complain if no screen was provided.
++ */
++
++ if (lastc)
++ {
++ phostname = copystring (lastp, lastc - lastp);
++
++ p = lastc;
++ }
++ else
++ {
++ phostname = copystring (lastp, strlen(lastp));
++ }
++
++ if (!phostname) goto bad;
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_X11TransConnectDisplay: Forced hostname [%s].\n", phostname);
++#endif
++
++ }
++ else
++ {
++
++#endif
+
+ /*
+ * Step 1, find the hostname. This is delimited by either one colon,
+@@ -240,6 +345,20 @@
+ }
+ #endif
+
++#ifdef NX_TRANS_SOCKET
++
++ } /* End of step 1. */
++
++ /*
++ * Check if no display was specified. In this case
++ * search the "port=n" option in NX host string.
++ */
++
++ if (*p)
++ {
++
++#endif
++
+
+ /*
+ * Step 2, find the display number. This field is required and is
+@@ -254,6 +373,66 @@
+ goto bad;
+ idisplay = atoi (pdpynum);
+
++#ifdef NX_TRANS_SOCKET
++
++ }
++ else
++ {
++ char *host = NULL;
++ char *name = NULL;
++ char *value = NULL;
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_X11TransConnectDisplay: Searching port in port [%s].\n", phostname);
++#endif
++
++ if (!strncasecmp(phostname, "nx,", 3))
++ {
++ host = copystring(phostname + 3, strlen(phostname) - 3);
++ }
++
++ if (!host) goto bad;
++
++ idisplay = -1;
++
++ name = strtok(host, "=");
++
++ while (name)
++ {
++ value = strtok(NULL, ",");
++
++ if (value == NULL || strstr(value, "=") != NULL ||
++ strstr(name, ",") != NULL || strlen(value) >= 128)
++ {
++ Xfree(host);
++
++ goto bad;
++ }
++ else if (strcasecmp(name, "port") == 0)
++ {
++ idisplay = atoi(value);
++
++ pdpynum = copystring(value, strlen(value));
++
++ if (!pdpynum) goto bad;
++
++ break;
++ }
++
++ name = strtok(NULL, "=");
++ }
++
++ Xfree(host);
++
++ if (idisplay == -1)
++ {
++ goto bad;
++ }
++
++ } /* End of step 2. */
++
++#endif
++
+
+ /*
+ * Step 3, find the screen number. This field is optional. It is
+@@ -286,6 +465,27 @@
+ * is "unix", then choose BSD UNIX domain sockets (if configured).
+ */
+
++#ifdef NX_TRANS_SOCKET
++
++ /*
++ * If user selected the "nx" protocol
++ * force "local" transport.
++ */
++
++ if (pprotocol && !strcasecmp(pprotocol, "nx"))
++ {
++ pprotocol = copystring ("local", 5);
++
++ if (!pprotocol) goto bad;
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_X11TransConnectDisplay: Converted protocol to [%s].\n", pprotocol);
++#endif
++
++ }
++
++#endif
++
+ #if defined(TCPCONN) || defined(UNIXCONN) || defined(LOCALCONN) || defined(MNX_TCPCONN) || defined(OS2PIPECONN)
+ if (!pprotocol) {
+ if (!phostname) {
+@@ -358,14 +558,26 @@
+ * being a server listening at all, which is why we have to not retry
+ * too many times).
+ */
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "_X11TransConnectDisplay: Entering connection loop.\n");
++#endif
+ for(retry=X_CONNECTION_RETRIES; retry>=0; retry-- )
+ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransOpenCOTSClient(address) with address [%s].\n", address);
++#endif
+ if ( (trans_conn = _X11TransOpenCOTSClient(address)) == NULL )
+ {
+ break;
+ }
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransConnect(trans_conn,address).\n");
++#endif
+ if ((connect_stat = _X11TransConnect(trans_conn,address)) < 0 )
+ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransClose(trans_conn).\n");
++#endif
+ _X11TransClose(trans_conn);
+ trans_conn = NULL;
+
+@@ -378,6 +590,9 @@
+ break;
+ }
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransGetPeerAddr(trans_conn, &family, &saddrlen, &saddr).\n");
++#endif
+ _X11TransGetPeerAddr(trans_conn, &family, &saddrlen, &saddr);
+
+ /*
+@@ -386,6 +601,9 @@
+ * X protocol (ie FamilyInternet).
+ */
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransConvertAddress(&family, &saddrlen, &saddr).\n");
++#endif
+ if( _X11TransConvertAddress(&family, &saddrlen, &saddr) < 0 )
+ {
+ _X11TransClose(trans_conn);
+@@ -402,6 +620,9 @@
+ break;
+ }
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "_X11TransConnectDisplay: Out of connection loop.\n");
++#endif
+ if (address != addrbuf) Xfree (address);
+ address = addrbuf;
+
+@@ -570,6 +791,17 @@
+
+ if (len != 0)
+ return -1;
++#ifdef NX_TRANS_SOCKET
++ if (_NXDisplayWriteFunction != NULL) {
++ (*_NXDisplayWriteFunction)(dpy, len);
++ }
++#ifdef NX_TRANS_CHANGE
++ if (_NXDisplayCongestionFunction != NULL &&
++ _X11TransSocketCongestionChange(dpy->trans_conn, &congestion) == 1) {
++ (*_NXDisplayCongestionFunction)(dpy, congestion);
++ }
++#endif
++#endif
+
+ #ifdef K5AUTH
+ if (auth_length == 14 &&
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_IfEvent.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_IfEvent.c.X.original
new file mode 100644
index 000000000..fb5e164a3
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_IfEvent.c.X.original
@@ -0,0 +1,13 @@
+--- ./nx-X11/lib/X11/IfEvent.c.X.original 2015-02-13 14:03:44.620443950 +0100
++++ ./nx-X11/lib/X11/IfEvent.c 2015-02-10 19:13:12.796723642 +0100
+@@ -71,5 +71,10 @@
+ if (prev && prev->qserial_num != qe_serial)
+ /* another thread has snatched this event */
+ prev = NULL;
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ return 0;
++ }
++#endif
+ }
+ }
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_MaskEvent.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_MaskEvent.c.X.original
new file mode 100644
index 000000000..6620d4baa
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_MaskEvent.c.X.original
@@ -0,0 +1,13 @@
+--- ./nx-X11/lib/X11/MaskEvent.c.X.original 2015-02-13 14:03:44.620443950 +0100
++++ ./nx-X11/lib/X11/MaskEvent.c 2015-02-10 19:13:12.944718089 +0100
+@@ -75,5 +75,10 @@
+ if (prev && prev->qserial_num != qe_serial)
+ /* another thread has snatched this event */
+ prev = NULL;
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ return 0;
++ }
++#endif
+ }
+ }
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_OpenDis.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_OpenDis.c.X.original
new file mode 100644
index 000000000..897fe2598
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_OpenDis.c.X.original
@@ -0,0 +1,96 @@
+--- ./nx-X11/lib/X11/OpenDis.c.X.original 2015-02-13 14:03:44.620443950 +0100
++++ ./nx-X11/lib/X11/OpenDis.c 2015-02-10 19:13:12.748725444 +0100
+@@ -24,6 +24,24 @@
+ in this Software without prior written authorization from The Open Group.
+
+ */
++
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/lib/X11/OpenDis.c,v 3.16 2003/07/04 16:24:23 eich Exp $ */
+
+ #define NEED_REPLIES
+@@ -43,6 +61,10 @@
+ #include "XKBlib.h"
+ #endif /* XKB */
+
++#ifdef NX_TRANS_SOCKET
++extern void *_X11TransSocketProxyConnInfo(XtransConnInfo);
++#endif
++
+ #ifdef X_NOT_POSIX
+ #define Size_t unsigned int
+ #else
+@@ -117,6 +139,9 @@
+ bzero((char *) &client, sizeof(client));
+ bzero((char *) &prefix, sizeof(prefix));
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "\nXOpenDisplay: Called with display [%s].\n", display);
++#endif
+ /*
+ * If the display specifier string supplied as an argument to this
+ * routine is NULL or a pointer to NULL, read the DISPLAY variable.
+@@ -162,6 +187,9 @@
+
+ dpy->fd = _X11TransGetConnectionNumber (dpy->trans_conn);
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "\nXOpenDisplay: Connected display with dpy->fd = [%d].\n", dpy->fd);
++#endif
+ /* Initialize as much of the display structure as we can.
+ * Initialize pointers to NULL so that XFreeDisplayStructure will
+ * work if we run out of memory before we finish initializing.
+@@ -258,6 +286,10 @@
+ conn_buf_size = 1024 * strtol(xlib_buffer_size, NULL, 10);
+ if (conn_buf_size < XLIBMINBUFSIZE)
+ conn_buf_size = XLIBMINBUFSIZE;
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf (stderr, "Xlib: Running with XLIBBUFFERSIZE [%d] XLIBMINBUFSIZE [%d] "
++ "buffer size [%ld].\n", XLIBDEFAULTBUFSIZE, XLIBMINBUFSIZE, conn_buf_size);
++#endif
+
+ if ((dpy->bufptr = dpy->buffer = Xcalloc(1, conn_buf_size)) == NULL) {
+ OutOfMemory (dpy, setup);
+@@ -324,9 +356,16 @@
+
+ if (prefix.majorVersion != X_PROTOCOL) {
+ /* XXX - printing messages marks a bad programming interface */
++#ifdef NX_TRANS_SOCKET
++ if (_X11TransSocketProxyConnInfo(dpy->trans_conn) == NULL) {
++ fprintf (stderr, "Xlib: client uses different protocol version (%d) "
++ "than server (%d)!\r\n", X_PROTOCOL, prefix.majorVersion);
++ }
++#else
+ fprintf (stderr,
+ "Xlib: client uses different protocol version (%d) than server (%d)!\r\n",
+ X_PROTOCOL, prefix.majorVersion);
++#endif
+ _XDisconnectDisplay (dpy->trans_conn);
+ Xfree ((char *)dpy);
+ return(NULL);
+@@ -698,6 +737,9 @@
+ /*
+ * and return successfully
+ */
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "XOpenDisplay: Returning display at [%p].\n", dpy);
++#endif
+ return(dpy);
+ }
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_PeekIfEv.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_PeekIfEv.c.X.original
new file mode 100644
index 000000000..7d87f13b1
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_PeekIfEv.c.X.original
@@ -0,0 +1,14 @@
+--- ./nx-X11/lib/X11/PeekIfEv.c.X.original 2015-02-13 14:03:44.620443950 +0100
++++ ./nx-X11/lib/X11/PeekIfEv.c 2015-02-10 19:13:12.952717788 +0100
+@@ -71,6 +71,11 @@
+ if (prev && prev->qserial_num != qe_serial)
+ /* another thread has snatched this event */
+ prev = NULL;
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ return 0;
++ }
++#endif
+ }
+ }
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Pending.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Pending.c.X.original
new file mode 100644
index 000000000..027ad7951
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Pending.c.X.original
@@ -0,0 +1,30 @@
+--- ./nx-X11/lib/X11/Pending.c.X.original 2015-02-13 14:03:44.620443950 +0100
++++ ./nx-X11/lib/X11/Pending.c 2015-02-10 19:13:12.880720490 +0100
+@@ -25,6 +25,8 @@
+
+ */
+
++#include <stdio.h>
++
+ #ifdef HAVE_CONFIG_H
+ #include <config.h>
+ #endif
+@@ -37,11 +39,18 @@
+ int mode;
+ {
+ int ret_val;
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "\nXEventsQueued: Called with a display at [%p].\n", dpy);
++#endif
++
+ LockDisplay(dpy);
+ if (dpy->qlen || (mode == QueuedAlready))
+ ret_val = dpy->qlen;
+ else
+ ret_val = _XEventsQueued (dpy, mode);
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "\nXEventsQueued: Going to unlock the display at [%p].\n", dpy);
++#endif
+ UnlockDisplay(dpy);
+ return ret_val;
+ }
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XKBMAlloc.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XKBMAlloc.c.X.original
new file mode 100644
index 000000000..de5574c32
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XKBMAlloc.c.X.original
@@ -0,0 +1,84 @@
+--- ./nx-X11/lib/X11/XKBMAlloc.c.X.original 2015-02-13 14:03:44.620443950 +0100
++++ ./nx-X11/lib/X11/XKBMAlloc.c 2015-02-10 19:13:12.836722141 +0100
+@@ -738,8 +738,13 @@
+ _XkbFree(prev_key_sym_map);
+ return BadAlloc;
+ }
++#ifdef NXAGENT_SERVER
++ bzero((char *)&xkb->map->key_sym_map[xkb->max_key_code+1],
++ tmp*sizeof(XkbSymMapRec));
++#else
+ bzero((char *)&xkb->map->key_sym_map[xkb->max_key_code],
+ tmp*sizeof(XkbSymMapRec));
++#endif
+ if (changes) {
+ changes->map.changed= _ExtendRange(changes->map.changed,
+ XkbKeySymsMask,maxKC,
+@@ -756,7 +761,11 @@
+ _XkbFree(prev_modmap);
+ return BadAlloc;
+ }
++#ifdef NXAGENT_SERVER
++ bzero((char *)&xkb->map->modmap[xkb->max_key_code+1],tmp);
++#else
+ bzero((char *)&xkb->map->modmap[xkb->max_key_code],tmp);
++#endif
+ if (changes) {
+ changes->map.changed= _ExtendRange(changes->map.changed,
+ XkbModifierMapMask,maxKC,
+@@ -775,8 +784,13 @@
+ _XkbFree(prev_behaviors);
+ return BadAlloc;
+ }
++#ifdef NXAGENT_SERVER
++ bzero((char *)&xkb->server->behaviors[xkb->max_key_code+1],
++ tmp*sizeof(XkbBehavior));
++#else
+ bzero((char *)&xkb->server->behaviors[xkb->max_key_code],
+ tmp*sizeof(XkbBehavior));
++#endif
+ if (changes) {
+ changes->map.changed= _ExtendRange(changes->map.changed,
+ XkbKeyBehaviorsMask,maxKC,
+@@ -793,8 +807,13 @@
+ _XkbFree(prev_key_acts);
+ return BadAlloc;
+ }
++#ifdef NXAGENT_SERVER
++ bzero((char *)&xkb->server->key_acts[xkb->max_key_code+1],
++ tmp*sizeof(unsigned short));
++#else
+ bzero((char *)&xkb->server->key_acts[xkb->max_key_code],
+ tmp*sizeof(unsigned short));
++#endif
+ if (changes) {
+ changes->map.changed= _ExtendRange(changes->map.changed,
+ XkbKeyActionsMask,maxKC,
+@@ -811,8 +830,13 @@
+ _XkbFree(prev_vmodmap);
+ return BadAlloc;
+ }
++#ifdef NXAGENT_SERVER
++ bzero((char *)&xkb->server->vmodmap[xkb->max_key_code+1],
++ tmp*sizeof(unsigned short));
++#else
+ bzero((char *)&xkb->server->vmodmap[xkb->max_key_code],
+ tmp*sizeof(unsigned short));
++#endif
+ if (changes) {
+ changes->map.changed= _ExtendRange(changes->map.changed,
+ XkbVirtualModMapMask,maxKC,
+@@ -830,8 +854,13 @@
+ _XkbFree(prev_keys);
+ return BadAlloc;
+ }
++#ifdef NXAGENT_SERVER
++ bzero((char *)&xkb->names->keys[xkb->max_key_code+1],
++ tmp*sizeof(XkbKeyNameRec));
++#else
+ bzero((char *)&xkb->names->keys[xkb->max_key_code],
+ tmp*sizeof(XkbKeyNameRec));
++#endif
+ if (changes) {
+ changes->names.changed= _ExtendRange(changes->names.changed,
+ XkbKeyNamesMask,maxKC,
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Xlib.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Xlib.h.X.original
new file mode 100644
index 000000000..794ccf09a
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Xlib.h.X.original
@@ -0,0 +1,30 @@
+--- ./nx-X11/lib/X11/Xlib.h.X.original 2015-02-13 14:03:44.624443872 +0100
++++ ./nx-X11/lib/X11/Xlib.h 2015-02-10 19:13:12.720726495 +0100
+@@ -2102,6 +2102,27 @@
+ XPointer /* arg */
+ );
+
++#ifdef NX_TRANS_SOCKET
++
++/*
++ * This is just like XCheckIfEvent() but doesn't
++ * flush the output buffer if it can't read new
++ * events.
++ */
++
++extern Bool XCheckIfEventNoFlush(
++ Display* /* display */,
++ XEvent* /* event_return */,
++ Bool (*) (
++ Display* /* display */,
++ XEvent* /* event */,
++ XPointer /* arg */
++ ) /* predicate */,
++ XPointer /* arg */
++);
++
++#endif
++
+ extern Bool XCheckMaskEvent(
+ Display* /* display */,
+ long /* event_mask */,
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XlibAsync.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XlibAsync.c.X.original
new file mode 100644
index 000000000..82494f70a
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XlibAsync.c.X.original
@@ -0,0 +1,41 @@
+--- ./nx-X11/lib/X11/XlibAsync.c.X.original 2015-02-13 14:03:44.624443872 +0100
++++ ./nx-X11/lib/X11/XlibAsync.c 2015-02-10 19:13:13.064713591 +0100
+@@ -27,6 +27,23 @@
+
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #define NEED_REPLIES
+ #ifdef HAVE_CONFIG_H
+ #include <config.h>
+@@ -122,6 +139,14 @@
+ */
+ if ((rep->generic.length << 2) > len)
+ _XEatData (dpy, (rep->generic.length << 2) - len);
++#ifdef NX_TRANS_SOCKET
++
++ /*
++ * The original code has provision
++ * for returning already.
++ */
++
++#endif
+ _XIOError (dpy);
+ return (char *)rep;
+ }
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XlibInt.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XlibInt.c.X.original
new file mode 100644
index 000000000..b76e169ee
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_XlibInt.c.X.original
@@ -0,0 +1,1165 @@
+--- ./nx-X11/lib/X11/XlibInt.c.X.original 2015-02-13 14:03:44.624443872 +0100
++++ ./nx-X11/lib/X11/XlibInt.c 2015-02-10 19:13:12.800723493 +0100
+@@ -26,6 +26,24 @@
+ from The Open Group.
+
+ */
++
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/lib/X11/XlibInt.c,v 3.38 2003/10/30 21:55:05 alanh Exp $ */
+
+ /*
+@@ -100,6 +118,34 @@
+
+ #endif /* XTHREADS else */
+
++#include "NX.h"
++
++#ifdef NX_TRANS_SOCKET
++
++#include "NX.h"
++#include "NXvars.h"
++
++static struct timeval retry;
++
++/*
++ * From Xtranssock.c. Presently the congestion state
++ * is reported by the proxy to the application, by
++ * invoking the callback directly. The function will
++ * be possibly used in the future, to be able to track
++ * the bandwidth usage even when the NX transport is
++ * not running. Note that in this sample implementation
++ * the congestion state is checked very often and can
++ * be surely optimized.
++ */
++
++#ifdef NX_TRANS_CHANGE
++
++extern int _X11TransSocketCongestionChange(XtransConnInfo, int *);
++
++#endif
++
++#endif /* #ifdef NX_TRANS_SOCKET */
++
+ /* check for both EAGAIN and EWOULDBLOCK, because some supposedly POSIX
+ * systems are broken and return EWOULDBLOCK when they should return EAGAIN
+ */
+@@ -219,6 +265,100 @@
+ 0, 0, 0
+ };
+
++#ifdef NX_TRANS_SOCKET
++
++/*
++ * Replace the standard Select with a version giving NX a
++ * chance to check its own descriptors. This doesn't cover
++ * the cases where the system is using poll or when system-
++ * specific defines override the Select definition (OS/2).
++ */
++
++int _XSelect(int maxfds, fd_set *readfds, fd_set *writefds,
++ fd_set *exceptfds, struct timeval *timeout)
++{
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_XSelect: Called with [%d][%p][%p][%p][%p].\n",
++ maxfds, (void *) readfds, (void *) writefds, (void *) exceptfds,
++ (void *) timeout);
++#endif
++
++ if (NXTransRunning(NX_FD_ANY))
++ {
++ fd_set t_readfds, t_writefds;
++ struct timeval t_timeout;
++
++ int n, r, e;
++
++#ifdef NX_TRANS_TEST
++
++ if (exceptfds != NULL)
++ {
++ fprintf(stderr, "_XSelect: WARNING! Can't handle exception fds in select.\n");
++ }
++
++#endif
++
++ if (readfds == NULL)
++ {
++ FD_ZERO(&t_readfds);
++
++ readfds = &t_readfds;
++ }
++
++ if (writefds == NULL)
++ {
++ FD_ZERO(&t_writefds);
++
++ writefds = &t_writefds;
++ }
++
++ if (timeout == NULL)
++ {
++ t_timeout.tv_sec = 10;
++ t_timeout.tv_usec = 0;
++
++ timeout = &t_timeout;
++ }
++
++ n = maxfds;
++
++ /*
++ * If the transport is gone avoid
++ * sleeping until the timeout.
++ */
++
++ if (NXTransPrepare(&n, readfds, writefds, timeout) != 0)
++ {
++ NXTransSelect(&r, &e, &n, readfds, writefds, timeout);
++
++ NXTransExecute(&r, &e, &n, readfds, writefds, timeout);
++
++ errno = e;
++
++ return r;
++ }
++ else
++ {
++ return 0;
++ }
++ }
++ else
++ {
++ return select(maxfds, readfds, writefds, exceptfds, timeout);
++ }
++}
++
++#else /* #ifdef NX_TRANS_SOCKET */
++
++int _XSelect(int maxfds, fd_set *readfds, fd_set *writefds,
++ fd_set *exceptfds, struct timeval *timeout)
++{
++ return select(maxfds, readfds, writefds, exceptfds, timeout);
++}
++
++#endif /* #ifdef NX_TRANS_SOCKET */
++
+ /*
+ * This is an OS dependent routine which:
+ * 1) returns as soon as the connection can be written on....
+@@ -242,6 +382,18 @@
+ #endif
+ int nfound;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ int congestion;
++#endif
++
++#ifdef NX_TRANS_SOCKET
++
++ if (_XGetIOError(dpy)) {
++ return;
++ }
++
++#endif
++
+ #ifdef USE_POLL
+ filedes.fd = dpy->fd;
+ filedes.events = 0;
+@@ -276,6 +428,8 @@
+ (!dpy->lock->reply_awaiters ||
+ dpy->lock->reply_awaiters->cv == cv)))
+ #endif
++
++#ifndef NX_TRANS_SOCKET
+ #ifdef USE_POLL
+ filedes.events = POLLIN;
+ filedes.events |= POLLOUT;
+@@ -283,17 +437,109 @@
+ FD_SET(dpy->fd, &r_mask);
+ FD_SET(dpy->fd, &w_mask);
+ #endif
++#endif /* #ifndef NX_TRANS_SOCKET */
+
+ do {
++#ifdef NX_TRANS_SOCKET
++ /*
++ * Give a chance to the registered client to perform
++ * any needed operation before entering the select.
++ */
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_XWaitForWritable: WAIT! Waiting for the display to become writable.\n");
++#endif
++ NXTransFlush(dpy->fd);
++
++ if (_NXDisplayBlockFunction != NULL) {
++ (*_NXDisplayBlockFunction)(dpy, NXBlockWrite);
++ }
++
++ /*
++ * Need to set again the descriptors as we could have
++ * run multiple selects before having the possibility
++ * to read or write to the X connection.
++ */
++
++#ifdef USE_POLL
++ filedes.events = POLLIN;
++ filedes.events |= POLLOUT;
++#else
++ FD_SET(dpy->fd, &r_mask);
++ FD_SET(dpy->fd, &w_mask);
++#endif
++#endif /* #ifdef NX_TRANS_SOCKET */
++
+ UnlockDisplay(dpy);
+ #ifdef USE_POLL
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XWaitForWritable: Calling poll().\n");
++#endif
+ nfound = poll (&filedes, 1, -1);
+ #else
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XWaitForWritable: Calling select() after [%ld] ms.\n",
++ NXTransTime());
++#endif
++#ifdef NX_TRANS_SOCKET
++ /*
++ * Give a chance to the callback to detect
++ * the failure of the display even if we
++ * miss the interrupt inside the select.
++ */
++
++ if (_NXDisplayErrorFunction != NULL) {
++ retry.tv_sec = 5;
++ retry.tv_usec = 0;
++ nfound = Select (dpy->fd + 1, &r_mask, &w_mask, NULL, &retry);
++ } else {
++ nfound = Select (dpy->fd + 1, &r_mask, &w_mask, NULL, NULL);
++ }
++#else
+ nfound = Select (dpy->fd + 1, &r_mask, &w_mask, NULL, NULL);
+ #endif
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XWaitForWritable: Out of select() with [%d] after [%ld] ms.\n",
++ nfound, NXTransTime());
++
++ if (FD_ISSET(dpy->fd, &r_mask))
++ {
++ BytesReadable_t pend;
++
++ _X11TransBytesReadable(dpy->trans_conn, &pend);
++
++ fprintf(stderr, "_XWaitForWritable: Descriptor [%d] is ready with [%ld] bytes to read.\n",
++ dpy->fd, pend);
++ }
++
++ if (FD_ISSET(dpy->fd, &w_mask))
++ {
++ fprintf(stderr, "_XWaitForWritable: Descriptor [%d] has become writable.\n\n",
++ dpy->fd);
++ }
++#endif
++#endif
+ InternalLockDisplay(dpy, cv != NULL);
+- if (nfound < 0 && !ECHECK(EINTR))
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ if (_NXDisplayCongestionFunction != NULL &&
++ _X11TransSocketCongestionChange(dpy->trans_conn, &congestion) == 1) {
++ (*_NXDisplayCongestionFunction)(dpy, congestion);
++ }
++#endif
++
++#ifdef NX_TRANS_SOCKET
++ if (nfound <= 0) {
++ if ((nfound == -1 && !ECHECK(EINTR)) ||
++ (_NXDisplayErrorFunction != NULL &&
++ (*_NXDisplayErrorFunction)(dpy, _XGetIOError(dpy)))) {
++ _XIOError(dpy);
++ return;
++ }
++ }
++#else
++ if (nfound < 0 && !ECHECK(EINTR))
+ _XIOError(dpy);
++#endif
+ } while (nfound <= 0);
+
+ if (
+@@ -311,7 +557,15 @@
+
+ /* find out how much data can be read */
+ if (_X11TransBytesReadable(dpy->trans_conn, &pend) < 0)
++#ifdef NX_TRANS_SOCKET
++ {
++ _XIOError(dpy);
++
++ return;
++ }
++#else
+ _XIOError(dpy);
++#endif
+ len = pend;
+
+ /* must read at least one xEvent; if none is pending, then
+@@ -464,6 +718,15 @@
+ int highest_fd = fd;
+ #endif
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ int congestion;
++#endif
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ return -1;
++ }
++#endif
++
+ #ifdef USE_POLL
+ if (dpy->im_fd_length + 1 > POLLFD_CACHE_SIZE
+ && !(dpy->flags & XlibDisplayProcConni)) {
+@@ -495,16 +758,68 @@
+ #endif
+ UnlockDisplay(dpy);
+ #ifdef USE_POLL
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XWaitForReadable: Calling poll().\n");
++#endif
+ result = poll(filedes,
+ (dpy->flags & XlibDisplayProcConni) ? 1 : 1+dpy->im_fd_length,
+ -1);
+ #else
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XWaitForReadable: Calling select().\n");
++#endif
++#ifdef NX_TRANS_SOCKET
++ /*
++ * Give a chance to the registered application
++ * to perform any needed operation.
++ */
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_XWaitForReadable: WAIT! Waiting for the display to become readable.\n");
++#endif
++ NXTransFlush(dpy->fd);
++
++ if (_NXDisplayBlockFunction != NULL) {
++ (*_NXDisplayBlockFunction)(dpy, NXBlockRead);
++ }
++
++ if (_NXDisplayErrorFunction != NULL) {
++ retry.tv_sec = 5;
++ retry.tv_usec = 0;
++ result = Select(highest_fd + 1, &r_mask, NULL, NULL, &retry);
++ } else {
++ result = Select(highest_fd + 1, &r_mask, NULL, NULL, NULL);
++ }
++#else
+ result = Select(highest_fd + 1, &r_mask, NULL, NULL, NULL);
+ #endif
++#endif
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XWaitForReadable: Out of select with result [%d] and errno [%d].\n",
++ result, (result < 0 ? errno : 0));
++#endif
+ InternalLockDisplay(dpy, dpy->flags & XlibDisplayReply);
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ if (_NXDisplayCongestionFunction != NULL &&
++ _X11TransSocketCongestionChange(dpy->trans_conn, &congestion) == 1) {
++ (*_NXDisplayCongestionFunction)(dpy, congestion);
++ }
++#endif
++#ifdef NX_TRANS_SOCKET
++ if (result <= 0) {
++ if ((result == -1 && !ECHECK(EINTR)) ||
++ (_NXDisplayErrorFunction != NULL &&
++ (*_NXDisplayErrorFunction)(dpy, _XGetIOError(dpy)))) {
++ _XIOError(dpy);
++ return -1;
++ }
++ continue;
++ }
++#else
+ if (result == -1 && !ECHECK(EINTR)) _XIOError(dpy);
+ if (result <= 0)
+ continue;
++#endif
+ #ifdef USE_POLL
+ if (filedes[0].revents & (POLLIN|POLLHUP|POLLERR))
+ #else
+@@ -562,6 +877,19 @@
+ xGetInputFocusReply rep;
+ register xReq *req;
+
++#ifdef NX_TRANS_SOCKET
++#ifdef NX_TRANS_DEBUG
++ fprintf(stderr, "_XSeqSyncFunction: Going to synchronize the display.\n");
++#endif
++ if (dpy->flags & XlibDisplayIOError)
++ {
++#ifdef NX_TRANS_DEBUG
++ fprintf(stderr, "_XSeqSyncFunction: Returning 0 with I/O error detected.\n");
++#endif
++ return 0;
++ }
++#endif
++
+ LockDisplay(dpy);
+ if ((dpy->request - dpy->last_request_read) >= (BUFSIZE / SIZEOF(xReq))) {
+ GetEmptyReq(GetInputFocus, req);
+@@ -611,7 +939,14 @@
+ register int write_stat;
+ register char *bufindex;
+ _XExtension *ext;
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ int congestion;
++#endif
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XFlushInt: Entering flush with [%d] bytes to write.\n",
++ (dpy->bufptr - dpy->buffer));
++#endif
+ /* This fix resets the bufptr to the front of the buffer so
+ * additional appends to the bufptr will not corrupt memory. Since
+ * the server is down, these appends are no-op's anyway but
+@@ -619,13 +954,23 @@
+ */
+ if (dpy->flags & XlibDisplayIOError)
+ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XFlushInt: Returning with I/O error detected.\n");
++#endif
+ dpy->bufptr = dpy->buffer;
+ dpy->last_req = (char *)&_dummy_request;
+ return;
+ }
+
+ #ifdef XTHREADS
++#ifdef NX_TRANS_SOCKET
++ while (dpy->flags & XlibDisplayWriting) {
++ if (_XGetIOError(dpy)) {
++ return;
++ }
++#else
+ while (dpy->flags & XlibDisplayWriting) {
++#endif
+ if (dpy->lock) {
+ ConditionWait(dpy, dpy->lock->writers);
+ } else {
+@@ -653,6 +998,17 @@
+ write_stat = _X11TransWrite(dpy->trans_conn,
+ bufindex, (int) todo);
+ if (write_stat >= 0) {
++#ifdef NX_TRANS_SOCKET
++ if (_NXDisplayWriteFunction != NULL) {
++ (*_NXDisplayWriteFunction)(dpy, write_stat);
++ }
++#ifdef NX_TRANS_CHANGE
++ if (_NXDisplayCongestionFunction != NULL &&
++ _X11TransSocketCongestionChange(dpy->trans_conn, &congestion) == 1) {
++ (*_NXDisplayCongestionFunction)(dpy, congestion);
++ }
++#endif
++#endif
+ size -= write_stat;
+ todo = size;
+ bufindex += write_stat;
+@@ -682,11 +1038,25 @@
+ );
+ }
+ #endif
++#ifdef NX_TRANS_SOCKET
++ } else if (!ECHECK(EINTR) ||
++ (_NXDisplayErrorFunction != NULL &&
++ (*_NXDisplayErrorFunction)(dpy, _XGetIOError(dpy)))) {
++ _XIOError(dpy);
++ return;
++ }
++#else
+ } else if (!ECHECK(EINTR)) {
+ /* Write failed! */
+ /* errno set by write system call. */
+ _XIOError(dpy);
+ }
++#endif
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ return;
++ }
++#endif
+ }
+ dpy->last_req = (char *)&_dummy_request;
+ if ((dpy->request - dpy->last_request_read) >= SEQLIMIT &&
+@@ -727,6 +1097,12 @@
+ if (dpy->qlen)
+ return(dpy->qlen);
+ }
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ if (dpy->flags & XlibDisplayIOError) {
++ fprintf(stderr, "_XEventsQueued: Returning [%d] after display failure.\n",
++ dpy->qlen);
++ }
++#endif
+ if (dpy->flags & XlibDisplayIOError) return(dpy->qlen);
+
+ #ifdef XTHREADS
+@@ -767,8 +1143,19 @@
+ }
+ #endif /* XTHREADS*/
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XEventsQueued: Checking bytes readable.\n");
++#endif
+ if (_X11TransBytesReadable(dpy->trans_conn, &pend) < 0)
++#ifdef NX_TRANS_SOCKET
++ {
++ _XIOError(dpy);
++
++ return (dpy->qlen);
++ }
++#else
+ _XIOError(dpy);
++#endif
+ #ifdef XCONN_CHECK_FREQ
+ /* This is a crock, required because FIONREAD or equivalent is
+ * not guaranteed to detect a broken connection.
+@@ -785,10 +1172,16 @@
+
+ dpy->conn_checker = 0;
+ #ifdef USE_POLL
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XEventsQueued: Calling poll().\n");
++#endif
+ filedes.fd = dpy->fd;
+ filedes.events = POLLIN;
+ if ((result = poll(&filedes, 1, 0)))
+ #else
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XEventsQueued: Calling select().\n");
++#endif
+ FD_ZERO(&r_mask);
+ FD_SET(dpy->fd, &r_mask);
+ if ((result = Select(dpy->fd + 1, &r_mask, NULL, NULL, &zero_time)))
+@@ -797,13 +1190,32 @@
+ if (result > 0)
+ {
+ if (_X11TransBytesReadable(dpy->trans_conn, &pend) < 0)
++#ifdef NX_TRANS_SOCKET
++ {
++ _XIOError(dpy);
++
++ return (dpy->qlen);
++ }
++#else
+ _XIOError(dpy);
++#endif
+ /* we should not get zero, if we do, force a read */
+ if (!pend)
+ pend = SIZEOF(xReply);
+ }
++#ifdef NX_TRANS_SOCKET
++ if (result <= 0) {
++ if ((result == -1 && !ECHECK(EINTR)) ||
++ (_NXDisplayErrorFunction != NULL &&
++ (*_NXDisplayErrorFunction)(dpy, _XGetIOError(dpy)))) {
++ _XIOError(dpy);
++ return (dpy->qlen);
++ }
++ }
++#else
+ else if (result < 0 && !ECHECK(EINTR))
+ _XIOError(dpy);
++#endif
+ }
+ }
+ #endif /* XCONN_CHECK_FREQ */
+@@ -815,6 +1227,10 @@
+ {
+ UnlockNextEventReader(dpy);
+ }
++
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XEventsQueued: Returning [%d].\n", dpy->qlen);
++#endif
+ return(dpy->qlen);
+ }
+ /* Force a read if there is not enough data. Otherwise,
+@@ -847,6 +1263,11 @@
+
+ (void) _XRead (dpy, read_buf, (long) len);
+
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ return(dpy->qlen);
++ }
++#endif
+ #ifdef XTHREADS
+ /* what did we actually read: reply or event? */
+ if (dpy->lock && dpy->lock->reply_awaiters) {
+@@ -945,7 +1366,15 @@
+ #endif /* XTHREADS */
+ /* find out how much data can be read */
+ if (_X11TransBytesReadable(dpy->trans_conn, &pend) < 0)
++#ifdef NX_TRANS_SOCKET
++ {
++ _XIOError(dpy);
++
++ return;
++ }
++#else
+ _XIOError(dpy);
++#endif
+ len = pend;
+
+ /* must read at least one xEvent; if none is pending, then
+@@ -995,6 +1424,15 @@
+ dpy->flags |= XlibDisplayReadEvents;
+ i = _XRead (dpy, read_buf, (long) len);
+ dpy->flags &= ~XlibDisplayReadEvents;
++#ifdef NX_TRANS_SOCKET
++ if (dpy->flags & XlibDisplayIOError)
++ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XReadEvents: Returning with I/O error detected.\n");
++#endif
++ return;
++ }
++#endif
+ if (i == -2) {
+ /* special flag from _XRead to say that internal connection has
+ done XPutBackEvent. Which we can use so we're done. */
+@@ -1065,12 +1503,33 @@
+ #ifdef XTHREADS
+ int original_size = size;
+ #endif
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ int congestion;
++#endif
+
+ if ((dpy->flags & XlibDisplayIOError) || size == 0)
+ return 0;
+ ESET(0);
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ while (1) {
++ /*
++ * Need to check the congestion state
++ * after the read so split the statement
++ * in multiple blocks.
++ */
++
++ bytes_read = _X11TransRead(dpy->trans_conn, data, (int)size);
++ if (_NXDisplayCongestionFunction != NULL &&
++ _X11TransSocketCongestionChange(dpy->trans_conn, &congestion) == 1) {
++ (*_NXDisplayCongestionFunction)(dpy, congestion);
++ }
++ if (bytes_read == size) {
++ break;
++ }
++#else
+ while ((bytes_read = _X11TransRead(dpy->trans_conn, data, (int)size))
+ != size) {
++#endif
+
+ if (bytes_read > 0) {
+ size -= bytes_read;
+@@ -1090,14 +1549,34 @@
+ else if (bytes_read == 0) {
+ /* Read failed because of end of file! */
+ ESET(EPIPE);
++#ifdef NX_TRANS_SOCKET
++ _XIOError(dpy);
++
++ return -1;
++#else
+ _XIOError(dpy);
++#endif
+ }
+
+ else /* bytes_read is less than 0; presumably -1 */ {
+ /* If it's a system call interrupt, it's not an error. */
++#ifdef NX_TRANS_SOCKET
++ if (!ECHECK(EINTR) ||
++ (_NXDisplayErrorFunction != NULL &&
++ (*_NXDisplayErrorFunction)(dpy, _XGetIOError(dpy)))) {
++ _XIOError(dpy);
++ return -1;
++ }
++#else
+ if (!ECHECK(EINTR))
+ _XIOError(dpy);
++#endif
+ }
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ return -1;
++ }
++#endif
+ }
+ #ifdef XTHREADS
+ if (dpy->lock && dpy->lock->reply_bytes_left > 0)
+@@ -1268,6 +1747,9 @@
+ #ifdef XTHREADS
+ int original_size;
+ #endif
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ int congestion;
++#endif
+
+ if ((dpy->flags & XlibDisplayIOError) || size == 0) return;
+ iov[0].iov_len = (int)size;
+@@ -1285,7 +1767,19 @@
+ original_size = size;
+ #endif
+ ESET(0);
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ while (1) {
++ bytes_read = _X11TransReadv (dpy->trans_conn, iov, 2);
++ if (_NXDisplayCongestionFunction != NULL &&
++ _X11TransSocketCongestionChange(dpy->trans_conn, &congestion) == 1) {
++ (*_NXDisplayCongestionFunction)(dpy, congestion);
++ }
++ if (bytes_read == size) {
++ break;
++ }
++#else
+ while ((bytes_read = _X11TransReadv (dpy->trans_conn, iov, 2)) != size) {
++#endif
+
+ if (bytes_read > 0) {
+ size -= bytes_read;
+@@ -1313,14 +1807,34 @@
+ else if (bytes_read == 0) {
+ /* Read failed because of end of file! */
+ ESET(EPIPE);
++#ifdef NX_TRANS_SOCKET
++ _XIOError(dpy);
++
++ return;
++#else
+ _XIOError(dpy);
++#endif
+ }
+
+ else /* bytes_read is less than 0; presumably -1 */ {
+ /* If it's a system call interrupt, it's not an error. */
++#ifdef NX_TRANS_SOCKET
++ if (!ECHECK(EINTR) ||
++ (_NXDisplayErrorFunction != NULL &&
++ (*_NXDisplayErrorFunction)(dpy, _XGetIOError(dpy)))) {
++ _XIOError(dpy);
++ return;
++ }
++#else
+ if (!ECHECK(EINTR))
+ _XIOError(dpy);
++#endif
+ }
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ return;
++ }
++#endif
+ }
+ #ifdef XTHREADS
+ if (dpy->lock && dpy->lock->reply_bytes_left > 0)
+@@ -1351,8 +1865,31 @@
+
+ long skip, dbufsize, padsize, total, todo;
+ _XExtension *ext;
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_CHANGE)
++ int congestion;
++#endif
++
++#ifdef NX_TRANS_SOCKET
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XSend: Sending data with [%d] bytes to write.\n",
++ (dpy->bufptr - dpy->buffer));
++#endif
++ if (!size || (dpy->flags & XlibDisplayIOError))
++ {
++ if (dpy->flags & XlibDisplayIOError)
++ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XSend: Returning with I/O error detected.\n");
++#endif
++ dpy->bufptr = dpy->buffer;
++ dpy->last_req = (char *)&_dummy_request;
++ }
+
++ return;
++ }
++#else
+ if (!size || (dpy->flags & XlibDisplayIOError)) return;
++#endif
+ dbufsize = dpy->bufptr - dpy->buffer;
+ #ifdef XTHREADS
+ dpy->flags |= XlibDisplayWriting;
+@@ -1418,6 +1955,17 @@
+
+ ESET(0);
+ if ((len = _X11TransWritev(dpy->trans_conn, iov, i)) >= 0) {
++#ifdef NX_TRANS_SOCKET
++ if (_NXDisplayWriteFunction != NULL) {
++ (*_NXDisplayWriteFunction)(dpy, len);
++ }
++#ifdef NX_TRANS_CHANGE
++ if (_NXDisplayCongestionFunction != NULL &&
++ _X11TransSocketCongestionChange(dpy->trans_conn, &congestion) == 1) {
++ (*_NXDisplayCongestionFunction)(dpy, congestion);
++ }
++#endif
++#endif
+ skip += len;
+ total -= len;
+ todo = total;
+@@ -1447,9 +1995,23 @@
+ );
+ }
+ #endif
++#ifdef NX_TRANS_SOCKET
++ } else if (!ECHECK(EINTR) ||
++ (_NXDisplayErrorFunction != NULL &&
++ (*_NXDisplayErrorFunction)(dpy, _XGetIOError(dpy)))) {
++ _XIOError(dpy);
++ return;
++ }
++#else
+ } else if (!ECHECK(EINTR)) {
+ _XIOError(dpy);
+ }
++#endif
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ return;
++ }
++#endif
+ }
+ dpy->last_req = (char *) & _dummy_request;
+ if ((dpy->request - dpy->last_request_read) >= SEQLIMIT &&
+@@ -1640,10 +2202,31 @@
+ if (newseq < lastseq) {
+ newseq += 0x10000;
+ if (newseq > dpy->request) {
++
++#ifdef NX_TRANS_SOCKET
++
++ if (_NXLostSequenceFunction != NULL)
++ {
++ (*_NXLostSequenceFunction)(dpy, newseq, dpy->request,
++ (unsigned int) rep->type);
++ }
++ else
++ {
++ (void) fprintf (stderr,
++ "Xlib: sequence lost (0x%lx > 0x%lx) in reply type 0x%x!\n",
++ newseq, dpy->request,
++ (unsigned int) rep->type);
++ }
++
++#else /* #ifdef NX_TRANS_SOCKET */
++
+ (void) fprintf (stderr,
+ "Xlib: sequence lost (0x%lx > 0x%lx) in reply type 0x%x!\n",
+ newseq, dpy->request,
+ (unsigned int) rep->type);
++
++#endif /* #ifdef NX_TRANS_SOCKET */
++
+ newseq -= 0x10000;
+ }
+ }
+@@ -1671,9 +2254,22 @@
+ #ifdef XTHREADS
+ struct _XCVList *cvl;
+ #endif
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XReply: Going to wait for an X reply.\n");
++#endif
+
++#ifdef NX_TRANS_SOCKET
++ if (dpy->flags & XlibDisplayIOError)
++ {
++#ifdef NX_TRANS_DEBUG
++ fprintf(stderr, "_XReply: Returning 0 with I/O error detected.\n");
++#endif
++ return 0;
++ }
++#else
+ if (dpy->flags & XlibDisplayIOError)
+ return 0;
++#endif
+
+ #ifdef XTHREADS
+ /* create our condition variable and append to list */
+@@ -1689,6 +2285,9 @@
+ XThread_Self(), cvl);
+ #endif
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XReply: Going to flush the display buffer.\n");
++#endif
+ _XFlushInt(dpy, cvl ? cvl->cv : NULL);
+ /* if it is not our turn to read a reply off the wire,
+ * wait til we're at head of list. if there is an event waiter,
+@@ -1704,6 +2303,20 @@
+ _XFlush(dpy);
+ #endif
+
++#ifdef NX_TRANS_SOCKET
++ /*
++ * We are going to block waiting for the remote
++ * X server. Be sure that the proxy has flushed
++ * all the data.
++ */
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_XReply: Requesting a flush of the NX transport.\n");
++#endif
++
++ NXTransFlush(dpy->fd);
++#endif
++
+ for (;;) {
+ #ifdef XTHREADS
+ /* Did another thread's _XReadEvents get our reply by accident? */
+@@ -1767,6 +2380,12 @@
+ ((long) rep->generic.length) << 2);
+ dpy->flags &= ~XlibDisplayReply;
+ UnlockNextReplyReader(dpy);
++#ifdef NX_TRANS_SOCKET
++ /*
++ * The original code has provision
++ * for returning already.
++ */
++#endif
+ _XIOError (dpy);
+ return (0);
+
+@@ -1830,6 +2449,12 @@
+ #endif
+ break;
+ }
++#ifdef NX_TRANS_SOCKET
++ if (_XGetIOError(dpy)) {
++ UnlockNextReplyReader(dpy);
++ return 0;
++ }
++#endif
+ }
+ }
+
+@@ -1849,6 +2474,14 @@
+ (void) _XSetLastRequestRead(dpy, &rep->generic);
+ len = SIZEOF(xReply) + (rep->generic.length << 2);
+ if (len < SIZEOF(xReply)) {
++#ifdef NX_TRANS_SOCKET
++
++ /*
++ * The original code has provision
++ * for returning already.
++ */
++
++#endif
+ _XIOError (dpy);
+ buf += *lenp;
+ *lenp = 0;
+@@ -1876,6 +2509,14 @@
+ }
+ if (len < SIZEOF(xReply))
+ {
++#ifdef NX_TRANS_SOCKET
++
++ /*
++ * The original code has provision
++ * for returning already.
++ */
++
++#endif
+ _XIOError (dpy);
+ buf += *lenp;
+ *lenp = 0;
+@@ -1944,6 +2585,10 @@
+ struct _XConnWatchInfo *watchers;
+ XPointer *wd;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XRegisterInternalConnection: Got called.\n");
++#endif
++
+ new_conni = (struct _XConnectionInfo*)Xmalloc(sizeof(struct _XConnectionInfo));
+ if (!new_conni)
+ return 0;
+@@ -1991,6 +2636,10 @@
+ struct _XConnWatchInfo *watch;
+ XPointer *wd;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XUnregisterInternalConnection: Got called.\n");
++#endif
++
+ for (prev = &dpy->im_fd_info; (info_list = *prev);
+ prev = &info_list->next) {
+ if (info_list->fd == fd) {
+@@ -2030,6 +2679,10 @@
+ struct _XConnectionInfo *info_list;
+ int *fd_list;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "XInternalConnectionNumbers: Got called.\n");
++#endif
++
+ LockDisplay(dpy);
+ count = 0;
+ for (info_list=dpy->im_fd_info; info_list; info_list=info_list->next)
+@@ -2088,6 +2741,10 @@
+ {
+ struct _XConnectionInfo *info_list;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "XProcessInternalConnection: Got called.\n");
++#endif
++
+ LockDisplay(dpy);
+ for (info_list=dpy->im_fd_info; info_list; info_list=info_list->next) {
+ if (info_list->fd == fd) {
+@@ -2116,6 +2773,10 @@
+ struct _XConnectionInfo *info_list;
+ XPointer *wd_array;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "XAddConnectionWatch: Got called.\n");
++#endif
++
+ LockDisplay(dpy);
+
+ /* allocate new watch data */
+@@ -2172,6 +2833,10 @@
+ struct _XConnectionInfo *conni;
+ int counter = 0;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "XRemoveConnectionWatch: Got called.\n");
++#endif
++
+ LockDisplay(dpy);
+ for (watch=dpy->conn_watchers; watch; watch=watch->next) {
+ if (watch->fn == callback && watch->client_data == client_data) {
+@@ -2209,6 +2874,10 @@
+ #define SCRATCHSIZE 2048
+ char buf[SCRATCHSIZE];
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "_XEatData: Going to eat [%ld] bytes of data from descriptor [%d].\n",
++ n, dpy->fd);
++#endif
+ while (n > 0) {
+ register long bytes_read = (n > SCRATCHSIZE) ? SCRATCHSIZE : n;
+ (void) _XRead (dpy, buf, bytes_read);
+@@ -2237,7 +2906,13 @@
+ (_XQEvent *) Xmalloc((unsigned)sizeof(_XQEvent))) == NULL) {
+ /* Malloc call failed! */
+ ESET(ENOMEM);
++#ifdef NX_TRANS_SOCKET
++ _XIOError(dpy);
++
++ return;
++#else
+ _XIOError(dpy);
++#endif
+ }
+ qelt->next = NULL;
+ /* go call through display to find proper event reformatter */
+@@ -2710,7 +3385,29 @@
+ QLength(dpy));
+
+ }
+- exit(1);
++#ifdef NX_TRANS_SOCKET
++ if (_NXHandleDisplayError == 1)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_XDefaultIOError: Going to return from the error handler.\n");
++#endif
++ return 0;
++ }
++ else
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_XDefaultIOError: Going to exit from the program.\n");
++#endif
++#ifdef NX_TRANS_EXIT
++ NXTransExit(1);
++#else
++ exit(1);
++#endif
++ }
++#else
++ exit(1);
++#endif /* #ifdef NX_TRANS_SOCKET */
++
+ return(0); /* dummy - function should never return */
+ }
+
+@@ -2911,7 +3608,48 @@
+ (*_XIOErrorFunction)(dpy);
+ else
+ _XDefaultIOError(dpy);
++#ifdef NX_TRANS_SOCKET
++ /*
++ * Check if we are supposed to return in the case
++ * of a display failure. The client which originated
++ * the X operation will have to check the value of
++ * the XlibDisplayIOError flag and handle appropria-
++ * tely the display disconnection.
++ */
++
++ if (_NXHandleDisplayError == 0)
++ {
++#ifdef NX_TRANS_EXIT
++ NXTransExit(1);
++#else
++ exit(1);
++#endif
++ }
++
++ /*
++ * We are going to return. Reset the display
++ * buffers. Further writes will be discarded.
++ */
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_XIOError: Resetting the display buffer.\n");
++#endif
++
++ dpy->bufptr = dpy->buffer;
++ dpy->last_req = (char *) &_dummy_request;
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_XIOError: Resetting the display flags.\n");
++#endif
++
++ dpy->flags &= ~XlibDisplayProcConni;
++ dpy->flags &= ~XlibDisplayPrivSync;
++ dpy->flags &= ~XlibDisplayReadEvents;
++ dpy->flags &= ~XlibDisplayWriting;
++ dpy->flags &= ~XlibDisplayReply;
++#else
+ exit (1);
++#endif
+ return 0;
+ }
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Xlibint.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Xlibint.h.X.original
new file mode 100644
index 000000000..a23172ed9
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_Xlibint.h.X.original
@@ -0,0 +1,59 @@
+--- ./nx-X11/lib/X11/Xlibint.h.X.original 2015-02-13 14:03:44.624443872 +0100
++++ ./nx-X11/lib/X11/Xlibint.h 2015-02-10 19:13:12.888720189 +0100
+@@ -27,6 +27,24 @@
+ from The Open Group.
+
+ */
++
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/lib/X11/Xlibint.h,v 3.27 2003/05/27 22:26:26 tsi Exp $ */
+
+ #ifndef _XLIBINT_H_
+@@ -44,6 +62,15 @@
+ #include <X11/Xproto.h> /* to declare xEvent */
+ #include <X11/XlibConf.h> /* for configured options like XTHREADS */
+
++#ifdef NX_TRANS_SOCKET
++
++#include "NXvars.h"
++
++#define _XGetIOError(dpy) \
++ (dpy -> flags & XlibDisplayIOError)
++
++#endif
++
+ #ifdef WIN32
+ #define _XFlush _XFlushIt
+ #endif
+@@ -348,9 +375,15 @@
+ #define LOCKED 1
+ #define UNLOCKED 0
+
++#ifdef NX_TRANS_SOCKET
++#ifndef BUFSIZE /* Output buffer size is configurable */
++#define BUFSIZE 8192 /* but this is still used for reading. */
++#endif
++#else
+ #ifndef BUFSIZE
+ #define BUFSIZE 2048 /* X output buffer size. */
+ #endif
++#endif
+ #ifndef PTSPERBATCH
+ #define PTSPERBATCH 1024 /* point batching */
+ #endif
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_cmsProp.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_cmsProp.c.X.original
new file mode 100644
index 000000000..c929125f7
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_X11_cmsProp.c.X.original
@@ -0,0 +1,14 @@
+--- ./nx-X11/lib/X11/cmsProp.c.X.original 2015-02-13 14:03:44.624443872 +0100
++++ ./nx-X11/lib/X11/cmsProp.c 2015-02-10 19:13:12.948717938 +0100
+@@ -121,7 +121,11 @@
+ char *prop_ret;
+ int format_ret;
+ long len = 6516;
++ #ifdef NXAGENT_SERVER
++ unsigned long nitems_ret, after_ret = 0;
++ #else
+ unsigned long nitems_ret, after_ret;
++ #endif
+ Atom atom_ret;
+
+ while (XGetWindowProperty (pDpy, w, property, 0, len, False,
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original
new file mode 100644
index 000000000..940a3fee4
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original
@@ -0,0 +1,62 @@
+--- ./nx-X11/lib/Xau/AuRead.c.X.original 2015-02-13 14:03:44.624443872 +0100
++++ ./nx-X11/lib/Xau/AuRead.c 2015-02-10 19:13:12.488735202 +0100
+@@ -32,14 +32,29 @@
+ #endif
+ #include <X11/Xauth.h>
+ #include <stdlib.h>
++#include <errno.h>
+
+ static int
+ read_short (unsigned short *shortp, FILE *file)
+ {
+ unsigned char file_short[2];
+
+- if (fread ((char *) file_short, (int) sizeof (file_short), 1, file) != 1)
+- return 0;
++ /*
++ * Added a check on EINTR to prevent the fread() call to be
++ * interrupted by any signal not blocked by OsBlockSignals().
++ */
++
++ for (;;) {
++ if (fread ((char *) file_short, (int) sizeof (file_short), 1, file) != 1) {
++ if (errno == EINTR && ferror (file)) {
++ perror ("Reading from auth file");
++ clearerr (file);
++ continue;
++ }
++ return 0;
++ }
++ break;
++ }
+ *shortp = file_short[0] * 256 + file_short[1];
+ return 1;
+ }
+@@ -58,11 +73,22 @@
+ data = malloc ((unsigned) len);
+ if (!data)
+ return 0;
+- if (fread (data, (int) sizeof (char), (int) len, file) != len) {
+- bzero (data, len);
+- free (data);
+- return 0;
+- }
++ for (;;)
++ {
++ if (fread (data, (int) sizeof (char), (int) len, file) != len)
++ {
++ if (errno == EINTR && ferror (file))
++ {
++ perror ("Reading from auth file");
++ clearerr (file);
++ continue;
++ }
++ bzero (data, len);
++ free (data);
++ return 0;
++ }
++ break;
++ }
+ }
+ *stringp = data;
+ *countp = len;
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xrender_Glyph.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xrender_Glyph.c.X.original
new file mode 100644
index 000000000..6dd036e2c
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xrender_Glyph.c.X.original
@@ -0,0 +1,547 @@
+--- ./nx-X11/lib/Xrender/Glyph.c.X.original 2015-02-13 14:03:44.652443320 +0100
++++ ./nx-X11/lib/Xrender/Glyph.c 2015-02-10 19:13:12.580731749 +0100
+@@ -27,6 +27,26 @@
+ #endif
+ #include "Xrenderint.h"
+
++/*
++ * NX_RENDER_CLEANUP enables cleaning of padding bytes
++ */
++
++#define NX_RENDER_CLEANUP
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
++#undef DUMP
++
++#ifdef NX_RENDER_CLEANUP
++
++#include <stdio.h>
++
++#define ROUNDUP(nbits, pad) ((((nbits) + ((pad)-1)) / (pad)) * ((pad)>>3))
++
++#endif /* NX_RENDER_CLEANUP */
++
+ GlyphSet
+ XRenderCreateGlyphSet (Display *dpy, _Xconst XRenderPictFormat *format)
+ {
+@@ -81,6 +101,248 @@
+ SyncHandle();
+ }
+
++#ifdef NX_RENDER_CLEANUP
++
++void
++XRenderCleanGlyphs(xGlyphInfo *gi,
++ int nglyphs,
++ CARD8 *images,
++ int depth,
++ Display *dpy)
++{
++
++ int widthInBits;
++ int bytesPerLine;
++ int bytesToClean;
++ int bitsToClean;
++ int widthInBytes;
++ int height = gi -> height;
++ register int i;
++ int j;
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: Found a Glyph with Depth %d, width %d, pad %d.\n",
++ depth, gi -> width, dpy -> bitmap_pad);
++ #endif
++
++ while (nglyphs > 0)
++ {
++ if (depth == 24)
++ {
++ widthInBits = gi -> width * 32;
++
++ bytesPerLine = ROUNDUP(widthInBits, dpy -> bitmap_pad);
++
++ bytesToClean = bytesPerLine * height;
++
++ #ifdef DUBUG
++ fprintf(stderr, "nxagentCleanGlyphs: Found glyph with depth 24, bytes to clean is %d"
++ "width in bits is %d bytes per line [%d] height [%d].\n", bytesToClean,
++ widthInBits, bytesPerLine, height);
++ #endif
++
++ if (dpy -> byte_order == LSBFirst)
++ {
++ for (i = 3; i < bytesToClean; i += 4)
++ {
++ images[i] = 0x00;
++ }
++ }
++ else
++ {
++ for (i = 0; i < bytesToClean; i += 4)
++ {
++ images[i] = 0x00;
++ }
++ }
++
++ #ifdef DUMP
++ fprintf(stderr, "nxagentCleanGlyphs: depth %d, bytesToClean %d, scanline: ", depth, bytesToClean);
++ for (i = 0; i < bytesPerLine; i++)
++ {
++ fprintf(stderr, "[%d]", images[i]);
++ }
++ fprintf(stderr,"\n");
++ #endif
++
++ images += bytesToClean;
++
++ gi++;
++
++ nglyphs--;
++ }
++ else if (depth == 1)
++ {
++ widthInBits = gi -> width;
++
++ bytesPerLine = ROUNDUP(widthInBits, dpy -> bitmap_pad);
++
++ bitsToClean = (bytesPerLine << 3) - (gi -> width);
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: Found glyph with depth 1, width [%d], height [%d], bitsToClean [%d],"
++ " bytesPerLine [%d].\n", gi -> width, height, bitsToClean, bytesPerLine);
++ #endif
++
++ bytesToClean = bitsToClean >> 3;
++
++ bitsToClean &= 7;
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: bitsToClean &=7 is %d, bytesToCLean is %d."
++ " byte_order is %d, bitmap_bit_order is %d.\n", bitsToClean, bytesToClean,
++ dpy -> byte_order, dpy -> bitmap_bit_order);
++ #endif
++
++ for (i = 1; i <= height; i++)
++ {
++ if (dpy -> byte_order == dpy -> bitmap_bit_order)
++ {
++ for (j = 1; j <= bytesToClean; j++)
++ {
++ images[i * bytesPerLine - j] = 0x00;
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: byte_order = bitmap_bit_orde, cleaning %d, i=%d, j=%d.\n"
++ , (i * bytesPerLine - j), i, j);
++ #endif
++
++ }
++ }
++ else
++ {
++ for (j = bytesToClean; j >= 1; j--)
++ {
++ images[i * bytesPerLine - j] = 0x00;
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: byte_order %d, bitmap_bit_order %d, cleaning %d, i=%d, j=%d.\n"
++ , dpy -> byte_order, dpy -> bitmap_bit_order, (i * bytesPerLine - j), i, j);
++ #endif
++
++ }
++ }
++
++ if (dpy -> bitmap_bit_order == MSBFirst)
++ {
++ images[i * bytesPerLine - j] &= 0xff << bitsToClean;
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: byte_order MSBFirst, cleaning %d, i=%d, j=%d.\n"
++ , (i * bytesPerLine - j), i, j);
++ #endif
++ }
++ else
++ {
++ images[i * bytesPerLine - j] &= 0xff >> bitsToClean;
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: byte_order LSBFirst, cleaning %d, i=%d, j=%d.\n"
++ , (i * bytesPerLine - j), i, j);
++ #endif
++ }
++ }
++
++ #ifdef DUMP
++ fprintf(stderr, "nxagentCleanGlyphs: depth %d, bytesToClean %d, scanline: ", depth, bytesToClean);
++ for (i = 0; i < bytesPerLine; i++)
++ {
++ fprintf(stderr, "[%d]", images[i]);
++ }
++ fprintf(stderr,"\n");
++ #endif
++
++ images += bytesPerLine * height;
++
++ gi++;
++
++ nglyphs--;
++ }
++ else if ((depth == 8) || (depth == 16) )
++ {
++ widthInBits = gi -> width * depth;
++
++ bytesPerLine = ROUNDUP(widthInBits, dpy -> bitmap_pad);
++
++ widthInBytes = (widthInBits >> 3);
++
++ bytesToClean = bytesPerLine - widthInBytes;
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: nglyphs is %d, width of glyph in bits is %d, in bytes is %d.\n",
++ nglyphs, widthInBits, widthInBytes);
++
++ fprintf(stderr, "nxagentCleanGlyphs: bytesPerLine is %d bytes, there are %d scanlines.\n", bytesPerLine, height);
++
++ fprintf(stderr, "nxagentCleanGlyphs: Bytes to clean for each scanline are %d.\n", bytesToClean);
++ #endif
++
++ if (bytesToClean > 0)
++ {
++ while (height > 0)
++ {
++ i = bytesToClean;
++
++ while (i > 0)
++ {
++ *(images + (bytesPerLine - i)) = 0;
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: cleaned a byte.\n");
++ #endif
++
++ i--;
++ }
++
++ #ifdef DUMP
++ fprintf(stderr, "nxagentCleanGlyphs: depth %d, bytesToClean %d, scanline: ", depth, bytesToClean);
++ for (i = 0; i < bytesPerLine; i++)
++ {
++ fprintf(stderr, "[%d]", images[i]);
++ }
++ fprintf(stderr,"\n");
++ #endif
++
++ images += bytesPerLine;
++
++ height--;
++ }
++ }
++
++ gi++;
++
++ nglyphs--;
++
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: Breaking Out.\n");
++ #endif
++ }
++ else if (depth == 32)
++ {
++ #ifdef DEBUG
++ fprintf(stderr, "nxagentCleanGlyphs: Found glyph with depth 32.\n");
++ #endif
++
++ gi++;
++
++ nglyphs--;
++ }
++ else
++ {
++ #ifdef WARNING
++ fprintf(stderr, "nxagentCleanGlyphs: Unrecognized glyph, depth is not 8/16/24/32, it appears to be %d.\n",
++ depth);
++ #endif
++
++ gi++;
++
++ nglyphs--;
++ }
++ }
++}
++
++#endif /* #ifdef NX_RENDER_CLEANUP */
++
+ void
+ XRenderAddGlyphs (Display *dpy,
+ GlyphSet glyphset,
+@@ -404,6 +666,14 @@
+ _Xconst char *chars;
+ int nchars;
+
++ #ifdef NX_RENDER_CLEANUP
++
++ char tmpChar[4];
++ int bytes_to_clean;
++ int bytes_to_write;
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ if (!nelt)
+ return;
+
+@@ -464,6 +734,14 @@
+ {
+ glyphset = elts[i].glyphset;
+ BufAlloc (xGlyphElt *, elt, SIZEOF (xGlyphElt));
++
++ #ifdef NX_RENDER_CLEANUP
++
++ elt->pad1 = 0;
++ elt->pad2 = 0;
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ elt->len = 0xff;
+ elt->deltax = 0;
+ elt->deltay = 0;
+@@ -478,11 +756,88 @@
+ int this_chars = nchars > MAX_8 ? MAX_8 : nchars;
+
+ BufAlloc (xGlyphElt *, elt, SIZEOF(xGlyphElt))
++
++ #ifdef NX_RENDER_CLEANUP
++
++ elt->pad1 = 0;
++ elt->pad2 = 0;
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ elt->len = this_chars;
+ elt->deltax = xDst;
+ elt->deltay = yDst;
+ xDst = 0;
+ yDst = 0;
++
++ #ifdef NX_RENDER_CLEANUP
++
++ bytes_to_write = this_chars & ~3;
++
++ bytes_to_clean = ((this_chars + 3) & ~3) - this_chars;
++
++ #ifdef DEBUG
++ fprintf(stderr, "XRenderCompositeText8: bytes_to_write %d, bytes_to_clean are %d,"
++ " this_chars %d.\n", bytes_to_write, bytes_to_clean, this_chars);
++ #endif
++
++ if (bytes_to_clean > 0)
++ {
++ if (bytes_to_write > 0)
++ {
++ #ifdef DEBUG
++ fprintf(stderr, "XRenderCompositeText8: found %d clean bytes, bytes_to_clean are %d,"
++ " this_chars %d.\n", bytes_to_write, bytes_to_clean, this_chars);
++ #endif
++
++ Data (dpy, chars, bytes_to_write);
++ chars += bytes_to_write;
++ }
++
++ bytes_to_write = this_chars % 4;
++ memcpy (tmpChar, chars, bytes_to_write);
++ chars += bytes_to_write;
++
++ #ifdef DEBUG
++ fprintf(stderr, "XRenderCompositeText8: last 32 bit, bytes_to_write are %d,"
++ " bytes_to_clean are %d, this_chars are %d.\n", bytes_to_write, bytes_to_clean, this_chars);
++ #endif
++
++ #ifdef DUMP
++ fprintf(stderr, "XRenderCompositeText8: bytes_to_clean %d, ", bytes_to_clean);
++ #endif
++
++ while (bytes_to_clean > 0)
++ {
++ tmpChar[4 - bytes_to_clean] = 0;
++ bytes_to_clean--;
++
++ #ifdef DEBUG
++ fprintf(stderr, "XRenderCompositeText8: Cleaned %d byte.\n", 4 - bytes_to_clean);
++ #endif
++ }
++
++ Data (dpy, tmpChar, 4);
++ nchars -= this_chars;
++
++ #ifdef DUMP
++ fprintf(stderr, "Data: ");
++ for (i = 0; i < 4; i++)
++ {
++ fprintf(stderr, "[%d]", tmpChar[i]);
++ }
++ fprintf(stderr,"\n");
++ #endif
++
++ #ifdef DEBUG
++ fprintf(stderr, "XRenderCompositeText8: nchars now is %d.\n", nchars);
++ #endif
++
++ continue;
++ }
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ Data (dpy, chars, this_chars);
+ nchars -= this_chars;
+ chars += this_chars;
+@@ -517,6 +872,14 @@
+ _Xconst unsigned short *chars;
+ int nchars;
+
++ #ifdef NX_RENDER_CLEANUP
++
++ int bytes_to_write;
++ int bytes_to_clean;
++ char tmpChar[4];
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ if (!nelt)
+ return;
+
+@@ -574,6 +937,14 @@
+ {
+ glyphset = elts[i].glyphset;
+ BufAlloc (xGlyphElt *, elt, SIZEOF (xGlyphElt));
++
++ #ifdef NX_RENDER_CLEANUP
++
++ elt->pad1 = 0;
++ elt->pad2 = 0;
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ elt->len = 0xff;
+ elt->deltax = 0;
+ elt->deltay = 0;
+@@ -587,13 +958,77 @@
+ {
+ int this_chars = nchars > MAX_16 ? MAX_16 : nchars;
+ int this_bytes = this_chars * 2;
+-
++
+ BufAlloc (xGlyphElt *, elt, SIZEOF(xGlyphElt))
++
++ #ifdef NX_RENDER_CLEANUP
++
++ elt->pad1 = 0;
++ elt->pad2 = 0;
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ elt->len = this_chars;
+ elt->deltax = xDst;
+ elt->deltay = yDst;
+ xDst = 0;
+ yDst = 0;
++
++ #ifdef NX_RENDER_CLEANUP
++
++ bytes_to_write = this_bytes & ~3;
++ bytes_to_clean = ((this_bytes + 3) & ~3) - this_bytes;
++
++ #ifdef DEBUG
++ fprintf(stderr, "XRenderCompositeText16: this_chars %d, this_bytes %d.\n"
++ "bytes_to_write %d, bytes_to_clean are %d.\n", this_chars, this_bytes,
++ bytes_to_write, bytes_to_clean);
++ #endif
++
++ if (bytes_to_clean > 0)
++ {
++ if (bytes_to_write > 0)
++ {
++ Data16 (dpy, chars, bytes_to_write);
++
++ /*
++ * Cast chars to avoid errors with pointer arithmetic.
++ */
++
++ chars = (unsigned short *) ((char *) chars + bytes_to_write);
++ }
++
++ bytes_to_write = this_bytes % 4;
++ memcpy (tmpChar, (char *) chars, bytes_to_write);
++ chars = (unsigned short *) ((char *) chars + bytes_to_write);
++
++ #ifdef DEBUG
++ fprintf(stderr, "XRenderCompositeText16: last 32 bit, bytes_to_write are %d,"
++ " bytes_to_clean are %d.\n", bytes_to_write, bytes_to_clean);
++ #endif
++
++ while (bytes_to_clean > 0)
++ {
++ tmpChar[4 - bytes_to_clean] = 0;
++ bytes_to_clean--;
++
++ #ifdef DEBUG
++ fprintf(stderr, "XRenderCompositeText16: Cleaned %d byte.\n", 4 - bytes_to_clean);
++ #endif
++ }
++
++ Data16 (dpy, tmpChar, 4);
++ nchars -= this_chars;
++
++ #ifdef DEBUG
++ fprintf(stderr, "XRenderCompositeText16: nchars now is %d.\n", nchars);
++ #endif
++
++ continue;
++ }
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ Data16 (dpy, chars, this_bytes);
+ nchars -= this_chars;
+ chars += this_chars;
+@@ -681,6 +1116,14 @@
+ {
+ glyphset = elts[i].glyphset;
+ BufAlloc (xGlyphElt *, elt, SIZEOF (xGlyphElt));
++
++ #ifdef NX_RENDER_CLEANUP
++
++ elt->pad1 = 0;
++ elt->pad2 = 0;
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ elt->len = 0xff;
+ elt->deltax = 0;
+ elt->deltay = 0;
+@@ -695,11 +1138,25 @@
+ int this_chars = nchars > MAX_32 ? MAX_32 : nchars;
+ int this_bytes = this_chars * 4;
+ BufAlloc (xGlyphElt *, elt, SIZEOF(xGlyphElt))
++
++ #ifdef NX_RENDER_CLEANUP
++
++ elt->pad1 = 0;
++ elt->pad2 = 0;
++
++ #endif /* NX_RENDER_CLEANUP */
++
+ elt->len = this_chars;
+ elt->deltax = xDst;
+ elt->deltay = yDst;
+ xDst = 0;
+ yDst = 0;
++
++ #ifdef TEST
++ fprintf(stderr, "XRenderCompositeText32: this_chars %d, this_bytes %d.\n",
++ this_chars, this_bytes);
++ #endif
++
+ DataInt32 (dpy, chars, this_bytes);
+ nchars -= this_chars;
+ chars += this_chars;
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xrender_Xrender.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xrender_Xrender.h.X.original
new file mode 100644
index 000000000..8bda13795
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xrender_Xrender.h.X.original
@@ -0,0 +1,39 @@
+--- ./nx-X11/lib/Xrender/Xrender.h.X.original 2015-02-13 14:03:44.652443320 +0100
++++ ./nx-X11/lib/Xrender/Xrender.h 2015-02-10 19:13:12.596731149 +0100
+@@ -25,6 +25,8 @@
+ #ifndef _XRENDER_H_
+ #define _XRENDER_H_
+
++#define NX_CLEANUP
++
+ #include <X11/extensions/render.h>
+
+ #include <X11/Xlib.h>
+@@ -32,6 +34,10 @@
+ #include <X11/Xosdefs.h>
+ #include <X11/Xutil.h>
+
++#ifdef NX_CLEANUP
++#include "renderproto.h"
++#endif
++
+ typedef struct {
+ short red;
+ short redMask;
+@@ -296,6 +302,16 @@
+ void
+ XRenderFreeGlyphSet (Display *dpy, GlyphSet glyphset);
+
++#ifdef NX_CLEANUP
++
++void XRenderCleanGlyphs (xGlyphInfo *gi,
++ int nglyphs,
++ CARD8 *images,
++ int depth,
++ Display *dpy);
++
++#endif /* #ifdef NX_CLEANUP */
++
+ void
+ XRenderAddGlyphs (Display *dpy,
+ GlyphSet glyphset,
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xt_NextEvent.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xt_NextEvent.c.X.original
new file mode 100644
index 000000000..6ddefa10c
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xt_NextEvent.c.X.original
@@ -0,0 +1,42 @@
+--- ./nx-X11/lib/Xt/NextEvent.c.X.original 2015-02-13 14:03:44.656443242 +0100
++++ ./nx-X11/lib/Xt/NextEvent.c 2015-02-13 14:03:44.656443242 +0100
+@@ -58,6 +58,24 @@
+ in this Software without prior written authorization from The Open Group.
+
+ */
++
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/lib/Xt/NextEvent.c,v 3.26 2002/06/04 21:55:42 dawes Exp $ */
+
+ #ifdef HAVE_CONFIG_H
+@@ -345,6 +363,14 @@
+ wait_fds_ptr_t wf)
+ {
+ #ifndef USE_POLL
++
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++
++ fprintf(stderr, "Xt::IoWait: Select called with [%d][%p][%p][%p][%p].\n",
++ wf->nfds, (void *) &wf->rmask, (void *) &wf->wmask, (void *) &wf->emask,
++ (void *) wt->wait_time_ptr);
++#endif
++
+ return Select (wf->nfds, &wf->rmask, &wf->wmask, &wf->emask,
+ wt->wait_time_ptr);
+ #else
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_font_fontfile_encparse.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_font_fontfile_encparse.c.X.original
new file mode 100644
index 000000000..116badc07
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_font_fontfile_encparse.c.X.original
@@ -0,0 +1,22 @@
+--- ./nx-X11/lib/font/fontfile/encparse.c.X.original 2015-02-13 14:03:44.668443005 +0100
++++ ./nx-X11/lib/font/fontfile/encparse.c 2015-02-10 19:13:12.336740907 +0100
+@@ -867,8 +867,10 @@
+ if(!strcasecmp(encoding_name, charset)) {
+ /* Found it */
+ if(file_name[0] != '/') {
+- if(strlen(dir) + strlen(file_name) >= MAXFONTFILENAMELEN)
++ if(strlen(dir) + strlen(file_name) >= MAXFONTFILENAMELEN) {
++ fclose(file);
+ return NULL;
++ }
+ strcpy(buf, dir);
+ strcat(buf, file_name);
+ } else {
+@@ -877,6 +879,7 @@
+
+ f = FontFileOpen(buf);
+ if(f == NULL) {
++ fclose(file);
+ return NULL;
+ }
+ encoding = parseEncodingFile(f, 0);
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_xtrans_Xtranssock.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_xtrans_Xtranssock.c.X.original
new file mode 100644
index 000000000..e076269f7
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_lib_xtrans_Xtranssock.c.X.original
@@ -0,0 +1,1133 @@
+--- ./nx-X11/lib/xtrans/Xtranssock.c.X.original 2015-02-13 14:03:44.672442927 +0100
++++ ./nx-X11/lib/xtrans/Xtranssock.c 2015-02-13 14:03:44.672442927 +0100
+@@ -53,6 +53,35 @@
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
++#ifdef NX_TRANS_SOCKET
++
++#ifdef NX_TRANS_DEBUG
++#define XTRANSDEBUG 5
++#endif
++
++#ifndef PF_LOCAL
++#define PF_LOCAL PF_UNIX
++#endif
++
++#endif
++
+ #include <ctype.h>
+ #ifdef XTHREADS
+ #include <X11/Xthreads.h>
+@@ -294,6 +323,560 @@
+ static int haveIPv6 = 1;
+ #endif
+
++#ifndef X11_t
++
++/*
++ * No NX changes if this is not
++ * compiled as a X11 transport.
++ */
++
++#undef NX_TRANS_SOCKET
++
++#endif
++
++#ifdef NX_TRANS_SOCKET
++
++#ifdef TRANS_CLIENT
++
++#include "NX.h"
++
++typedef struct
++{
++ XtransConnInfo info;
++ int local;
++ int remote;
++ int congestion;
++
++} _NXProxyConnInfo;
++
++#define NX_PROXY_CONN_LIMIT 256
++
++static _NXProxyConnInfo *_NXProxyConnInfoTab[NX_PROXY_CONN_LIMIT];
++
++#endif /* #ifdef TRANS_CLIENT */
++
++/*
++ * Override the UNIX_DIR and UNIX_PATH settings and
++ * make them configurable, based on the NX_TEMP or
++ * the TEMP environment.
++ *
++ * We must be careful as the same defines are used
++ * for different directories, based on the subsystem
++ * that is compiling this, while we want to override
++ * only the '/tmp/.X11-unix' and '/tmp/.X11-unix/X'
++ * settings.
++ */
++
++static char _NXUnixDir[1024];
++static char _NXUnixPath[1024];
++
++static char *_NXGetUnixDir(char *dir)
++{
++ const char *tempDir;
++
++ PRMSG (3, "_NXGetUnixDir(%s)\n", dir, 0, 0);
++
++ if (strcmp(dir, UNIX_DIR) != 0)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixDir: Returning other Unix directory [%s].\n", dir);
++#endif
++ return dir;
++ }
++
++ /*
++ * Check the environment only once.
++ */
++
++ if (*_NXUnixDir != '\0')
++ {
++ return _NXUnixDir;
++ }
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixDir: Trying with the NX_TEMP environment.\n");
++#endif
++
++ tempDir = getenv("NX_TEMP");
++
++ if (tempDir == NULL || *tempDir == '\0')
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixDir: Trying with the TEMP environment.\n");
++#endif
++
++ tempDir = getenv("TEMP");
++ }
++
++ if (tempDir != NULL && *tempDir != '\0')
++ {
++ if (strlen(tempDir) + strlen("/.X11-unix") + 1 > 1024)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixDir: WARNING! Maximum length of X11 Unix directory exceeded.\n");
++#endif
++ goto _NXGetUnixDirError;
++ }
++
++ strcpy(_NXUnixDir, tempDir);
++ strcat(_NXUnixDir, "/.X11-unix");
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixDir: Using X11 Unix directory [%s].\n", _NXUnixDir);
++#endif
++
++ return _NXUnixDir;
++ }
++
++_NXGetUnixDirError:
++
++ strcpy(_NXUnixDir, dir);
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixDir: Returning default X11 Unix directory [%s].\n", _NXUnixDir);
++#endif
++
++ return _NXUnixDir;
++}
++
++static char *_NXGetUnixPath(char *path)
++{
++ const char *unixDir;
++
++ PRMSG (3, "_NXGetUnixPath(%s)\n", path, 0, 0);
++
++ if (strcmp(path, UNIX_PATH) != 0)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixPath: Returning other X11 Unix path [%s].\n", path);
++#endif
++ return path;
++ }
++
++ /*
++ * Check the environment only once.
++ */
++
++ if (*_NXUnixPath != '\0')
++ {
++ return _NXUnixPath;
++ }
++
++ unixDir = _NXGetUnixDir(UNIX_DIR);
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixPath: Got X11 Unix directory [%s].\n", unixDir);
++#endif
++
++ if (strlen(unixDir) + strlen("/X") + 1 > 1024)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixPath: WARNING! Maximum length of X11 Unix path exceeded.\n");
++#endif
++
++ goto _NXGetUnixPathError;
++ }
++
++ strcpy(_NXUnixPath, unixDir);
++ strcat(_NXUnixPath, "/X");
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixPath: Returning X11 Unix path [%s].\n", _NXUnixPath);
++#endif
++
++ return _NXUnixPath;
++
++_NXGetUnixPathError:
++
++ strcpy(_NXUnixPath, path);
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetUnixPath: Returning default X11 Unix path [%s].\n", _NXUnixPath);
++#endif
++
++ return _NXUnixPath;
++}
++
++#ifdef hpux
++
++static char *_NXGetOldUnixPath(char *path)
++{
++ PRMSG (3, "_NXGetOldUnixPath(%s)\n", path, 0, 0);
++
++ if (strcmp(path, OLD_UNIX_PATH) == 0)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetOldUnixPath: Returning X11 Unix path [%s].\n",
++ _NXGetUnixPath(path));
++#endif
++
++ return _NXGetUnixPath(path);
++ }
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetOldUnixPath: Returning other old X11 Unix path [%s].\n", path);
++#endif
++
++ return path;
++}
++
++#endif /* #ifdef hpux */
++
++/*
++ * Forcibly close any connection attempt on the
++ * listening socket. Need this to avoid loopback
++ * connections to the agent server.
++ */
++
++#ifdef TRANS_SERVER
++
++void TRANS(SocketRejectConnection) (XtransConnInfo ciptr)
++{
++ size_t sa_l = sizeof(struct sockaddr);
++ struct sockaddr sa;
++ fd_set fs;
++ struct timeval t;
++ int f;
++
++ PRMSG (3, "SocketRejectConnection(%x)\n", ciptr, 0, 0);
++
++ FD_ZERO(&fs);
++ FD_SET(ciptr -> fd, &fs);
++
++ t.tv_sec = 0;
++ t.tv_usec = 0;
++
++ /*
++ * Check if there is an awaiting connection.
++ */
++
++ if (select(ciptr -> fd + 1, &fs, NULL, NULL, &t) == 1)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketRejectConnection: Accepting connection attempt on fd [%d].\n",
++ ciptr -> fd);
++#endif
++ /*
++ * If there is one, close it.
++ */
++
++ if ((f = accept(ciptr -> fd, &sa, &sa_l)) >= 0)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketRejectConnection: Closing connection attempt on fd [%d].\n",
++ ciptr -> fd);
++#endif
++ close(f);
++ }
++ }
++}
++
++#endif /* #ifdef TRANS_SERVER */
++
++#ifdef TRANS_CLIENT
++
++void *TRANS(SocketProxyConnInfo) (XtransConnInfo ciptr)
++{
++ if (_NXProxyConnInfoTab[ciptr->fd] != NULL)
++ {
++ return ciptr->priv;
++ }
++
++ return NULL;
++}
++
++static XtransConnInfo TRANS(SocketCreateConnInfo) ()
++{
++ XtransConnInfo ciptr;
++
++ int fds[2];
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketCreateConnInfo: Going to create the NX connection info.\n");
++#endif
++
++ if ((ciptr = (XtransConnInfo) calloc (1, sizeof(struct _XtransConnInfo))) == NULL)
++ {
++ PRMSG (1, "SocketCreateConnInfo: malloc failed\n", 0, 0, 0);
++ return NULL;
++ }
++
++ /*
++ * Create a pair of sockets. We'll communicate with
++ * the NX proxy by reading and writing to our end.
++ */
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketCreateConnInfo: Going to create the NX socketpair.\n");
++#endif
++
++ if (socketpair(PF_LOCAL, SOCK_STREAM, 0, fds) < 0)
++ {
++ PRMSG (1, "SocketCreateConnInfo: socketpair() failed.\n", 0, 0, 0);
++ xfree ((char *) ciptr);
++ return NULL;
++ }
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketCreateConnInfo: X socket end is [%d] NX proxy end is [%d].\n",
++ fds[0], fds[1]);
++#endif
++
++ /*
++ * Save in _NXProxyConnInfoTab the local and remote end of
++ * the socketpair. The remote end will be used by the proxy.
++ * When the memory-to-memory transport is activated, the
++ * agent and the proxy don't read or write to the real des-
++ * criptors but the communication takes place by reading
++ * and writing to the proxy's buffers.
++ */
++
++ ciptr->fd = fds[0];
++
++ if (ciptr->fd >= NX_PROXY_CONN_LIMIT)
++ {
++ PRMSG (1, "SocketCreateConnInfo: No space for a new _NXProxyConnInfo for [%d].\n",
++ ciptr->fd, 0, 0);
++ xfree ((char *) ciptr);
++ return NULL;
++ }
++ else if (_NXProxyConnInfoTab[ciptr->fd] != NULL)
++ {
++ PRMSG (1, "SocketCreateConnInfo: _NXProxyConnInfo for [%d] is not NULL. Exiting.\n",
++ ciptr->fd, 0, 0);
++ exit(1);
++ }
++
++ _NXProxyConnInfoTab[ciptr->fd] = (_NXProxyConnInfo *) xcalloc(1, sizeof(_NXProxyConnInfo));
++
++ if (_NXProxyConnInfoTab[ciptr->fd] == NULL)
++ {
++ PRMSG (1, "SocketCreateConnInfo: Alloc of _NXProxyConnInfo failed.\n", 0, 0, 0);
++ xfree ((char *) ciptr);
++ return NULL;
++ }
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketCreateConnInfo: Allocated new _NXProxyConnInfo for [%d].\n",
++ ciptr->fd);
++#endif
++
++ _NXProxyConnInfoTab[ciptr->fd]->info = ciptr;
++ _NXProxyConnInfoTab[ciptr->fd]->local = fds[0];
++ _NXProxyConnInfoTab[ciptr->fd]->remote = fds[1];
++ _NXProxyConnInfoTab[ciptr->fd]->congestion = 0;
++
++ ciptr->priv = (char *) _NXProxyConnInfoTab[ciptr->fd];
++
++ return ciptr;
++}
++
++static int TRANS(SocketConnectConnInfo) (XtransConnInfo ciptr, char *host, char *port)
++{
++ int fds[2];
++ char display[1024];
++
++ _NXProxyConnInfo *proxy_conn;
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketConnectConnInfo: Going to connect NX fd [%d] to host [%s] port [%s].\n",
++ ciptr->fd, host, port);
++#endif
++
++ /*
++ * We should have already created the socket pair.
++ */
++
++ proxy_conn = (_NXProxyConnInfo *) ciptr->priv;
++
++ if (proxy_conn == NULL)
++ {
++ PRMSG (1, "SocketConnectConnInfo: Pointer to _NXProxyConnInfo is NULL. Exiting.\n", 0, 0, 0);
++
++ exit(1);
++ }
++ else if (_NXProxyConnInfoTab[ciptr->fd] != (_NXProxyConnInfo *) ciptr->priv)
++ {
++ PRMSG (1, "SocketConnectConnInfo: Can't find _NXProxyConnInfo in table. Exiting.\n",
++ 0, 0, 0);
++
++ exit(1);
++ }
++
++ if (strlen(host) + strlen(port) + 1 >= 1023)
++ {
++ PRMSG (1, "SocketConnectConnInfo: Length of NX display string '%s:%s' would exceed %d characters.\n",
++ host, port, 1023);
++
++ return TRANS_CONNECT_FAILED;
++ }
++
++ sprintf(display, "%s:%s", host, port);
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketConnectConnInfo: Setting close-on-exec flag on local NX descriptor [%d].\n",
++ proxy_conn -> local);
++#endif
++
++#ifdef F_SETFD
++#ifdef FD_CLOEXEC
++ if (fcntl(proxy_conn -> local, F_SETFD, FD_CLOEXEC) != 0)
++#else
++ if (fcntl(proxy_conn -> local, F_SETFD, 1) != 0)
++#endif
++#endif
++ {
++ PRMSG (1, "SocketConnectConnInfo: Cannot set close-on-exec on local NX descriptor [%d].\n",
++ proxy_conn -> local, 0, 0);
++
++ return TRANS_CONNECT_FAILED;
++ }
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketConnectConnInfo: Creating the NX transport with display [%s].\n",
++ display);
++#endif
++
++ if (NXTransCreate(NX_FD_ANY, NX_MODE_CLIENT, display) < 0)
++ {
++ PRMSG (1, "SocketConnectConnInfo: Cannot create the NX transport.\n",
++ 0, 0, 0);
++
++ return TRANS_CONNECT_FAILED;
++ }
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketConnectConnInfo: Starting the NX agent with descriptor [%d].\n",
++ proxy_conn -> remote);
++#endif
++
++ fds[0] = proxy_conn -> local;
++ fds[1] = proxy_conn -> remote;
++
++ NXTransAgent(fds);
++
++ return 0;
++}
++
++static void TRANS(SocketCloseConnInfo) (XtransConnInfo ciptr)
++{
++ _NXProxyConnInfo *proxy_conn;
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketCloseConnInfo: Going to close the NX fd [%d].\n", ciptr->fd);
++#endif
++
++ proxy_conn = (_NXProxyConnInfo *) ciptr->priv;
++
++ if (proxy_conn == NULL)
++ {
++ PRMSG (1, "SocketCloseConnInfo: Pointer to _NXProxyConnInfo is NULL. Exiting.\n", 0, 0, 0);
++
++ exit(1);
++ }
++ else if (ciptr->fd >= NX_PROXY_CONN_LIMIT ||
++ _NXProxyConnInfoTab[ciptr->fd] != (_NXProxyConnInfo *) ciptr->priv)
++ {
++ PRMSG (1, "SocketCloseConnInfo: Can't find _NXProxyConnInfo in table. Exiting.\n",
++ 0, 0, 0);
++ exit(1);
++ }
++ else if (_NXProxyConnInfoTab[ciptr->fd] -> info != ciptr ||
++ _NXProxyConnInfoTab[ciptr->fd] -> local != ciptr->fd)
++ {
++ PRMSG (1, "SocketCloseConnInfo: Invalid _NXProxyConnInfo structure for [%d]. Exiting.\n",
++ ciptr->fd, 0, 0);
++ exit(1);
++ }
++ else if (proxy_conn->local < 0 || proxy_conn->remote < 0)
++ {
++ PRMSG (1, "SocketCloseConnInfo: Invalid socket pair in NX connection for [%d]. Exiting.\n",
++ ciptr->fd, 0, 0);
++ exit(1);
++ }
++
++ NXTransClose(ciptr->fd);
++
++ /*
++ * Get rid of the _NXProxyConnInfo structure.
++ */
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketCloseConnInfo: Freeing _NXProxyConnInfo structure for [%d].\n",
++ ciptr->fd);
++#endif
++
++ xfree((char *) _NXProxyConnInfoTab[ciptr->fd]);
++
++ _NXProxyConnInfoTab[ciptr->fd] = NULL;
++
++ ciptr->priv = NULL;
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketCloseConnInfo: Should now close the local descriptor [%d].\n",
++ ciptr->fd);
++#endif
++}
++
++#endif /* #ifdef TRANS_CLIENT */
++
++#if defined(TRANS_CLIENT) && defined(NX_TRANS_CHANGE)
++
++/*
++ * Check the congestion state of the NX transport
++ * and return 1 if there has been a change. This
++ * can be extended by adding a few counters track-
++ * ing the bandwidth usage of the X11 connection.
++ */
++
++int TRANS(SocketCongestionChange) (XtransConnInfo ciptr, int *state)
++{
++ int congestion;
++
++ _NXProxyConnInfo *proxy_conn;
++
++ PRMSG (3, "SocketCongestionChange(%x)\n", ciptr, 0, 0);
++
++ proxy_conn = (_NXProxyConnInfo *) ciptr->priv;
++
++ if (proxy_conn == NULL)
++ {
++#ifdef NX_TRANS_DEBUG
++ fprintf(stderr, "SocketCongestionChange: Descriptor [%d] doesn't appear to be a NX connection.\n",
++ ciptr->fd);
++#endif
++ return 0;
++ }
++
++#ifdef NX_TRANS_DEBUG
++ fprintf(stderr, "SocketCongestionChange: Checking congestion on fd [%d] with old state [%d].\n",
++ ciptr->fd, proxy_conn->congestion);
++#endif
++
++ congestion = NXTransCongestion(ciptr->fd);
++
++ if (congestion != proxy_conn->congestion)
++ {
++ proxy_conn->congestion = congestion;
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketCongestionChange: Change detected on fd [%d] with new state [%d].\n",
++ ciptr->fd, proxy_conn->congestion);
++#endif
++ return 1;
++ }
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketCongestionChange: No change on fd [%d] with current state [%d].\n",
++ ciptr->fd, congestion);
++#endif
++ return 0;
++}
++
++#endif /* #if defined(TRANS_CLIENT) && defined(NX_TRANS_CHANGE) */
++
++#endif /* #ifdef NX_TRANS_SOCKET */
++
+ /*
+ * These are some utility function used by the real interface function below.
+ */
+@@ -562,6 +1145,29 @@
+ SocketInitOnce();
+
+ while ((i = TRANS(SocketSelectFamily) (i, transname)) >= 0) {
++
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ if ((!strcmp(protocol, "local") || !strcmp(protocol, "nx")) &&
++ (!strcasecmp(host, "nx") || !strncasecmp(host, "nx,", 3)))
++ {
++ ciptr = TRANS(SocketCreateConnInfo) ();
++
++ if (ciptr == NULL)
++ {
++ PRMSG (1, "SocketOpenCOTSClient: Unable to create the NX connection info for %s.\n",
++ transname, 0, 0);
++
++ return NULL;
++ }
++
++ ciptr->index = i;
++
++ return ciptr;
++ }
++
++#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
++
+ if ((ciptr = TRANS(SocketOpen) (
+ i, Sockettrans2devtab[i].devcotsname)) != NULL)
+ break;
+@@ -576,6 +1182,12 @@
+ return NULL;
+ }
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ ciptr->priv = NULL;
++
++#endif
++
+ /* Save the index for later use */
+
+ ciptr->index = i;
+@@ -677,6 +1289,29 @@
+ SocketInitOnce();
+
+ while ((i = TRANS(SocketSelectFamily) (i, thistrans->TransName)) >= 0) {
++
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ if ((!strcmp(protocol, "local") || !strcmp(protocol, "nx")) &&
++ (!strcasecmp(host, "nx") || !strncasecmp(host, "nx,", 3)))
++ {
++ ciptr = TRANS(SocketCreateConnInfo) ();
++
++ if (ciptr == NULL)
++ {
++ PRMSG (1, "SocketOpenCLTSClient: Unable to create the NX connection info for %s.\n",
++ thistrans->TransName, 0, 0);
++
++ return NULL;
++ }
++
++ ciptr->index = i;
++
++ return ciptr;
++ }
++
++#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
++
+ if ((ciptr = TRANS(SocketOpen) (
+ i, Sockettrans2devtab[i].devcotsname)) != NULL)
+ break;
+@@ -691,6 +1326,12 @@
+ return NULL;
+ }
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ ciptr->priv = NULL;
++
++#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
++
+ /* Save the index for later use */
+
+ ciptr->index = i;
+@@ -826,6 +1467,11 @@
+ {
+ PRMSG (2,"SocketSetOption(%d,%d,%d)\n", ciptr->fd, option, arg);
+
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "SocketSetOption: WARNING! Not setting option [%d] with value [%d] on descriptor [%d].\n",
++ option, arg, ciptr -> fd);
++#endif
++
+ return -1;
+ }
+
+@@ -875,6 +1521,11 @@
+ else
+ retry = 0;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "SocketCreateListener: Creating listener for ciptr at [%p] on path [%s].\n",
++ (void *) ciptr, ((struct sockaddr_un *) sockname)->sun_family == AF_UNIX ?
++ ((struct sockaddr_un *) sockname)->sun_path : "TCP");
++#endif
+ while (bind (fd, (struct sockaddr *) sockname, namelen) < 0)
+ {
+ if (errno == EADDRINUSE) {
+@@ -926,6 +1577,11 @@
+
+ ciptr->flags = 1 | (ciptr->flags & TRANS_KEEPFLAGS);
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "SocketCreateListener: Set flags to [%d] for ciptr [%p].\n",
++ ciptr->flags, (void *) ciptr);
++#endif
++
+ return 0;
+ }
+
+@@ -1084,9 +1740,15 @@
+ #else
+ mode = 0777;
+ #endif
++#ifdef NX_TRANS_SOCKET
++ if (trans_mkdir(_NXGetUnixDir(UNIX_DIR), mode) == -1) {
++ PRMSG (1, "SocketUNIXCreateListener: mkdir(%s) failed, errno = %d\n",
++ _NXGetUnixDir(UNIX_DIR), errno, 0);
++#else
+ if (trans_mkdir(UNIX_DIR, mode) == -1) {
+ PRMSG (1, "SocketUNIXCreateListener: mkdir(%s) failed, errno = %d\n",
+ UNIX_DIR, errno, 0);
++#endif
+ (void) umask (oldUmask);
+ return TRANS_CREATE_LISTENER_FAILED;
+ }
+@@ -1095,12 +1757,20 @@
+ sockname.sun_family = AF_UNIX;
+
+ if (port && *port) {
++#ifdef NX_TRANS_SOCKET
++ if (set_sun_path(port, _NXGetUnixPath(UNIX_PATH), sockname.sun_path) != 0) {
++#else
+ if (set_sun_path(port, UNIX_PATH, sockname.sun_path) != 0) {
++#endif
+ PRMSG (1, "SocketUNIXCreateListener: path too long\n", 0, 0, 0);
+ return TRANS_CREATE_LISTENER_FAILED;
+ }
+ } else {
++#ifdef NX_TRANS_SOCKET
++ sprintf (sockname.sun_path, "%s%ld", _NXGetUnixPath(UNIX_PATH), (long)getpid());
++#else
+ sprintf (sockname.sun_path, "%s%ld", UNIX_PATH, (long)getpid());
++#endif
+ }
+
+ #if (defined(BSD44SOCKETS) || defined(__UNIXWARE__)) && !defined(Lynx)
+@@ -1110,6 +1780,10 @@
+ namelen = strlen(sockname.sun_path) + sizeof(sockname.sun_family);
+ #endif
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "SocketUNIXCreateListener: Unlinking path [%s] for ciptr at [%p].\n",
++ sockname.sun_path, (void *) ciptr);
++#endif
+ unlink (sockname.sun_path);
+
+ if ((status = TRANS(SocketCreateListener) (ciptr,
+@@ -1181,9 +1855,15 @@
+ #else
+ mode = 0777;
+ #endif
++#ifdef NX_TRANS_SOCKET
++ if (trans_mkdir(_NXGetUnixDir(UNIX_DIR), mode) == -1) {
++ PRMSG (1, "SocketUNIXResetListener: mkdir(%s) failed, errno = %d\n",
++ _NXGetUnixDir(UNIX_DIR), errno, 0);
++#else
+ if (trans_mkdir(UNIX_DIR, mode) == -1) {
+ PRMSG (1, "SocketUNIXResetListener: mkdir(%s) failed, errno = %d\n",
+ UNIX_DIR, errno, 0);
++#endif
+ (void) umask (oldUmask);
+ return TRANS_RESET_FAILURE;
+ }
+@@ -1962,7 +2642,12 @@
+ * we know for sure it will fail.
+ */
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++ if (strcmp(host, "unix") != 0 && strcasecmp(host, "nx") != 0 &&
++ strncasecmp(host, "nx,", 3) != 0 && !UnixHostReallyLocal (host))
++#else
+ if (strcmp (host, "unix") != 0 && !UnixHostReallyLocal (host))
++#endif
+ {
+ PRMSG (1,
+ "SocketUNIXConnect: Cannot connect to non-local host %s\n",
+@@ -1988,7 +2673,11 @@
+
+ sockname.sun_family = AF_UNIX;
+
++#ifdef NX_TRANS_SOCKET
++ if (set_sun_path(port, _NXGetUnixPath(UNIX_PATH), sockname.sun_path) != 0) {
++#else
+ if (set_sun_path(port, UNIX_PATH, sockname.sun_path) != 0) {
++#endif
+ PRMSG (1, "SocketUNIXConnect: path too long\n", 0, 0, 0);
+ return TRANS_CONNECT_FAILED;
+ }
+@@ -2006,7 +2695,11 @@
+ * This is gross, but it was in Xlib
+ */
+ old_sockname.sun_family = AF_UNIX;
++#ifdef NX_TRANS_SOCKET
++ if (set_sun_path(port, _NXGetOldUnixPath(OLD_UNIX_PATH), old_sockname.sun_path) != 0) {
++#else
+ if (set_sun_path(port, OLD_UNIX_PATH, old_sockname.sun_path) != 0) {
++#endif
+ PRMSG (1, "SocketUNIXConnect: path too long\n", 0, 0, 0);
+ return TRANS_CONNECT_FAILED;
+ }
+@@ -2014,6 +2707,19 @@
+ sizeof (old_sockname.sun_family);
+ #endif
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ if (ciptr->priv != NULL)
++ {
++ if (TRANS(SocketConnectConnInfo) (ciptr, host, port) != 0)
++ {
++ return TRANS_CONNECT_FAILED;
++ }
++
++ goto SocketUNIXConnectPost;
++ }
++
++#endif
+
+ /*
+ * Do the connect()
+@@ -2065,6 +2771,12 @@
+ }
+ }
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++SocketUNIXConnectPost:
++
++#endif
++
+ /*
+ * Get the socket name and the peer name from the connect socket,
+ * since this is unix domain.
+@@ -2099,6 +2811,58 @@
+ {
+ PRMSG (2,"SocketBytesReadable(%p,%d,%p)\n",
+ ciptr, ciptr->fd, pend);
++
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ if (ciptr->priv)
++ {
++ if (NXTransRunning(ciptr->fd) == 0)
++ {
++ /*
++ * Force the application to shut down the
++ * socket if the NX transport is gone. We
++ * may probably save this additional call.
++ */
++
++#ifdef NX_TRANS_DEBUG
++ fprintf(stderr, "SocketBytesReadable: NX transport not running for descriptor [%d].\n",
++ ciptr->fd);
++#endif
++ ESET(EPIPE);
++
++ return -1;
++ }
++ else
++ {
++ /*
++ * Emulate BytesReadable. Some X applications may use the system
++ * select() in their main loop, instead of the _XSelect() that is
++ * replaced by NX. Still these applications use _XEventsQueued to
++ * poll events from the X connection, and _XEventsQueued uses the
++ * NX _XSelect(), so it is generally possible to let the client
++ * yield the control to NX and let it handle the I/O on the proxy
++ * descriptors even if the application is not explicitly designed
++ * to work as a NX agent.
++ */
++
++#ifdef NX_TRANS_DEBUG
++
++ int result;
++
++ result = NXTransReadable(ciptr->fd, (int *) pend);
++
++ fprintf(stderr, "SocketBytesReadable: Descriptor [%d] result [%d] readable [%ld].\n",
++ ciptr->fd, result, *pend);
++
++ return result;
++#else
++ return NXTransReadable(ciptr->fd, (int *) pend);
++#endif
++ }
++ }
++
++#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
++
+ #if defined(QNX4)
+ *pend = 0L; /* FIONREAD only returns a short. Zero out upper bits */
+ #endif
+@@ -2128,6 +2892,41 @@
+ {
+ PRMSG (2,"SocketRead(%d,%p,%d)\n", ciptr->fd, buf, size);
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ /*
++ * If we have a valid priv pointer then this
++ * is an internal connection to the proxy.
++ * In this case we should emulate the read.
++ */
++
++ if (ciptr->priv)
++ {
++ int result;
++
++ result = NXTransRead(ciptr->fd, buf, size);
++
++#ifdef NX_TRANS_DEBUG
++ if (result < 0 && EGET() == EAGAIN)
++ {
++ fprintf(stderr, "SocketRead: Read from descriptor [%d] would block.\n",
++ ciptr->fd);
++ }
++ else
++ {
++ fprintf(stderr, "SocketRead: Read [%d] bytes from descriptor [%d].\n",
++ result, ciptr->fd);
++ }
++#endif
++ return result;
++ }
++ else
++ {
++ return read (ciptr->fd, buf, size);
++ }
++
++#else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
++
+ #if defined(WIN32) || defined(__UNIXOS2__)
+ {
+ int ret = recv ((SOCKET)ciptr->fd, buf, size, 0);
+@@ -2139,6 +2938,8 @@
+ #else
+ return read (ciptr->fd, buf, size);
+ #endif /* WIN32 */
++
++#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
+ }
+
+
+@@ -2148,6 +2949,41 @@
+ {
+ PRMSG (2,"SocketWrite(%d,%p,%d)\n", ciptr->fd, buf, size);
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ /*
++ * If we have a valid priv pointer then this
++ * is an internal connection to the proxy.
++ * In this case we should emulate the write.
++ */
++
++ if (ciptr->priv)
++ {
++ int result;
++
++ result = NXTransWrite(ciptr->fd, buf, size);
++
++#ifdef NX_TRANS_DEBUG
++ if (result < 0 && EGET() == EAGAIN)
++ {
++ fprintf(stderr, "SocketWrite: Write on descriptor [%d] would block.\n",
++ ciptr->fd);
++ }
++ else
++ {
++ fprintf(stderr, "SocketWrite: Written [%d] bytes on descriptor [%d].\n",
++ result, ciptr->fd);
++ }
++#endif
++ return result;
++ }
++ else
++ {
++ return write (ciptr->fd, buf, size);
++ }
++
++#else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
++
+ #if defined(WIN32) || defined(__UNIXOS2__)
+ {
+ int ret = send ((SOCKET)ciptr->fd, buf, size, 0);
+@@ -2159,6 +2995,8 @@
+ #else
+ return write (ciptr->fd, buf, size);
+ #endif /* WIN32 */
++
++#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
+ }
+
+
+@@ -2168,7 +3006,28 @@
+ {
+ PRMSG (2,"SocketReadv(%d,%p,%d)\n", ciptr->fd, buf, size);
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ /*
++ * If we have a valid priv pointer then this
++ * is an internal connection to the proxy.
++ * In this case we should emulate the readv.
++ */
++
++ if (ciptr->priv)
++ {
++ return NXTransReadVector(ciptr->fd, buf, size);
++ }
++ else
++ {
++ return READV (ciptr, buf, size);
++ }
++
++#else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
++
+ return READV (ciptr, buf, size);
++
++#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
+ }
+
+
+@@ -2178,7 +3037,28 @@
+ {
+ PRMSG (2,"SocketWritev(%d,%p,%d)\n", ciptr->fd, buf, size);
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ /*
++ * If we have a valid priv pointer then this
++ * is an internal connection to the proxy.
++ * In this case we should emulate the writev.
++ */
++
++ if (ciptr->priv)
++ {
++ return NXTransWriteVector(ciptr->fd, buf, size);
++ }
++ else
++ {
++ return WRITEV (ciptr, buf, size);
++ }
++
++#else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
++
+ return WRITEV (ciptr, buf, size);
++
++#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */
+ }
+
+
+@@ -2234,17 +3114,41 @@
+ struct sockaddr_un *sockname = (struct sockaddr_un *) ciptr->addr;
+ int ret;
+
+- PRMSG (2,"SocketUNIXClose(%p,%d)\n", ciptr, ciptr->fd, 0);
++ PRMSG (2,"SocketUNIXClose(%x,%d)\n", ciptr, ciptr->fd, 0);
++
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ if (ciptr->priv)
++ {
++ TRANS(SocketCloseConnInfo) (ciptr);
++ }
++
++#endif
+
+ ret = close(ciptr->fd);
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "SocketUNIXClose: Flags are [%d] for ciptr at [%p] check is [%d].\n",
++ ciptr->flags, (void *) ciptr, (ciptr->flags && sockname
++ && sockname->sun_family == AF_UNIX && sockname->sun_path[0]));
++#endif
++
+ if (ciptr->flags
+ && sockname
+ && sockname->sun_family == AF_UNIX
+ && sockname->sun_path[0])
+ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ if (!(ciptr->flags & TRANS_NOUNLINK))
++ {
++ fprintf(stderr, "SocketUNIXClose: Unlinking path [%s] for ciptr at [%p].\n",
++ sockname->sun_path, (void *) ciptr);
++ unlink (sockname->sun_path);
++ }
++#else
+ if (!(ciptr->flags & TRANS_NOUNLINK))
+ unlink (sockname->sun_path);
++#endif
+ }
+
+ return ret;
+@@ -2263,6 +3167,15 @@
+ PRMSG (2,"SocketUNIXCloseForCloning(%p,%d)\n",
+ ciptr, ciptr->fd, 0);
+
++#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT)
++
++ if (ciptr->priv)
++ {
++ TRANS(SocketCloseConnInfo) (ciptr);
++ }
++
++#endif
++
+ ret = close(ciptr->fd);
+
+ return ret;
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_glx_render2.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_glx_render2.c.X.original
new file mode 100644
index 000000000..16fa7adcc
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_glx_render2.c.X.original
@@ -0,0 +1,11 @@
+--- ./nx-X11/programs/Xserver/GL/glx/render2.c.X.original 2015-02-13 14:03:44.680442769 +0100
++++ ./nx-X11/programs/Xserver/GL/glx/render2.c 2015-02-10 19:13:14.416663013 +0100
+@@ -43,7 +43,7 @@
+ #include "unpack.h"
+ #include "g_disptab.h"
+ #include "g_disptab_EXT.h"
+-
++#include "indirect_size.h"
+
+ void __glXDisp_Map1f(GLbyte *pc)
+ {
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_glx_render2swap.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_glx_render2swap.c.X.original
new file mode 100644
index 000000000..1ae924df0
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_glx_render2swap.c.X.original
@@ -0,0 +1,11 @@
+--- ./nx-X11/programs/Xserver/GL/glx/render2swap.c.X.original 2015-02-13 14:03:44.680442769 +0100
++++ ./nx-X11/programs/Xserver/GL/glx/render2swap.c 2015-02-10 19:13:14.376664506 +0100
+@@ -43,7 +43,7 @@
+ #include "unpack.h"
+ #include "g_disptab.h"
+ #include "g_disptab_EXT.h"
+-
++#include "indirect_size.h"
+
+ void __glXDispSwap_Map1f(GLbyte *pc)
+ {
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_mesa_X_Imakefile.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_mesa_X_Imakefile.X.original
new file mode 100644
index 000000000..7f3db6c8b
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_mesa_X_Imakefile.X.original
@@ -0,0 +1,11 @@
+--- ./nx-X11/programs/Xserver/GL/mesa/X/Imakefile.X.original 2015-02-13 14:03:44.680442769 +0100
++++ ./nx-X11/programs/Xserver/GL/mesa/X/Imakefile 2015-02-10 19:13:14.340665851 +0100
+@@ -57,7 +57,7 @@
+ -I$(XF86OSSRC) \
+ -I$(DRMSRCDIR)/shared-core
+
+- DEFINES = $(GLX_DEFINES) $(GLXSRV_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
++ DEFINES = $(GLX_DEFINES) $(GLXSRV_DEFINES) -DNXAGENT_SERVER /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/
+
+ #ifdef IHaveModules
+ ModuleObjectRule()
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_mesa_X_xf86glx.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_mesa_X_xf86glx.c.X.original
new file mode 100644
index 000000000..eaa3a1624
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_GL_mesa_X_xf86glx.c.X.original
@@ -0,0 +1,70 @@
+--- ./nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c.X.original 2015-02-13 14:03:44.680442769 +0100
++++ ./nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c 2015-02-10 19:13:14.340665851 +0100
+@@ -71,6 +71,10 @@
+
+ #include "glcontextmodes.h"
+
++#ifdef NXAGENT_SERVER
++#include "../main/WSDrawBuffer.h"
++#endif
++
+ /*
+ * This structure is statically allocated in the __glXScreens[]
+ * structure. This struct is not used anywhere other than in
+@@ -95,6 +99,36 @@
+ NULL /* WrappedPositionWindow is overwritten */
+ };
+
++#ifdef NXAGENT_SERVER
++WSDrawBufferPtr pWSDrawBuffer = NULL;
++
++void AddWSDrawBuffer(GLframebuffer *mesa_buffer)
++{
++ WSDrawBufferPtr prevWSDB;
++ WSDrawBufferPtr newWSDB;
++ WSDrawBufferPtr p;
++
++ prevWSDB = NULL;
++ newWSDB = NULL;
++ p = pWSDrawBuffer;
++ while (p != NULL) {
++ prevWSDB = p;
++ if (prevWSDB -> DrawBuffer == mesa_buffer) {
++ return;
++ }
++ p = p -> next;
++ }
++ newWSDB = malloc(sizeof(WSDrawBufferRec));
++ newWSDB -> DrawBuffer = mesa_buffer;
++ newWSDB -> next = NULL;
++
++ if (pWSDrawBuffer == NULL)
++ pWSDrawBuffer = newWSDB;
++ else
++ prevWSDB -> next = newWSDB;
++}
++#endif
++
+ void *__glXglDDXScreenInfo(void) {
+ return &__glDDXScreenInfo;
+ }
+@@ -748,6 +782,10 @@
+ __MESA_buffer buf = (__MESA_buffer)glPriv->private;
+ __GLXdrawablePrivate *glxPriv = (__GLXdrawablePrivate *)glPriv->other;
+
++#ifdef NXAGENT_SERVER
++ AddWSDrawBuffer(& (buf -> xm_buf -> mesa_buffer) );
++#endif
++
+ /* Destroy Mesa's buffers */
+ if (buf->xm_buf)
+ XMesaDestroyBuffer(buf->xm_buf);
+@@ -757,7 +795,7 @@
+ glPriv->frontBuffer.resize = buf->fbresize;
+
+ __glXFree(glPriv->private);
+- glPriv->private = NULL;
++ glPriv->private = NULL;
+ }
+
+ __GLinterface *__MESA_createContext(__GLimports *imports,
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_Xext_security.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_Xext_security.c.X.original
new file mode 100644
index 000000000..bb461afcd
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_Xext_security.c.X.original
@@ -0,0 +1,315 @@
+--- ./nx-X11/programs/Xserver/Xext/security.c.X.original 2015-02-13 14:03:44.684442691 +0100
++++ ./nx-X11/programs/Xserver/Xext/security.c 2015-02-13 14:03:44.684442691 +0100
+@@ -27,6 +27,23 @@
+ */
+ /* $XFree86: xc/programs/Xserver/Xext/security.c,v 1.16tsi Exp $ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #ifdef HAVE_DIX_CONFIG_H
+ #include <dix-config.h>
+ #endif
+@@ -54,14 +71,49 @@
+ #include <stdio.h> /* for file reading operations */
+ #include <X11/Xatom.h> /* for XA_STRING */
+
++#ifdef NXAGENT_SERVER
++
++#include <unistd.h>
++#include <string.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++
++#endif
++
+ #ifndef DEFAULTPOLICYFILE
+ # define DEFAULTPOLICYFILE NULL
+ #endif
++
++#ifdef NXAGENT_SERVER
++
++#define NX_ALTERNATIVEPOLICYFILE "/usr/lib/xserver/SecurityPolicy"
++
++#endif
++
+ #if defined(WIN32) || defined(__CYGWIN__)
+ #include <X11/Xos.h>
+ #undef index
+ #endif
+
++/*
++ * Set here the required NX log level.
++ */
++
++#ifdef NXAGENT_SERVER
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
++
++#endif
++
++#ifdef NXAGENT_SERVER
++
++static char _NXPolicyFilePath[1024];
++
++#endif
++
+ #include "modinit.h"
+
+ static int SecurityErrorBase; /* first Security error number */
+@@ -87,6 +139,115 @@
+ ClientPtr /*client*/
+ );
+
++#ifdef NXAGENT_SERVER
++
++/*
++ * This function returns the SecurityPolicy
++ * file full path. This path is referred by
++ * SecurityPolicyFile variable (generally it
++ * contains the hardcoded path at compile time).
++ * If the path does not exist, the function will
++ * try a set of well known paths.
++ */
++
++const char *_NXGetPolicyFilePath(const char *path)
++{
++
++ struct stat SecurityPolicyStat;
++
++ /*
++ * Check the policy file path only once.
++ */
++
++ if (*_NXPolicyFilePath != '\0')
++ {
++ return _NXPolicyFilePath;
++ }
++
++ if (stat(path, &SecurityPolicyStat) == 0)
++ {
++ if (strlen(path) + 1 > 1024)
++ {
++ #ifdef WARNING
++ fprintf(stderr, "_NXGetPolicyFilePath: WARNING! Maximum length of SecurityPolicy file path exceeded.\n");
++ #endif
++
++ goto _NXGetPolicyFilePathError;
++ }
++
++ strcpy(_NXPolicyFilePath, path);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetPolicyFilePath: Using SecurityPolicy file path [%s].\n",
++ _NXPolicyFilePath);
++ #endif
++
++ return _NXPolicyFilePath;
++ }
++
++ if (stat(DEFAULTPOLICYFILE, &SecurityPolicyStat) == 0)
++ {
++ if (strlen(DEFAULTPOLICYFILE) + 1 > 1024)
++ {
++ #ifdef WARNING
++ fprintf(stderr, "_NXGetPolicyFilePath: WARNING! Maximum length of SecurityPolicy file path exceeded.\n");
++ #endif
++
++ goto _NXGetPolicyFilePathError;
++ }
++
++ strcpy(_NXPolicyFilePath, DEFAULTPOLICYFILE);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetPolicyFilePath: Using SecurityPolicy file path [%s].\n",
++ _NXPolicyFilePath);
++ #endif
++
++ return _NXPolicyFilePath;
++ }
++
++ if (stat(NX_ALTERNATIVEPOLICYFILE, &SecurityPolicyStat) == 0)
++ {
++ if (strlen(NX_ALTERNATIVEPOLICYFILE) + 1 > 1024)
++ {
++ #ifdef WARNING
++ fprintf(stderr, "_NXGetPolicyFilePath: WARNING! Maximum length of SecurityPolicy file path exceeded.\n");
++ #endif
++
++ goto _NXGetPolicyFilePathError;
++ }
++
++ strcpy(_NXPolicyFilePath, NX_ALTERNATIVEPOLICYFILE);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetPolicyFilePath: Using SecurityPolicy file path [%s].\n",
++ _NXPolicyFilePath);
++ #endif
++
++ return _NXPolicyFilePath;
++ }
++
++_NXGetPolicyFilePathError:
++
++ if (strlen(path) + 1 > 1024)
++ {
++ #ifdef WARNING
++ fprintf(stderr, "_NXGetPolicyFilePath: WARNING! Maximum length of SecurityPolicy file exceeded.\n");
++ #endif
++ }
++
++ strcpy(_NXPolicyFilePath, path);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetPolicyFilePath: Using default SecurityPolicy file path [%s].\n",
++ _NXPolicyFilePath);
++ #endif
++
++ return _NXPolicyFilePath;
++}
++
++#endif
++
+ /* SecurityAudit
+ *
+ * Arguments:
+@@ -1647,18 +1808,60 @@
+
+ SecurityMaxPropertyName = 0;
+
++#ifdef NXAGENT_SERVER
++
++ if (!_NXGetPolicyFilePath(SecurityPolicyFile))
++ {
++ return;
++ }
++
++#else
++
+ if (!SecurityPolicyFile)
+ return;
+
++#endif
++
+ #ifndef __UNIXOS2__
++
++#ifdef NXAGENT_SERVER
++
++ f = Fopen(_NXGetPolicyFilePath(SecurityPolicyFile), "r");
++
++#else
++
+ f = Fopen(SecurityPolicyFile, "r");
++
++#endif
++
++#else
++
++#ifdef NXAGENT_SERVER
++
++ f = Fopen((char*)__XOS2RedirRoot( _NXGetPolicyFilePath(SecurityPolicyFile)), "r");
++
+ #else
++
+ f = Fopen((char*)__XOS2RedirRoot(SecurityPolicyFile), "r");
+-#endif
++
++#endif
++
++#endif
++
+ if (!f)
+ {
++#ifdef NXAGENT_SERVER
++
++ ErrorF("error opening security policy file %s\n",
++ _NXGetPolicyFilePath(SecurityPolicyFile));
++
++#else
++
+ ErrorF("error opening security policy file %s\n",
+ SecurityPolicyFile);
++
++#endif
++
+ return;
+ }
+
+@@ -1678,8 +1881,19 @@
+ char *v = SecurityParseString(&p);
+ if (strcmp(v, SECURITY_POLICY_FILE_VERSION) != 0)
+ {
++
++#ifdef NXAGENT_SERVER
++
++ ErrorF("%s: invalid security policy file version, ignoring file\n",
++ _NXGetPolicyFilePath(SecurityPolicyFile));
++
++#else
++
+ ErrorF("%s: invalid security policy file version, ignoring file\n",
+ SecurityPolicyFile);
++
++#endif
++
+ break;
+ }
+ validLine = TRUE;
+@@ -1706,9 +1920,22 @@
+ }
+ }
+
++#ifdef NXAGENT_SERVER
++
++ if (!validLine)
++ {
++ ErrorF("Line %d of %s invalid, ignoring\n",
++ lineNumber, _NXGetPolicyFilePath(SecurityPolicyFile));
++ }
++
++#else
++
+ if (!validLine)
+ ErrorF("Line %d of %s invalid, ignoring\n",
+ lineNumber, SecurityPolicyFile);
++
++#endif
++
+ } /* end while more input */
+
+ #ifdef PROPDEBUG
+@@ -1799,7 +2026,17 @@
+ {
+ struct stat buf;
+ static time_t lastmod = 0;
++
++#ifdef NXAGENT_SERVER
++
++ int ret = stat(_NXGetPolicyFilePath(SecurityPolicyFile), &buf);
++
++#else
++
+ int ret = stat(SecurityPolicyFile , &buf);
++
++#endif
++
+ if ( (ret == 0) && (buf.st_mtime > lastmod) )
+ {
+ ErrorF("reloading property rules\n");
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_dix_dixfonts.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_dix_dixfonts.c.X.original
new file mode 100644
index 000000000..1f0cbd4fd
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_dix_dixfonts.c.X.original
@@ -0,0 +1,86 @@
+--- ./nx-X11/programs/Xserver/dix/dixfonts.c.X.original 2015-02-13 14:03:44.704442298 +0100
++++ ./nx-X11/programs/Xserver/dix/dixfonts.c 2015-02-13 14:03:44.704442298 +0100
+@@ -72,6 +72,63 @@
+ #include <stdio.h>
+ #endif
+
++#ifdef NX_TRANS_SOCKET
++
++char _NXFontPath[1024];
++
++/*
++ * Override the default font path and make
++ * it configurable at run time, based on
++ * the NX_FONT environment.
++ */
++
++static const char *_NXGetFontPath(const char *path)
++{
++ const char *fontEnv;
++
++ /*
++ * Check the environment only once.
++ */
++
++ if (*_NXFontPath != '\0')
++ {
++ return _NXFontPath;
++ }
++
++ fontEnv = getenv("NX_FONT");
++
++ if (fontEnv != NULL && *fontEnv != '\0')
++ {
++ if (strlen(fontEnv) + 1 > 1024)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetFontPath: WARNING! Maximum length of font path exceeded.\n");
++#endif
++ goto _NXGetFontPathError;
++ }
++
++ strcpy(_NXFontPath, fontEnv);
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetFontPath: Using NX font path [%s].\n", _NXFontPath);
++#endif
++
++ return _NXFontPath;
++ }
++
++_NXGetFontPathError:
++
++ strcpy(_NXFontPath, path);
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetFontPath: Using default font path [%s].\n", _NXFontPath);
++#endif
++
++ return _NXFontPath;
++}
++
++#endif
++
+ #ifdef PANORAMIX
+ #include "panoramiX.h"
+ #endif
+@@ -1817,11 +1874,19 @@
+ bad;
+
+ /* get enough for string, plus values -- use up commas */
++#ifdef NX_TRANS_SOCKET
++ len = strlen(_NXGetFontPath(path)) + 1;
++#else
+ len = strlen(path) + 1;
++#endif
+ nump = cp = newpath = (unsigned char *) ALLOCATE_LOCAL(len);
+ if (!newpath)
+ return BadAlloc;
++#ifdef NX_TRANS_SOCKET
++ pp = (unsigned char *) _NXGetFontPath(path);
++#else
+ pp = (unsigned char *) path;
++#endif
+ cp++;
+ while (*pp) {
+ if (*pp == ',') {
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_dix_pixmap.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_dix_pixmap.c.X.original
new file mode 100644
index 000000000..77b32d21c
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_dix_pixmap.c.X.original
@@ -0,0 +1,18 @@
+--- ./nx-X11/programs/Xserver/dix/pixmap.c.X.original 2015-02-13 14:03:44.704442298 +0100
++++ ./nx-X11/programs/Xserver/dix/pixmap.c 2015-02-10 19:13:13.696689930 +0100
+@@ -121,7 +121,14 @@
+ if (pScreen->totalPixmapSize > ((size_t)-1) - pixDataSize)
+ return NullPixmap;
+
+- pPixmap = (PixmapPtr)xalloc(pScreen->totalPixmapSize + pixDataSize);
++ /*
++ * FIXME: Allocate 4 bytes at the end of each pixmap. This
++ * is a quick workaround intended to fix a problem reported
++ * by Valgrind due to fbBlt() writing just after the end of
++ * the pixmap buffer. This may be a RENDER bug.
++ */
++
++ pPixmap = (PixmapPtr)xalloc(pScreen->totalPixmapSize + pixDataSize + 4);
+ if (!pPixmap)
+ return NullPixmap;
+ ppriv = (DevUnion *)(pPixmap + 1);
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_fb_fbtrap.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_fb_fbtrap.c.X.original
new file mode 100644
index 000000000..343526131
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_fb_fbtrap.c.X.original
@@ -0,0 +1,12 @@
+--- ./nx-X11/programs/Xserver/fb/fbtrap.c.X.original 2015-02-13 14:03:44.704442298 +0100
++++ ./nx-X11/programs/Xserver/fb/fbtrap.c 2015-02-10 19:13:14.156672722 +0100
+@@ -115,6 +115,9 @@
+ RenderEdge l, r;
+ xFixed t, b;
+
++ if (!xTrapezoidValid (trap))
++ return;
++
+ fbGetDrawable (pPicture->pDrawable, buf, stride, bpp, pxoff, pyoff);
+
+ width = pPicture->pDrawable->width;
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdamage.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdamage.c.X.original
new file mode 100644
index 000000000..06d91218f
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdamage.c.X.original
@@ -0,0 +1,138 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c.X.original 2015-02-13 14:03:44.740441589 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c 2015-02-10 19:13:13.828684988 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /*
+ * $Id: damage.c,v 1.19 2005/10/06 21:55:41 anholt Exp $
+ *
+@@ -1358,17 +1375,24 @@
+ if (n != 0) {
+ damageDamageChars (pDrawable, pGC->font, x + pDrawable->x, y + pDrawable->y, n,
+ charinfo, imageblt, pGC->subWindowMode);
++
++#ifndef NXAGENT_SERVER
++
+ if (imageblt)
+ (*pGC->ops->ImageGlyphBlt)(pDrawable, pGC, x, y, n, charinfo,
+ FONTGLYPHS(pGC->font));
+ else
+ (*pGC->ops->PolyGlyphBlt)(pDrawable, pGC, x, y, n, charinfo,
+ FONTGLYPHS(pGC->font));
++#endif
++
+ }
+ DEALLOCATE_LOCAL(charinfo);
+ return x + w;
+ }
+
++#ifndef NXAGENT_SERVER
++
+ static int
+ damagePolyText8(DrawablePtr pDrawable,
+ GCPtr pGC,
+@@ -1445,6 +1469,89 @@
+ DAMAGE_GC_OP_EPILOGUE(pGC, pDrawable);
+ }
+
++#else /* #ifndef NXAGENT_SERVER */
++
++static int
++damagePolyText8(DrawablePtr pDrawable,
++ GCPtr pGC,
++ int x,
++ int y,
++ int count,
++ char *chars)
++{
++ DAMAGE_GC_OP_PROLOGUE(pGC, pDrawable);
++
++ if (checkGCDamage (pDrawable, pGC))
++ damageText (pDrawable, pGC, x, y, (unsigned long) count, chars,
++ Linear8Bit, TT_POLY8);
++
++ x = (*pGC->ops->PolyText8)(pDrawable, pGC, x, y, count, chars);
++
++ DAMAGE_GC_OP_EPILOGUE(pGC, pDrawable);
++ return x;
++}
++
++static int
++damagePolyText16(DrawablePtr pDrawable,
++ GCPtr pGC,
++ int x,
++ int y,
++ int count,
++ unsigned short *chars)
++{
++ DAMAGE_GC_OP_PROLOGUE(pGC, pDrawable);
++
++ if (checkGCDamage (pDrawable, pGC))
++ damageText (pDrawable, pGC, x, y, (unsigned long) count, (char *) chars,
++ FONTLASTROW(pGC->font) == 0 ? Linear16Bit : TwoD16Bit,
++ TT_POLY16);
++
++ x = (*pGC->ops->PolyText16)(pDrawable, pGC, x, y, count, chars);
++
++ DAMAGE_GC_OP_EPILOGUE(pGC, pDrawable);
++ return x;
++}
++
++static void
++damageImageText8(DrawablePtr pDrawable,
++ GCPtr pGC,
++ int x,
++ int y,
++ int count,
++ char *chars)
++{
++ DAMAGE_GC_OP_PROLOGUE(pGC, pDrawable);
++
++ if (checkGCDamage (pDrawable, pGC))
++ damageText (pDrawable, pGC, x, y, (unsigned long) count, chars,
++ Linear8Bit, TT_IMAGE8);
++
++ (*pGC->ops->ImageText8)(pDrawable, pGC, x, y, count, chars);
++
++ DAMAGE_GC_OP_EPILOGUE(pGC, pDrawable);
++}
++
++static void
++damageImageText16(DrawablePtr pDrawable,
++ GCPtr pGC,
++ int x,
++ int y,
++ int count,
++ unsigned short *chars)
++{
++ DAMAGE_GC_OP_PROLOGUE(pGC, pDrawable);
++
++ if (checkGCDamage (pDrawable, pGC))
++ damageText (pDrawable, pGC, x, y, (unsigned long) count, (char *) chars,
++ FONTLASTROW(pGC->font) == 0 ? Linear16Bit : TwoD16Bit,
++ TT_IMAGE16);
++
++ (*pGC->ops->ImageText16)(pDrawable, pGC, x, y, count, chars);
++
++ DAMAGE_GC_OP_EPILOGUE(pGC, pDrawable);
++}
++
++#endif /* #ifndef NXAGENT_SERVER */
+
+ static void
+ damageImageGlyphBlt(DrawablePtr pDrawable,
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdispatch.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdispatch.c.X.original
new file mode 100644
index 000000000..d9e35f7ae
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdispatch.c.X.original
@@ -0,0 +1,1036 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c.X.original 2015-02-13 14:03:44.740441589 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c 2015-02-13 14:03:44.740441589 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XdotOrg: xc/programs/Xserver/dix/dispatch.c,v 1.13 2005/09/13 01:33:19 daniels Exp $ */
+ /* $Xorg: dispatch.c,v 1.5 2001/02/09 02:04:40 xorgcvs Exp $ */
+ /************************************************************
+@@ -87,6 +104,15 @@
+ int ProcInitialConnection();
+ #endif
+
++#ifdef __sun
++#define False 0
++#define True 1
++#endif
++
++#define GC XlibGC
++#include <X11/Xlib.h>
++#undef GC
++
+ #include "windowstr.h"
+ #include <X11/fonts/fontstruct.h>
+ #include "dixfontstr.h"
+@@ -100,7 +126,7 @@
+ #include "servermd.h"
+ #include "extnsionst.h"
+ #include "dixfont.h"
+-#include "dispatch.h"
++#include "../../dix/dispatch.h"
+ #include "swaprep.h"
+ #include "swapreq.h"
+ #ifdef PANORAMIX
+@@ -119,8 +145,69 @@
+ #include "inputstr.h"
+ #include <X11/extensions/XKBsrv.h>
+ #endif
++
++#include "Atoms.h"
++#include "Splash.h"
++#include "Client.h"
++#include "Clipboard.h"
++#include "Reconnect.h"
++#include "Millis.h"
++#include "Font.h"
++#include "Shadow.h"
++#include "Handlers.h"
++#include "Keyboard.h"
++
++const int nxagentMaxFontNames = 10000;
++
++char dispatchExceptionAtReset = DE_RESET;
++
++/*
++ * This allows the agent to exit if no
++ * client is connected within a timeout.
++ */
++
++int nxagentClients = 0;
++
++void nxagentWaitDisplay(void);
++
++void nxagentListRemoteFonts(const char *, int);
++
++unsigned int nxagentWMtimeout = 0;
++Bool nxagentWMPassed = 0;
++
++/*
++ * Timeouts based on screen saver time.
++ */
++
++int nxagentAutoDisconnectTimeout = 0;
++
+ #ifdef LBX
+-#include "lbxserve.h"
++#include "../../lbx/lbxserve.h"
++#endif
++
++#include "Xatom.h"
++
++/*
++ * Set here the required log level.
++ */
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef WATCH
++
++/*
++ * Log begin and end of the important handlers.
++ */
++
++#undef BLOCKS
++
++#ifdef WATCH
++#include "unistd.h"
++#endif
++
++#ifdef TEST
++#include "Literals.h"
+ #endif
+
+ #define mskcnt ((MAXCLIENTS + 31) / 32)
+@@ -138,6 +225,28 @@
+ int NumCurrentSelections;
+ CallbackListPtr SelectionCallback = NULL;
+
++#ifdef VIEWPORT_FRAME
++
++extern WindowPtr nxagentViewportFrameLeft;
++extern WindowPtr nxagentViewportFrameRight;
++extern WindowPtr nxagentViewportFrameAbove;
++extern WindowPtr nxagentViewportFrameBelow;
++
++#define IsViewportFrame(pWin) ((pWin) == nxagentViewportFrameLeft || \
++ (pWin) == nxagentViewportFrameRight || \
++ (pWin) == nxagentViewportFrameAbove || \
++ (pWin) == nxagentViewportFrameBelow)
++
++#else
++
++#define IsViewportFrame(pWin) (0)
++
++#endif /* #ifdef VIEWPORT_FRAME */
++
++extern int nxagentMaxAllowedResets;
++
++extern int nxagentFindClientResource(int, RESTYPE, pointer);
++
+ static ClientPtr grabClient;
+ #define GrabNone 0
+ #define GrabActive 1
+@@ -222,6 +331,30 @@
+ xfree(CurrentSelections);
+ CurrentSelections = (Selection *)NULL;
+ NumCurrentSelections = 0;
++
++#ifdef NXAGENT_CLIPBOARD
++ {
++ Selection *newsels;
++ newsels = (Selection *)xalloc(2 * sizeof(Selection));
++ if (!newsels)
++ return;
++ NumCurrentSelections += 2;
++ CurrentSelections = newsels;
++
++ CurrentSelections[0].selection = XA_PRIMARY;
++ CurrentSelections[0].lastTimeChanged = ClientTimeToServerTime(0);
++ CurrentSelections[0].window = WindowTable[0]->drawable.id;
++ CurrentSelections[0].pWin = NULL;
++ CurrentSelections[0].client = NullClient;
++
++ CurrentSelections[1].selection = MakeAtom("CLIPBOARD", 9, 1);
++ CurrentSelections[1].lastTimeChanged = ClientTimeToServerTime(0);
++ CurrentSelections[1].window = WindowTable[0]->drawable.id;
++ CurrentSelections[1].pWin = NULL;
++ CurrentSelections[1].client = NullClient;
++ }
++#endif
++
+ }
+
+ void
+@@ -369,14 +502,72 @@
+ long start_tick;
+ #endif
+
++ unsigned long currentDispatch = 0;
++
+ nextFreeClientID = 1;
+ InitSelections();
+ nClients = 0;
+
++ /*
++ * The agent initialization was successfully
++ * completed. We can now handle our clients.
++ */
++
++ #ifdef XKB
++
++ nxagentInitXkbWrapper();
++
++ nxagentTuneXkbWrapper();
++
++ #endif
++
++ #ifdef NXAGENT_ONSTART
++
++ /*
++ * Set NX_WM property (used by NX client to identify
++ * the agent's window) three seconds since the first
++ * client connects.
++ */
++
++ nxagentWMtimeout = GetTimeInMillis() + 3000;
++
++ #endif
++
+ clientReady = (int *) ALLOCATE_LOCAL(sizeof(int) * MaxClients);
+ if (!clientReady)
+ return;
+
++ #ifdef WATCH
++
++ fprintf(stderr, "Dispatch: Watchpoint 12.\n");
++
++/*
++Reply Total Cached Bits In Bits Out Bits/Reply Ratio
++------- ----- ------ ------- -------- ---------- -----
++#3 1 352 bits (0 KB) -> 236 bits (0 KB) -> 352/1 -> 236/1 = 1.492:1
++#14 1 256 bits (0 KB) -> 101 bits (0 KB) -> 256/1 -> 101/1 = 2.535:1
++#16 1 256 bits (0 KB) -> 26 bits (0 KB) -> 256/1 -> 26/1 = 9.846:1
++#20 2 2 12256 bits (1 KB) -> 56 bits (0 KB) -> 6128/1 -> 28/1 = 218.857:1
++#43 1 256 bits (0 KB) -> 45 bits (0 KB) -> 256/1 -> 45/1 = 5.689:1
++#47 2 2 42304 bits (5 KB) -> 49 bits (0 KB) -> 21152/1 -> 24/1 = 863.347:1
++#98 1 256 bits (0 KB) -> 34 bits (0 KB) -> 256/1 -> 34/1 = 7.529:1
++*/
++
++ sleep(30);
++
++ #endif
++
++ #ifdef TEST
++ fprintf(stderr, "Dispatch: Value of dispatchException is [%x].\n",
++ dispatchException);
++
++ fprintf(stderr, "Dispatch: Value of dispatchExceptionAtReset is [%x].\n",
++ dispatchExceptionAtReset);
++ #endif
++
++ if (!(dispatchException & DE_TERMINATE))
++ dispatchException = 0;
++
+ while (!dispatchException)
+ {
+ if (*icheck[0] != *icheck[1])
+@@ -385,8 +576,75 @@
+ FlushIfCriticalOutputPending();
+ }
+
++ /*
++ * Ensure we remove the splash after the timeout.
++ * Initializing clientReady[0] to -1 will tell
++ * WaitForSomething() to yield control after the
++ * timeout set in clientReady[1].
++ */
++
++ clientReady[0] = 0;
++
++ if (nxagentSplashWindow != None || (nxagentOption(Xdmcp) == 1 && nxagentXdmcpUp == 0))
++ {
++ #ifdef TEST
++ fprintf(stderr, "******Dispatch: Requesting a timeout of [%d] Ms.\n",
++ NXAGENT_WAKEUP);
++ #endif
++
++ clientReady[0] = -1;
++ clientReady[1] = NXAGENT_WAKEUP;
++ }
++
++ if (serverGeneration > nxagentMaxAllowedResets &&
++ nxagentSessionState == SESSION_STARTING &&
++ (nxagentOption(Xdmcp) == 0 || nxagentXdmcpUp == 1))
++ {
++ #ifdef NX_DEBUG_INPUT
++ fprintf(stderr, "Session: Session started at '%s' timestamp [%lu].\n",
++ GetTimeAsString(), GetTimeInMillis());
++ #else
++ fprintf(stderr, "Session: Session started at '%s'.\n",
++ GetTimeAsString());
++ #endif
++
++ nxagentSessionState = SESSION_UP;
++ }
++
++ #ifdef BLOCKS
++ fprintf(stderr, "[End dispatch]\n");
++ #endif
++
+ nready = WaitForSomething(clientReady);
+
++ #ifdef BLOCKS
++ fprintf(stderr, "[Begin dispatch]\n");
++ #endif
++
++ #ifdef TEST
++ fprintf(stderr, "******Dispatch: Running with [%d] clients ready.\n",
++ nready);
++ #endif
++
++ #ifdef NXAGENT_ONSTART
++
++ currentDispatch = GetTimeInMillis();
++
++ /*
++ * If the timeout is expired set the
++ * selection informing the NX client
++ * that the agent is ready.
++ */
++
++ if (!nxagentWMPassed && (nxagentWMtimeout < currentDispatch))
++ {
++ nxagentRemoveSplashWindow(NULL);
++ }
++
++ nxagentClients = nClients;
++
++ #endif
++
+ #ifdef SMART_SCHEDULE
+ if (nready && !SmartScheduleDisable)
+ {
+@@ -438,6 +696,11 @@
+ #endif
+ /* now, finally, deal with client requests */
+
++ #ifdef TEST
++ fprintf(stderr, "******Dispatch: Reading request from client [%d].\n",
++ client->index);
++ #endif
++
+ result = ReadRequestFromClient(client);
+ if (result <= 0)
+ {
+@@ -445,6 +708,29 @@
+ CloseDownClient(client);
+ break;
+ }
++#ifdef NXAGENT_SERVER
++
++ #ifdef TEST
++
++ else
++ {
++
++ if (MAJOROP > 127)
++ {
++ fprintf(stderr, "******Dispatch: Read [Extension] request OPCODE#%d MINOR#%d "
++ "size [%d] client [%d].\n", MAJOROP, *((char *) client->requestBuffer + 1),
++ client->req_len << 2, client->index);
++ }
++ else
++ {
++ fprintf(stderr, "******Dispatch: Read [%s] request OPCODE#%d size [%d] client [%d].\n",
++ nxagentRequestLiteral[MAJOROP], MAJOROP, client->req_len << 2,
++ client->index);
++ }
++ }
++
++ #endif
++#endif
+
+ client->sequence++;
+ #ifdef DEBUG
+@@ -456,8 +742,40 @@
+ if (result > (maxBigRequestSize << 2))
+ result = BadLength;
+ else
++#ifdef NXAGENT_SERVER
++ {
++ result = (* client->requestVector[MAJOROP])(client);
++
++ #ifdef TEST
++
++ if (MAJOROP > 127)
++ {
++ fprintf(stderr, "******Dispatch: Handled [Extension] request OPCODE#%d MINOR#%d "
++ "size [%d] client [%d] result [%d].\n", MAJOROP,
++ *((char *) client->requestBuffer + 1), client->req_len << 2,
++ client->index, result);
++ }
++ else
++ {
++ fprintf(stderr, "******Dispatch: Handled [%s] request OPCODE#%d size [%d] client [%d] "
++ "result [%d].\n", nxagentRequestLiteral[MAJOROP], MAJOROP,
++ client->req_len << 2, client->index, result);
++ }
++
++ #endif
++
++ /*
++ * Can set isItTimeToYield to force
++ * the dispatcher to pay attention
++ * to another client.
++ */
++
++ nxagentDispatchHandler(client, client->req_len << 2, 0);
++ }
++#else
+ result = (* client->requestVector[MAJOROP])(client);
+-
++#endif
++
+ if (result != Success)
+ {
+ if (client->noClientException != Success)
+@@ -485,6 +803,37 @@
+ #if defined(DDXBEFORERESET)
+ ddxBeforeReset ();
+ #endif
++ if ((dispatchException & DE_RESET) &&
++ (serverGeneration > nxagentMaxAllowedResets))
++ {
++ dispatchException &= ~DE_RESET;
++ dispatchException |= DE_TERMINATE;
++
++ fprintf(stderr, "Info: Reached threshold of maximum allowed resets.\n");
++ }
++
++ nxagentResetAtomMap();
++
++ if (serverGeneration > nxagentMaxAllowedResets)
++ {
++ /*
++ * The session is terminating. Force an I/O
++ * error on the display and wait until the
++ * NX transport is gone.
++ */
++
++ fprintf(stderr, "Session: Terminating session at '%s'.\n", GetTimeAsString());
++
++ nxagentWaitDisplay();
++
++ fprintf(stderr, "Session: Session terminated at '%s'.\n", GetTimeAsString());
++ }
++
++ if (nxagentOption(Shadow) == 1)
++ {
++ NXShadowDestroy();
++ }
++
+ KillAllClients();
+ DEALLOCATE_LOCAL(clientReady);
+ dispatchException &= ~DE_RESET;
+@@ -656,6 +1005,12 @@
+ SecurityWriteAccess);
+ if (!pWin)
+ return(BadWindow);
++
++ if (!nxagentWMPassed)
++ {
++ nxagentRemoveSplashWindow(pWin);
++ }
++
+ pParent = (WindowPtr)SecurityLookupWindow(stuff->parent, client,
+ SecurityWriteAccess);
+ if (!pParent)
+@@ -724,6 +1079,7 @@
+ return(BadWindow);
+ UnmapWindow(pWin, FALSE);
+ /* update cache to say it is mapped */
++
+ return(client->noClientException);
+ }
+
+@@ -760,6 +1116,7 @@
+ return BadLength;
+ result = ConfigureWindow(pWin, (Mask)stuff->mask, (XID *) &stuff[1],
+ client);
++
+ if (client->noClientException != Success)
+ return(client->noClientException);
+ else
+@@ -865,7 +1222,12 @@
+ reply.parent = (Window)None;
+ pHead = RealChildHead(pWin);
+ for (pChild = pWin->lastChild; pChild != pHead; pChild = pChild->prevSib)
++ {
++ if (!IsViewportFrame(pChild))
++ {
+ numChildren++;
++ }
++ }
+ if (numChildren)
+ {
+ int curChild = 0;
+@@ -874,7 +1236,12 @@
+ if (!childIDs)
+ return BadAlloc;
+ for (pChild = pWin->lastChild; pChild != pHead; pChild = pChild->prevSib)
++ {
++ if (!IsViewportFrame(pChild))
++ {
+ childIDs[curChild++] = pChild->drawable.id;
++ }
++ }
+ }
+
+ reply.nChildren = numChildren;
+@@ -1038,6 +1405,16 @@
+ info.kind= SelectionSetOwner;
+ CallCallbacks(&SelectionCallback, &info);
+ }
++
++#ifdef NXAGENT_CLIPBOARD
++ if ((CurrentSelections[i].pWin != NULL) &&
++ (nxagentOption(Clipboard) != ClipboardNone) &&
++ ((CurrentSelections[i].selection == XA_PRIMARY) ||
++ (CurrentSelections[i].selection == MakeAtom("CLIPBOARD", 9, 0))))
++ {
++ nxagentSetSelectionOwner(&CurrentSelections[i]);
++ }
++#endif
+ return (client->noClientException);
+ }
+ else
+@@ -1092,6 +1469,27 @@
+ if (!pWin)
+ return(BadWindow);
+
++#ifdef NXAGENT_CLIPBOARD
++ if (((stuff->selection == XA_PRIMARY) ||
++ (stuff->selection == MakeAtom("CLIPBOARD", 9, 0))) &&
++ nxagentOption(Clipboard) != ClipboardNone)
++ {
++ int i = 0;
++
++ while ((i < NumCurrentSelections) &&
++ CurrentSelections[i].selection != stuff->selection) i++;
++
++ if ((i < NumCurrentSelections) && (CurrentSelections[i].window != None))
++ {
++ if (nxagentConvertSelection(client, pWin, stuff->selection, stuff->requestor,
++ stuff->property, stuff->target, stuff->time))
++ {
++ return (client->noClientException);
++ }
++ }
++ }
++#endif
++
+ paramsOkay = (ValidAtom(stuff->selection) && ValidAtom(stuff->target));
+ if (stuff->property != None)
+ paramsOkay &= ValidAtom(stuff->property);
+@@ -1103,7 +1501,7 @@
+ while ((i < NumCurrentSelections) &&
+ CurrentSelections[i].selection != stuff->selection) i++;
+ if ((i < NumCurrentSelections) &&
+- (CurrentSelections[i].window != None)
++ (CurrentSelections[i].window != None) && (CurrentSelections[i].client != NullClient)
+ #ifdef XCSECURITY
+ && (!client->CheckAccess ||
+ (* client->CheckAccess)(client, CurrentSelections[i].window,
+@@ -1286,11 +1684,26 @@
+ ProcOpenFont(register ClientPtr client)
+ {
+ int err;
++ char fontReq[256];
+ REQUEST(xOpenFontReq);
+
+ REQUEST_FIXED_SIZE(xOpenFontReq, stuff->nbytes);
+ client->errorValue = stuff->fid;
+ LEGAL_NEW_RESOURCE(stuff->fid, client);
++
++ memcpy(fontReq,(char *)&stuff[1],(stuff->nbytes<256)?stuff->nbytes:255);
++ fontReq[stuff->nbytes]=0;
++ if (strchr(fontReq,'*') || strchr(fontReq,'?'))
++ {
++ extern int nxOpenFont(ClientPtr, XID, Mask, unsigned, char*);
++#ifdef NXAGENT_FONTMATCH_DEBUG
++ fprintf(stderr, "Dispatch: ProcOpenFont try to find a common font with font pattern=%s\n",fontReq);
++#endif
++ nxagentListRemoteFonts(fontReq, nxagentMaxFontNames);
++ err = nxOpenFont(client, stuff->fid, (Mask) 0,
++ stuff->nbytes, (char *)&stuff[1]);
++ }
++ else
+ err = OpenFont(client, stuff->fid, (Mask) 0,
+ stuff->nbytes, (char *)&stuff[1]);
+ if (err == Success)
+@@ -1310,8 +1723,43 @@
+ REQUEST_SIZE_MATCH(xResourceReq);
+ pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT,
+ SecurityDestroyAccess);
+- if ( pFont != (FontPtr)NULL) /* id was valid */
++ if (pFont != (FontPtr)NULL)
+ {
++ #ifdef NXAGENT_SERVER
++
++ /*
++ * When a client closes a font the resource
++ * should not be lost if the reference counter
++ * is not 0, otherwise the server will not be
++ * able to find this font looping through the
++ * resources.
++ */
++
++ if (pFont -> refcnt > 0)
++ {
++ if (nxagentFindClientResource(serverClient -> index, RT_NX_FONT, pFont) == 0)
++ {
++ #ifdef TEST
++ fprintf(stderr, "ProcCloseFont: Switching resource for font at [%p].\n",
++ (void *) pFont);
++ #endif
++
++ nxagentFontPriv(pFont) -> mirrorID = FakeClientID(serverClient -> index);
++
++ AddResource(nxagentFontPriv(pFont) -> mirrorID, RT_NX_FONT, pFont);
++
++ }
++ #ifdef TEST
++ else
++ {
++ fprintf(stderr, "ProcCloseFont: Found duplicated font at [%p], "
++ "resource switching skipped.\n", (void *) pFont);
++ }
++ #endif
++ }
++
++ #endif
++
+ FreeResource(stuff->id, RT_NONE);
+ return(client->noClientException);
+ }
+@@ -1332,6 +1780,8 @@
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ client->errorValue = stuff->id; /* EITHER font or gc */
++
++ pFont = NULL;
+ pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT,
+ SecurityReadAccess);
+ if (!pFont)
+@@ -1347,6 +1797,33 @@
+ pFont = pGC->font;
+ }
+
++/* test
++{
++ Atom name_atom, value_atom;
++ int nprops;
++ FontPropPtr props;
++ int i;
++ char *name;
++
++ name_atom = MakeAtom("FONT", 4, True);
++ value_atom = 0L;
++
++ nprops = pFont->info.nprops;
++ props = pFont->info.props;
++
++ for (i = 0; i < nprops; i++)
++ if (props[i].name == name_atom) {
++ value_atom = props[i].value;
++ break;
++ }
++
++ if (!value_atom) return (BadFont);
++
++ name = (char *)NameForAtom(value_atom);
++ fprintf(stderr, "QueryFont: font name [%s]\n",name);
++}
++ end test */
++
+ {
+ xCharInfo *pmax = FONTINKMAX(pFont);
+ xCharInfo *pmin = FONTINKMIN(pFont);
+@@ -1364,6 +1841,7 @@
+ rlength = sizeof(xQueryFontReply) +
+ FONTINFONPROPS(FONTCHARSET(pFont)) * sizeof(xFontProp) +
+ nprotoxcistructs * sizeof(xCharInfo);
++ reply = NULL;
+ reply = (xQueryFontReply *)ALLOCATE_LOCAL(rlength);
+ if(!reply)
+ {
+@@ -1434,10 +1912,18 @@
+ int
+ ProcListFonts(register ClientPtr client)
+ {
++ char tmp[256];
++
+ REQUEST(xListFontsReq);
+
+ REQUEST_FIXED_SIZE(xListFontsReq, stuff->nbytes);
++ memcpy(tmp,(unsigned char *) &stuff[1],(stuff->nbytes<256)?stuff->nbytes:255);
++ tmp[stuff->nbytes]=0;
+
++#ifdef NXAGENT_FONTMATCH_DEBUG
++ fprintf(stderr, "Dispatch: ListFont request with pattern %s max_names=%d\n",tmp,stuff->maxNames);
++#endif
++ nxagentListRemoteFonts(tmp, stuff -> maxNames < nxagentMaxFontNames ? nxagentMaxFontNames : stuff->maxNames);
+ return ListFonts(client, (unsigned char *) &stuff[1], stuff->nbytes,
+ stuff->maxNames);
+ }
+@@ -1445,10 +1931,18 @@
+ int
+ ProcListFontsWithInfo(register ClientPtr client)
+ {
++ char tmp[256];
+ REQUEST(xListFontsWithInfoReq);
+
+ REQUEST_FIXED_SIZE(xListFontsWithInfoReq, stuff->nbytes);
+
++ memcpy(tmp,(unsigned char *) &stuff[1],(stuff->nbytes<256)?stuff->nbytes:255);
++ tmp[stuff->nbytes]=0;
++#ifdef NXAGENT_FONTMATCH_DEBUG
++ fprintf(stderr, "Dispatch: ListFont with info request with pattern %s max_names=%d\n",tmp,stuff->maxNames);
++#endif
++ nxagentListRemoteFonts(tmp, stuff -> maxNames < nxagentMaxFontNames ? nxagentMaxFontNames :stuff->maxNames);
++
+ return StartListFontsWithInfo(client, stuff->nbytes,
+ (unsigned char *) &stuff[1], stuff->maxNames);
+ }
+@@ -1535,6 +2029,40 @@
+ SecurityDestroyAccess);
+ if (pMap)
+ {
++ #ifdef NXAGENT_SERVER
++
++ /*
++ * When a client releases a pixmap the resource
++ * should not be lost if the reference counter
++ * is not 0, otherwise the server will not be
++ * able to find this pixmap looping through the
++ * resources.
++ */
++
++ if (pMap -> refcnt > 0)
++ {
++ if (nxagentFindClientResource(serverClient -> index, RT_NX_PIXMAP, pMap) == 0)
++ {
++ #ifdef TEST
++ fprintf(stderr, "ProcFreePixmap: Switching resource for pixmap at [%p].\n",
++ (void *) pMap);
++ #endif
++
++ nxagentPixmapPriv(pMap) -> mid = FakeClientID(serverClient -> index);
++
++ AddResource(nxagentPixmapPriv(pMap) -> mid, RT_NX_PIXMAP, pMap);
++ }
++ #ifdef TEST
++ else
++ {
++ fprintf(stderr, "ProcFreePixmap: Found duplicated pixmap at [%p], "
++ "resource switching skipped.\n", (void *) pMap);
++ }
++ #endif
++ }
++
++ #endif
++
+ FreeResource(stuff->id, RT_NONE);
+ return(client->noClientException);
+ }
+@@ -1819,8 +2347,10 @@
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, pGC, client);
+ npoint = ((client->req_len << 2) - sizeof(xPolyPointReq)) >> 2;
+ if (npoint)
++ {
+ (*pGC->ops->PolyPoint)(pDraw, pGC, stuff->coordMode, npoint,
+ (xPoint *) &stuff[1]);
++ }
+ return (client->noClientException);
+ }
+
+@@ -1842,8 +2372,10 @@
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, pGC, client);
+ npoint = ((client->req_len << 2) - sizeof(xPolyLineReq)) >> 2;
+ if (npoint > 1)
++ {
+ (*pGC->ops->Polylines)(pDraw, pGC, stuff->coordMode, npoint,
+ (DDXPointPtr) &stuff[1]);
++ }
+ return(client->noClientException);
+ }
+
+@@ -1862,7 +2394,9 @@
+ return(BadLength);
+ nsegs >>= 3;
+ if (nsegs)
++ {
+ (*pGC->ops->PolySegment)(pDraw, pGC, nsegs, (xSegment *) &stuff[1]);
++ }
+ return (client->noClientException);
+ }
+
+@@ -1881,8 +2415,10 @@
+ return(BadLength);
+ nrects >>= 3;
+ if (nrects)
++ {
+ (*pGC->ops->PolyRectangle)(pDraw, pGC,
+ nrects, (xRectangle *) &stuff[1]);
++ }
+ return(client->noClientException);
+ }
+
+@@ -1901,7 +2437,9 @@
+ return(BadLength);
+ narcs /= sizeof(xArc);
+ if (narcs)
++ {
+ (*pGC->ops->PolyArc)(pDraw, pGC, narcs, (xArc *) &stuff[1]);
++ }
+ return (client->noClientException);
+ }
+
+@@ -1930,9 +2468,11 @@
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, pGC, client);
+ things = ((client->req_len << 2) - sizeof(xFillPolyReq)) >> 2;
+ if (things)
++ {
+ (*pGC->ops->FillPolygon) (pDraw, pGC, stuff->shape,
+ stuff->coordMode, things,
+ (DDXPointPtr) &stuff[1]);
++ }
+ return(client->noClientException);
+ }
+
+@@ -1952,8 +2492,10 @@
+ things >>= 3;
+
+ if (things)
++ {
+ (*pGC->ops->PolyFillRect) (pDraw, pGC, things,
+ (xRectangle *) &stuff[1]);
++ }
+ return (client->noClientException);
+ }
+
+@@ -1972,7 +2514,9 @@
+ return(BadLength);
+ narcs /= sizeof(xArc);
+ if (narcs)
++ {
+ (*pGC->ops->PolyFillArc) (pDraw, pGC, narcs, (xArc *) &stuff[1]);
++ }
+ return (client->noClientException);
+ }
+
+@@ -3127,7 +3671,14 @@
+ stuff->backRed, stuff->backGreen, stuff->backBlue);
+
+ if (pCursor && AddResource(stuff->cid, RT_CURSOR, (pointer)pCursor))
++ {
++ #ifdef TEST
++ fprintf(stderr, "ProcCreateCursor: Created cursor at [%p].\n", (void *) pCursor);
++ #endif
++
+ return (client->noClientException);
++ }
++
+ return BadAlloc;
+ }
+
+@@ -3243,25 +3794,68 @@
+ return BadValue;
+ }
+
+- if (blankingOption == DefaultBlanking)
++ /*
++ * The NX agent uses the screen saver procedure
++ * to monitor the user activities and launch its
++ * handlers (like timeout feature), so we can't
++ * always allow the clients to change our values.
++ */
++
++ #ifdef TEST
++ fprintf(stderr, "ProcSetScreenSaver: Called with timeout [%d] interval [%d] Blanking [%d] Exposure [%d].\n",
++ stuff -> timeout, stuff -> interval, blankingOption, exposureOption);
++ #endif
++
++ if (nxagentOption(Timeout) == 0)
++ {
++ if (blankingOption == DefaultBlanking)
++ {
+ ScreenSaverBlanking = defaultScreenSaverBlanking;
+- else
++ }
++ else
++ {
+ ScreenSaverBlanking = blankingOption;
+- if (exposureOption == DefaultExposures)
++ }
++
++ if (exposureOption == DefaultExposures)
++ {
+ ScreenSaverAllowExposures = defaultScreenSaverAllowExposures;
+- else
+- ScreenSaverAllowExposures = exposureOption;
++ }
++ else
++ {
++ ScreenSaverAllowExposures = exposureOption;
++ }
++
++ if (stuff->timeout >= 0)
++ {
++ ScreenSaverTime = stuff->timeout * MILLI_PER_SECOND;
++ }
++ else
++ {
++ ScreenSaverTime = defaultScreenSaverTime;
++ }
++
++ if (stuff->interval >= 0)
++ {
++ ScreenSaverInterval = stuff->interval * MILLI_PER_SECOND;
++ }
++ else
++ {
++ ScreenSaverInterval = defaultScreenSaverInterval;
++ }
++
++ SetScreenSaverTimer();
++ }
++ #ifdef TEST
+
+- if (stuff->timeout >= 0)
+- ScreenSaverTime = stuff->timeout * MILLI_PER_SECOND;
+- else
+- ScreenSaverTime = defaultScreenSaverTime;
+- if (stuff->interval >= 0)
+- ScreenSaverInterval = stuff->interval * MILLI_PER_SECOND;
+ else
+- ScreenSaverInterval = defaultScreenSaverInterval;
++ {
++ fprintf(stderr, "ProcSetScreenSaver: Keeping auto-disconnect timeout set to [%d] seconds.\n",
++ nxagentOption(Timeout));
++ }
++
++ #endif
+
+- SetScreenSaverTimer();
+ return (client->noClientException);
+ }
+
+@@ -3481,7 +4075,30 @@
+ client->errorValue = stuff->mode;
+ return BadValue;
+ }
+- SaveScreens(SCREEN_SAVER_FORCER, (int)stuff->mode);
++
++ /*
++ * The NX agent uses the screen saver procedure
++ * to monitor the user activities and launch its
++ * handlers (like timeout feature), so we can't
++ * always allow the clients to force the screen
++ * saver handler execution.
++ */
++
++ if (nxagentOption(Timeout) == 0)
++ {
++ SaveScreens(SCREEN_SAVER_FORCER, (int)stuff->mode);
++ }
++
++ #ifdef TEST
++
++ else
++ {
++ fprintf(stderr, "ProcForceScreenSaver: Ignoring the client request with mode [%d].\n",
++ stuff -> mode);
++ }
++
++ #endif
++
+ return client->noClientException;
+ }
+
+@@ -3525,14 +4142,34 @@
+ * then killed again, the client is really destroyed.
+ *********************/
+
+-char dispatchExceptionAtReset = DE_RESET;
+-
+ void
+ CloseDownClient(register ClientPtr client)
+ {
+ Bool really_close_down = client->clientGone ||
+ client->closeDownMode == DestroyAll;
+
++ /*
++ * There must be a better way to hook a
++ * call-back function to be called any
++ * time a client is going to be closed.
++ */
++
++ nxagentClearClipboard(client, NULL);
++
++ /*
++ * Need to reset the karma counter and
++ * get rid of the pending sync replies.
++ */
++
++ nxagentWakeupByReset(client);
++
++ /*
++ * Check if the client
++ * is a shadow nxagent.
++ */
++
++ nxagentCheckIfShadowAgent(client);
++
+ if (!client->clientGone)
+ {
+ /* ungrab server if grabbing client dies */
+@@ -3673,7 +4310,7 @@
+ client->numSaved = 0;
+ client->saveSet = (SaveSetElt *)NULL;
+ client->noClientException = Success;
+-#ifdef DEBUG
++#ifdef LOG_DEBUG
+ client->requestLogIndex = 0;
+ #endif
+ client->requestVector = InitialVector;
+@@ -3746,6 +4383,13 @@
+ else
+ ppriv->ptr = (pointer)NULL;
+ }
++
++ /*
++ * Initialize the private members.
++ */
++
++ nxagentInitClientPrivates(client);
++
+ return 1;
+ }
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdixfonts.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdixfonts.c.X.original
new file mode 100644
index 000000000..f491948f0
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXdixfonts.c.X.original
@@ -0,0 +1,892 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c 2015-02-13 14:03:44.744441510 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XdotOrg: xc/programs/Xserver/dix/dixfonts.c,v 1.8 2005/07/03 08:53:38 daniels Exp $ */
+ /* $XFree86: xc/programs/Xserver/dix/dixfonts.c,v 3.28 2003/11/08 02:02:03 dawes Exp $ */
+ /************************************************************************
+@@ -68,12 +85,84 @@
+ #include "dixfontstr.h"
+ #include "closestr.h"
+
++/*
++#define NXAGENT_DEBUG
++*/
++
+ #ifdef DEBUG
+ #include <stdio.h>
+ #endif
+
++#include "Agent.h"
++#include "Font.h"
++
++#ifndef NX_TRANS_SOCKET
++
++#define NX_TRANS_SOCKET
++
++#endif
++
++#ifdef NX_TRANS_SOCKET
++
++char _NXFontPath[1024];
++
++/*
++ * Override the default font path and make
++ * it configurable at run time, based on
++ * the NX_FONT environment.
++ */
++
++static const char *_NXGetFontPath(const char *path)
++{
++ const char *fontEnv;
++
++ /*
++ * Check the environment only once.
++ */
++
++ if (*_NXFontPath != '\0')
++ {
++ return _NXFontPath;
++ }
++
++ fontEnv = getenv("NX_FONT");
++
++ if (fontEnv != NULL && *fontEnv != '\0')
++ {
++ if (strlen(fontEnv) + 1 > 1024)
++ {
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetFontPath: WARNING! Maximum length of font path exceeded.\n");
++#endif
++ goto _NXGetFontPathError;
++ }
++
++ strcpy(_NXFontPath, fontEnv);
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetFontPath: Using NX font path [%s].\n", _NXFontPath);
++#endif
++
++ return _NXFontPath;
++ }
++
++_NXGetFontPathError:
++
++ strncpy(_NXFontPath, path, 1023);
++ _NXFontPath[1023] = '\0';
++
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetFontPath: Using default font path [%s].\n", _NXFontPath);
++#endif
++
++ return _NXFontPath;
++}
++
++#endif
++
+ #ifdef PANORAMIX
+-#include "panoramiX.h"
++#include "../../Xext/panoramiX.h"
++#include "../../Xext/panoramiXsrv.h"
+ #endif
+
+ #ifdef LBX
+@@ -245,6 +334,9 @@
+ *newname;
+ int newlen;
+ int aliascount = 20;
++ char nxagentOrigFontName[256];
++ int nxagentOrigFontNameLen;
++
+ /*
+ * Decide at runtime what FontFormat to use.
+ */
+@@ -276,6 +368,13 @@
+
+ BitmapFormatScanlineUnit8;
+
++
++ nxagentOrigFontNameLen = (c -> origFontNameLen < 256) ? c -> origFontNameLen : 255;
++
++ memcpy(nxagentOrigFontName, c -> origFontName, nxagentOrigFontNameLen);
++
++ nxagentOrigFontName[nxagentOrigFontNameLen] = 0;
++
+ if (client->clientGone)
+ {
+ if (c->current_fpe < c->num_fpes)
+@@ -324,6 +423,9 @@
+ if (!c->slept) {
+ c->slept = TRUE;
+ ClientSleep(client, (ClientSleepProcPtr)doOpenFont, (pointer) c);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doOpenFont: client [%lx] sleeping.\n", client);
++#endif
+ }
+ return TRUE;
+ }
+@@ -352,10 +454,15 @@
+ pScr = screenInfo.screens[i];
+ if (pScr->RealizeFont)
+ {
+- if (!(*pScr->RealizeFont) (pScr, pfont))
++
++ /* NXAGENT uses useless screen pointer to pass the original font name
++ * to realizeFont, could be a source of problems in the future.
++ */
++
++ if (!(*pScr->RealizeFont) ((ScreenPtr)nxagentOrigFontName, pfont))
+ {
+ CloseFont (pfont, (Font) 0);
+- err = AllocError;
++ err=BadFontName;
+ goto bail;
+ }
+ }
+@@ -365,8 +472,19 @@
+ err = AllocError;
+ goto bail;
+ }
++ if( nxagentFontPriv(pfont) -> mirrorID == 0 )
++ {
++ extern RESTYPE RT_NX_FONT;
++
++ nxagentFontPriv(pfont) -> mirrorID = FakeClientID(0);
++ if (!AddResource(nxagentFontPriv(pfont) -> mirrorID, RT_NX_FONT, (pointer) pfont)) {
++ FreeResource(c->fontid, RT_NONE);
++ err = AllocError;
++ goto bail;
++ }
++ }
+ if (patternCache && pfont != c->non_cachable_font)
+- CacheFontPattern(patternCache, c->origFontName, c->origFontNameLen,
++ CacheFontPattern(patternCache, nxagentOrigFontName, nxagentOrigFontNameLen,
+ pfont);
+ bail:
+ if (err != Successful && c->client != serverClient) {
+@@ -374,7 +492,12 @@
+ c->fontid, FontToXError(err));
+ }
+ if (c->slept)
++ {
+ ClientWakeup(c->client);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doOpenFont: client [%lx] wakeup.\n", client);
++#endif
++ }
+ for (i = 0; i < c->num_fpes; i++) {
+ FreeFPE(c->fpe_list[i]);
+ }
+@@ -502,7 +625,10 @@
+ LbxFreeFontTag(pfont);
+ #endif
+ #ifdef XF86BIGFONT
+- XF86BigfontFreeFontShm(pfont);
++ {
++ extern void XF86BigfontFreeFontShm(FontPtr);
++ XF86BigfontFreeFontShm(pfont);
++ }
+ #endif
+ fpe = pfont->fpe;
+ (*fpe_functions[fpe->type].close_font) (fpe, pfont);
+@@ -631,6 +757,9 @@
+ ClientSleep(client,
+ (ClientSleepProcPtr)doListFontsAndAliases,
+ (pointer) c);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doListFont (1): client [%lx] sleeping.\n", client);
++#endif
+ }
+ return TRUE;
+ }
+@@ -677,6 +806,12 @@
+ (ClientSleepProcPtr)doListFontsAndAliases,
+ (pointer) c);
+ c->slept = TRUE;
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doListFont (2): client [%lx] sleeping.\n", client);
++#endif
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doListFont (3): client [%lx] sleeping.\n", client);
++#endif
+ }
+ return TRUE;
+ }
+@@ -813,6 +948,24 @@
+ reply.nFonts--;
+ else
+ {
++ {
++ /* dirty hack: don't list to client fonts not existing on the remote side */
++ char tmp[256];
++
++ memcpy(tmp, names->names[i], names->length[i]);
++ tmp[ names->length[i] ] = 0;
++
++ if (nxagentFontLookUp(tmp) == 0)
++ {
++#ifdef NXAGENT_FONTMATCH_DEBUG
++ fprintf(stderr, "doListFontsAndAliases:\n");
++ fprintf(stderr, " removing font: %s \n", tmp);
++#endif
++ reply.nFonts--;
++ stringLens -= names->length[i];
++ continue;
++ }
++ }
+ *bufptr++ = names->length[i];
+ memmove( bufptr, names->names[i], names->length[i]);
+ bufptr += names->length[i];
+@@ -827,7 +980,12 @@
+
+ bail:
+ if (c->slept)
++ {
+ ClientWakeup(client);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doListFont: client [%lx] wakeup.\n", client);
++#endif
++ }
+ for (i = 0; i < c->num_fpes; i++)
+ FreeFPE(c->fpe_list[i]);
+ xfree(c->fpe_list);
+@@ -862,7 +1020,7 @@
+ xfree(c);
+ return BadAlloc;
+ }
+- c->names = MakeFontNamesRecord(max_names < 100 ? max_names : 100);
++ c->names = MakeFontNamesRecord(max_names < nxagentMaxFontNames ? max_names : nxagentMaxFontNames);
+ if (!c->names)
+ {
+ xfree(c->fpe_list);
+@@ -933,6 +1091,9 @@
+ {
+ ClientSleep(client, (ClientSleepProcPtr)doListFontsWithInfo, c);
+ c->slept = TRUE;
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doListFontWinfo (1): client [%lx] sleeping.\n", client);
++#endif
+ }
+ return TRUE;
+ }
+@@ -954,6 +1115,9 @@
+ (ClientSleepProcPtr)doListFontsWithInfo,
+ c);
+ c->slept = TRUE;
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doListFontWinfo (2): client [%lx] sleeping.\n", client);
++#endif
+ }
+ return TRUE;
+ }
+@@ -1035,6 +1199,23 @@
+ }
+ else if (err == Successful)
+ {
++
++ if (c->haveSaved)
++ {
++ numFonts = c->savedNumFonts;
++ name = c->savedName;
++ namelen = strlen(name);
++ }
++
++ if (nxagentFontLookUp(name) == 0)
++ {
++#ifdef NXAGENT_FONTMATCH_DEBUG
++ fprintf(stderr, "doListFontsAndAliases (with info):\n");
++ fprintf(stderr, " removing font: %s \n", name);
++#endif
++ continue;
++ }
++
+ length = sizeof(*reply) + pFontInfo->nprops * sizeof(xFontProp);
+ reply = c->reply;
+ if (c->length < length)
+@@ -1048,12 +1229,6 @@
+ c->reply = reply;
+ c->length = length;
+ }
+- if (c->haveSaved)
+- {
+- numFonts = c->savedNumFonts;
+- name = c->savedName;
+- namelen = strlen(name);
+- }
+ reply->type = X_Reply;
+ reply->length = (sizeof *reply - sizeof(xGenericReply) +
+ pFontInfo->nprops * sizeof(xFontProp) +
+@@ -1100,7 +1275,12 @@
+ WriteSwappedDataToClient(client, length, &finalReply);
+ bail:
+ if (c->slept)
++ {
+ ClientWakeup(client);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doListFontWinfo: client [%lx] wakeup.\n", client);
++#endif
++ }
+ for (i = 0; i < c->num_fpes; i++)
+ FreeFPE(c->fpe_list[i]);
+ xfree(c->reply);
+@@ -1347,6 +1527,11 @@
+ err = BadAlloc;
+ goto bail;
+ }
++
++ pGC->tileIsPixel = TRUE;
++ pGC->tile.pixel = 0;
++ pGC->stipple = NullPixmap;
++
+ if ((err = CopyGC(c->pGC, pGC, GCFunction |
+ GCPlaneMask | GCForeground |
+ GCBackground | GCFillStyle |
+@@ -1371,6 +1556,9 @@
+ ClientSleep(client,
+ (ClientSleepProcPtr)doPolyText,
+ (pointer) c);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doPolyText (1): client [%lx] sleeping.\n", client);
++#endif
+
+ /* Set up to perform steps 3 and 4 */
+ client_state = START_SLEEP;
+@@ -1419,6 +1607,9 @@
+ if (c->slept)
+ {
+ ClientWakeup(c->client);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doPolytext: client [%lx] wakeup.\n", client);
++#endif
+ ChangeGC(c->pGC, clearGCmask, clearGC);
+
+ /* Unreference the font from the scratch GC */
+@@ -1535,6 +1726,11 @@
+ err = BadAlloc;
+ goto bail;
+ }
++
++ pGC->tileIsPixel = TRUE;
++ pGC->tile.pixel = 0;
++ pGC->stipple = NullPixmap;
++
+ if ((err = CopyGC(c->pGC, pGC, GCFunction | GCPlaneMask |
+ GCForeground | GCBackground | GCFillStyle |
+ GCTile | GCStipple | GCTileStipXOrigin |
+@@ -1553,6 +1749,10 @@
+
+ c->slept = TRUE;
+ ClientSleep(client, (ClientSleepProcPtr)doImageText, (pointer) c);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doImageText (1): client [%lx] sleeping.\n", client);
++#endif
++
+ }
+ return TRUE;
+ }
+@@ -1575,6 +1775,9 @@
+ if (c->slept)
+ {
+ ClientWakeup(c->client);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: doImageText: client [%lx] wakeup.\n", client);
++#endif
+ ChangeGC(c->pGC, clearGCmask, clearGC);
+
+ /* Unreference the font from the scratch GC */
+@@ -1751,11 +1954,13 @@
+ err = (*fpe_functions[fpe->type].init_fpe) (fpe);
+ if (err != Successful)
+ {
++ #ifndef NXAGENT_SERVER
+ if (persist)
+ {
+ ErrorF("Could not init font path element %s, removing from list!\n",
+ fpe->name);
+ }
++ #endif
+ xfree (fpe->name);
+ xfree (fpe);
+ }
+@@ -1817,11 +2022,19 @@
+ bad;
+
+ /* get enough for string, plus values -- use up commas */
++#ifdef NX_TRANS_SOCKET
++ len = strlen(_NXGetFontPath(path)) + 1;
++#else
+ len = strlen(path) + 1;
++#endif
+ nump = cp = newpath = (unsigned char *) ALLOCATE_LOCAL(len);
+ if (!newpath)
+ return BadAlloc;
++#ifdef NX_TRANS_SOCKET
++ pp = (unsigned char *) _NXGetFontPath(path);
++#else
+ pp = (unsigned char *) path;
++#endif
+ cp++;
+ while (*pp) {
+ if (*pp == ',') {
+@@ -2148,3 +2361,445 @@
+ }
+
+ #endif
++
++
++typedef struct
++{
++ LFclosurePtr c;
++ OFclosurePtr oc;
++} nxFs,*nxFsPtr;
++
++static Bool
++#if NeedFunctionPrototypes
++nxdoListFontsAndAliases(ClientPtr client, nxFsPtr fss)
++#else
++nxdoListFontsAndAliases(client, fss)
++ ClientPtr client;
++ nxFsPtr fss;
++#endif
++{
++ LFclosurePtr c=fss->c;
++ OFclosurePtr oc=fss->oc;
++ FontPathElementPtr fpe;
++ int err = Successful;
++ char *name, *resolved=NULL;
++ int namelen, resolvedlen;
++ int i;
++ int aliascount = 0;
++ char tmp[256];
++ tmp[0]=0;
++ if (client->clientGone)
++ {
++ if (c->current.current_fpe < c->num_fpes)
++ {
++ fpe = c->fpe_list[c->current.current_fpe];
++ (*fpe_functions[fpe->type].client_died) ((pointer) client, fpe);
++ }
++ err = Successful;
++ goto bail;
++ }
++
++ if (!c->current.patlen)
++ goto finish;
++
++ while (c->current.current_fpe < c->num_fpes) {
++ fpe = c->fpe_list[c->current.current_fpe];
++ err = Successful;
++
++ if (!fpe_functions[fpe->type].start_list_fonts_and_aliases)
++ {
++ /* This FPE doesn't support/require list_fonts_and_aliases */
++
++ err = (*fpe_functions[fpe->type].list_fonts)
++ ((pointer) c->client, fpe, c->current.pattern,
++ c->current.patlen, c->current.max_names - c->names->nnames,
++ c->names);
++
++ if (err == Suspended) {
++ if (!c->slept) {
++ c->slept = TRUE;
++ ClientSleep(client,
++ (ClientSleepProcPtr)nxdoListFontsAndAliases,
++ (pointer) fss);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: nxdoListFont (1): client [%lx] sleeping.\n", client);
++#endif
++ }
++ return TRUE;
++ }
++
++ err = BadFontName;
++ }
++ else
++ {
++ /* Start of list_fonts_and_aliases functionality. Modeled
++ after list_fonts_with_info in that it resolves aliases,
++ except that the information collected from FPEs is just
++ names, not font info. Each list_next_font_or_alias()
++ returns either a name into name/namelen or an alias into
++ name/namelen and its target name into resolved/resolvedlen.
++ The code at this level then resolves the alias by polling
++ the FPEs. */
++
++ if (!c->current.list_started) {
++ err = (*fpe_functions[fpe->type].start_list_fonts_and_aliases)
++ ((pointer) c->client, fpe, c->current.pattern,
++ c->current.patlen, c->current.max_names - c->names->nnames,
++ &c->current.private);
++ if (err == Suspended) {
++ if (!c->slept) {
++ ClientSleep(client,
++ (ClientSleepProcPtr)nxdoListFontsAndAliases,
++ (pointer) fss);
++ c->slept = TRUE;
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: nxdoListFont (2): client [%lx] sleeping.\n", client);
++#endif
++ }
++ return TRUE;
++ }
++ if (err == Successful)
++ c->current.list_started = TRUE;
++ }
++ if (err == Successful) {
++ char *tmpname;
++ name = 0;
++ err = (*fpe_functions[fpe->type].list_next_font_or_alias)
++ ((pointer) c->client, fpe, &name, &namelen, &tmpname,
++ &resolvedlen, c->current.private);
++ if (err == Suspended) {
++ if (!c->slept) {
++ ClientSleep(client,
++ (ClientSleepProcPtr)nxdoListFontsAndAliases,
++ (pointer) fss);
++ c->slept = TRUE;
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: nxdoListFont (3): client [%lx] sleeping.\n", client);
++#endif
++ }
++ return TRUE;
++ }
++ if (err == FontNameAlias) {
++ if (resolved) xfree(resolved);
++ resolved = (char *) xalloc(resolvedlen + 1);
++ if (resolved)
++ {
++ memmove(resolved, tmpname, resolvedlen);
++ resolved[resolvedlen] = '\0';
++ }
++ }
++ }
++
++ if (err == Successful)
++ {
++ if (c->haveSaved)
++ {
++ if (c->savedName)
++ {
++ memcpy(tmp,c->savedName,c->savedNameLen>255?255:c->savedNameLen);
++ tmp[c->savedNameLen>255?256:c->savedNameLen]=0;
++ if (nxagentFontLookUp(tmp))
++ break;
++ else tmp[0]=0;
++ }
++ }
++ else
++ {
++ memcpy(tmp,name,namelen>255?255:namelen);
++ tmp[namelen>255?256:namelen]=0;
++ if (nxagentFontLookUp(tmp))
++ break;
++ else tmp[0]=0;
++ }
++ }
++
++ /*
++ * When we get an alias back, save our state and reset back to
++ * the start of the FPE looking for the specified name. As
++ * soon as a real font is found for the alias, pop back to the
++ * old state
++ */
++ else if (err == FontNameAlias) {
++ char tmp_pattern[XLFDMAXFONTNAMELEN];
++ /*
++ * when an alias recurses, we need to give
++ * the last FPE a chance to clean up; so we call
++ * it again, and assume that the error returned
++ * is BadFontName, indicating the alias resolution
++ * is complete.
++ */
++ memmove(tmp_pattern, resolved, resolvedlen);
++ if (c->haveSaved)
++ {
++ char *tmpname;
++ int tmpnamelen;
++
++ tmpname = 0;
++ (void) (*fpe_functions[fpe->type].list_next_font_or_alias)
++ ((pointer) c->client, fpe, &tmpname, &tmpnamelen,
++ &tmpname, &tmpnamelen, c->current.private);
++ if (--aliascount <= 0)
++ {
++ err = BadFontName;
++ goto ContBadFontName;
++ }
++ }
++ else
++ {
++ c->saved = c->current;
++ c->haveSaved = TRUE;
++ if (c->savedName)
++ xfree(c->savedName);
++ c->savedName = (char *)xalloc(namelen + 1);
++ if (c->savedName)
++ {
++ memmove(c->savedName, name, namelen);
++ c->savedName[namelen] = '\0';
++ }
++ c->savedNameLen = namelen;
++ aliascount = 20;
++ }
++ memmove(c->current.pattern, tmp_pattern, resolvedlen);
++ c->current.patlen = resolvedlen;
++ c->current.max_names = c->names->nnames + 1;
++ c->current.current_fpe = -1;
++ c->current.private = 0;
++ err = BadFontName;
++ }
++ }
++ /*
++ * At the end of this FPE, step to the next. If we've finished
++ * processing an alias, pop state back. If we've collected enough
++ * font names, quit.
++ */
++ if (err == BadFontName) {
++ ContBadFontName: ;
++ c->current.list_started = FALSE;
++ c->current.current_fpe++;
++ err = Successful;
++ if (c->haveSaved)
++ {
++ if (c->names->nnames == c->current.max_names ||
++ c->current.current_fpe == c->num_fpes) {
++ c->haveSaved = FALSE;
++ c->current = c->saved;
++ /* Give the saved namelist a chance to clean itself up */
++ continue;
++ }
++ }
++ if (c->names->nnames == c->current.max_names)
++ break;
++ }
++ }
++
++ /*
++ * send the reply
++ */
++bail:
++finish:
++ if (strlen(tmp))
++ {
++#ifdef NXAGENT_FONTMATCH_DEBUG
++ fprintf(stderr, "nxListFont changed (0) font to %s\n",tmp);
++#endif
++ memcpy(oc->fontname, tmp, strlen(tmp));
++ oc->fnamelen = strlen(tmp);
++
++ oc->origFontName = oc->fontname;
++ oc->origFontNameLen = oc->fnamelen;
++
++ }
++ else
++ {
++ for (i = 0; i < c->names->nnames; i++)
++ {
++ if (c->names->length[i] > 255)
++ continue;
++ else
++ {
++ memcpy(tmp, c->names->names[i], c->names->length[i]);
++ tmp[ c->names->length[i] ] = 0;
++ if (nxagentFontLookUp(tmp) == 0)
++ continue;
++ memcpy(oc->fontname, tmp, strlen(tmp));
++ oc->fnamelen = strlen(tmp);
++
++ oc->origFontName = oc->fontname;
++ oc->origFontNameLen = oc->fnamelen;
++
++#ifdef NXAGENT_FONTMATCH_DEBUG
++ fprintf(stderr, "nxListFont changed (1) font to %s\n",tmp);
++#endif
++ break;
++ }
++ }
++ }
++
++ if (c->slept)
++ {
++ ClientWakeup(client);
++#ifdef NXAGENT_DEBUG
++ fprintf(stderr, " NXdixfonts: nxdoListFont: client [%lx] wakeup.\n", client);
++#endif
++ }
++ for (i = 0; i < c->num_fpes; i++)
++ FreeFPE(c->fpe_list[i]);
++ xfree(c->fpe_list);
++ if (c->savedName) xfree(c->savedName);
++ FreeFontNames(c->names);
++ xfree(c);
++ xfree(fss);
++ if (resolved) xfree(resolved);
++
++ return doOpenFont(client, oc);
++}
++
++int
++nxOpenFont(client, fid, flags, lenfname, pfontname)
++ ClientPtr client;
++ XID fid;
++ Mask flags;
++ unsigned lenfname;
++ char *pfontname;
++{
++ nxFsPtr fss;
++ LFclosurePtr c;
++ OFclosurePtr oc;
++ int i;
++ FontPtr cached = (FontPtr)0;
++
++#ifdef FONTDEBUG
++ char *f;
++ f = (char *)xalloc(lenfname + 1);
++ memmove(f, pfontname, lenfname);
++ f[lenfname] = '\0';
++ ErrorF("OpenFont: fontname is \"%s\"\n", f);
++ xfree(f);
++#endif
++ if (!lenfname || lenfname > XLFDMAXFONTNAMELEN)
++ return BadName;
++ if (patternCache)
++ {
++
++ /*
++ ** Check name cache. If we find a cached version of this font that
++ ** is cachable, immediately satisfy the request with it. If we find
++ ** a cached version of this font that is non-cachable, we do not
++ ** satisfy the request with it. Instead, we pass the FontPtr to the
++ ** FPE's open_font code (the fontfile FPE in turn passes the
++ ** information to the rasterizer; the fserve FPE ignores it).
++ **
++ ** Presumably, the font is marked non-cachable because the FPE has
++ ** put some licensing restrictions on it. If the FPE, using
++ ** whatever logic it relies on, determines that it is willing to
++ ** share this existing font with the client, then it has the option
++ ** to return the FontPtr we passed it as the newly-opened font.
++ ** This allows the FPE to exercise its licensing logic without
++ ** having to create another instance of a font that already exists.
++ */
++
++ cached = FindCachedFontPattern(patternCache, pfontname, lenfname);
++ if (cached && cached->info.cachable)
++ {
++ if (!AddResource(fid, RT_FONT, (pointer) cached))
++ return BadAlloc;
++ cached->refcnt++;
++ return Success;
++ }
++ }
++ if (!(fss = (nxFsPtr) xalloc(sizeof(nxFs))))
++ return BadAlloc;
++
++ if (!(c = (LFclosurePtr) xalloc(sizeof *c)))
++ {
++ xfree(fss);
++ return BadAlloc;
++ }
++ c->fpe_list = (FontPathElementPtr *)
++ xalloc(sizeof(FontPathElementPtr) * num_fpes);
++ if (!c->fpe_list) {
++ xfree(c);
++ xfree(fss);
++ return BadAlloc;
++ }
++ c->names = MakeFontNamesRecord(100);
++ if (!c->names)
++ {
++ xfree(c->fpe_list);
++ xfree(c);
++ xfree(fss);
++ return BadAlloc;
++ }
++ memmove( c->current.pattern, pfontname, lenfname);
++ for (i = 0; i < num_fpes; i++) {
++ c->fpe_list[i] = font_path_elements[i];
++ UseFPE(c->fpe_list[i]);
++ }
++ c->client = client;
++ c->num_fpes = num_fpes;
++ c->current.patlen = lenfname;
++ c->current.current_fpe = 0;
++ c->current.max_names = nxagentMaxFontNames;
++ c->current.list_started = FALSE;
++ c->current.private = 0;
++ c->haveSaved = FALSE;
++ c->slept = FALSE;
++ c->savedName = 0;
++
++ oc = (OFclosurePtr) xalloc(sizeof(OFclosureRec));
++ if (!oc)
++ {
++ for (i = 0; i < c->num_fpes; i++)
++ FreeFPE(c->fpe_list[i]);
++ xfree(c->fpe_list);
++ xfree(c);
++ xfree(fss);
++ return BadAlloc;
++ }
++ oc->fontname = (char *) xalloc(256);/* I don't want to deal with future reallocs errors */
++ oc->origFontName = pfontname;
++ oc->origFontNameLen = lenfname;
++ if (!oc->fontname) {
++ for (i = 0; i < c->num_fpes; i++)
++ FreeFPE(c->fpe_list[i]);
++ xfree(c->fpe_list);
++ xfree(c);
++ xfree(oc);
++ xfree(fss);
++ return BadAlloc;
++ }
++ /*
++ * copy the current FPE list, so that if it gets changed by another client
++ * while we're blocking, the request still appears atomic
++ */
++ oc->fpe_list = (FontPathElementPtr *)
++ xalloc(sizeof(FontPathElementPtr) * num_fpes);
++ if (!oc->fpe_list) {
++ xfree(oc->fontname);
++ xfree(oc);
++ for (i = 0; i < c->num_fpes; i++)
++ FreeFPE(c->fpe_list[i]);
++ xfree(c->fpe_list);
++ xfree(c);
++ xfree(fss);
++ return BadAlloc;
++ }
++ memmove(oc->fontname, pfontname, lenfname);
++ for (i = 0; i < num_fpes; i++) {
++ oc->fpe_list[i] = font_path_elements[i];
++ UseFPE(oc->fpe_list[i]);
++ }
++ oc->client = client;
++ oc->fontid = fid;
++ oc->current_fpe = 0;
++ oc->num_fpes = num_fpes;
++ oc->fnamelen = lenfname;
++ oc->slept = FALSE;
++ oc->flags = flags;
++ oc->non_cachable_font = cached;
++ fss->c=c;
++ fss->oc=oc;
++ nxdoListFontsAndAliases(client, fss);
++ return Success;
++}
++
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXevents.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXevents.c.X.original
new file mode 100644
index 000000000..f2f9e37ee
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXevents.c.X.original
@@ -0,0 +1,648 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c 2015-02-10 19:13:13.788686485 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XdotOrg: xc/programs/Xserver/dix/events.c,v 1.17 2005/08/25 22:11:04 anholt Exp $ */
+ /* $XFree86: xc/programs/Xserver/dix/events.c,v 3.51 2004/01/12 17:04:52 tsi Exp $ */
+ /************************************************************
+@@ -116,6 +133,7 @@
+ #endif
+
+ #include <X11/X.h>
++#include "Xlib.h"
+ #include "misc.h"
+ #include "resource.h"
+ #define NEED_EVENTS
+@@ -163,7 +181,22 @@
+
+ #include "dixevents.h"
+ #include "dixgrabs.h"
+-#include "dispatch.h"
++#include "../../dix/dispatch.h"
++
++#include "NXlib.h"
++
++#include "Events.h"
++#include "Windows.h"
++#include "Args.h"
++
++#ifdef NX_DEBUG_INPUT
++extern int nxagentDebugInput;
++extern int nxagentDebugInputDevices;
++#endif
++
++extern Display *nxagentDisplay;
++
++extern WindowPtr nxagentLastEnteredWindow;
+
+ #define EXTENSION_EVENT_BASE 64
+
+@@ -1322,6 +1355,51 @@
+ mouse->fromPassiveGrab = autoGrab;
+ PostNewCursor();
+ CheckGrabForSyncs(mouse,(Bool)grab->pointerMode, (Bool)grab->keyboardMode);
++
++ #ifdef NXAGENT_SERVER
++
++ /*
++ * If grab is synchronous, events are delivered to clients only if they send
++ * an AllowEvent request. If mode field in AllowEvent request is SyncPointer, the
++ * delivered event is saved in a queue and replayed later, when grab is released.
++ * We should export sync grab to X as async in order to avoid events to be
++ * queued twice, in the agent and in the X server. This solution have a drawback:
++ * replayed events are not delivered to that application that are not clients of
++ * the agent.
++ * A different solution could be to make the grab asynchronous in the agent and
++ * to export it as synchronous. But this seems to be less safe.
++ *
++ * To make internal grab asynchronous, change previous line as follows.
++ *
++ * if (nxagentOption(Rootless))
++ * {
++ * CheckGrabForSyncs(mouse, GrabModeAsync, (Bool)grab->keyboardMode);
++ * }
++ * else
++ * {
++ * CheckGrabForSyncs(mouse,(Bool)grab->pointerMode, (Bool)grab->keyboardMode);
++ * }
++ */
++
++ if (nxagentOption(Rootless) == 1)
++ {
++ /*
++ * FIXME: We should use the correct value
++ * for the cursor. Temporarily we set it
++ * to None.
++ */
++
++ int resource = nxagentWaitForResource(NXGetCollectGrabPointerResource,
++ nxagentCollectGrabPointerPredicate);
++
++ NXCollectGrabPointer(nxagentDisplay, resource, nxagentWindow(grab -> window),
++ 1, grab -> eventMask & PointerGrabMask,
++ GrabModeAsync, GrabModeAsync, (grab -> confineTo) ?
++ nxagentWindow(grab -> confineTo) : None,
++ None, CurrentTime);
++ }
++
++ #endif
+ }
+
+ void
+@@ -1346,6 +1424,22 @@
+ if (grab->cursor)
+ FreeCursor(grab->cursor, (Cursor)0);
+ ComputeFreezes();
++
++ #ifdef NXAGENT_SERVER
++
++ if (nxagentOption(Rootless) == 1)
++ {
++ XUngrabPointer(nxagentDisplay, CurrentTime);
++
++ if (sprite.win == ROOT)
++ {
++ mouse -> button -> state &=
++ ~(Button1Mask | Button2Mask | Button3Mask |
++ Button4Mask | Button5Mask);
++ }
++ }
++
++ #endif
+ }
+
+ void
+@@ -1546,6 +1640,17 @@
+ client->errorValue = stuff->mode;
+ return BadValue;
+ }
++
++ /*
++ * This is not necessary if we export grab to X as asynchronous.
++ *
++ * if (nxagentOption(Rootless) && stuff -> mode != ReplayKeyboard &&
++ * stuff -> mode != SyncKeyboard && stuff -> mode != AsyncKeyboard)
++ * {
++ * XAllowEvents(nxagentDisplay, stuff -> mode, CurrentTime);
++ * }
++ */
++
+ return Success;
+ }
+
+@@ -1582,11 +1687,28 @@
+ int i;
+ int type;
+
+-#ifdef DEBUG
++#ifdef NX_DEBUG_INPUT
++ if (grab && nxagentDebugInput && grab->window)
++ {
++ fprintf(stderr, "TryClientEvents: Grab window is [0x%x].\n",
++ (unsigned int)grab->window->drawable.id);
++ if (!SameClient(grab, client))
++ fprintf(stderr, "TryClientEvents: Events are going to be "
++ "discarded.\n");
++ }
++#endif
++#if defined(DEBUG) || defined(NX_DEBUG_INPUT)
++#ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInput == 1)
++ fprintf(stderr, "Event([%d, %d], mask=0x%x), client=%d",
++ pEvents->u.u.type, pEvents->u.u.detail, (unsigned int)mask,
++ client->index);
++#else
+ if (debug_events) ErrorF(
+ "Event([%d, %d], mask=0x%x), client=%d",
+ pEvents->u.u.type, pEvents->u.u.detail, mask, client->index);
+ #endif
++#endif
+ if ((client) && (client != serverClient) && (!client->clientGone) &&
+ ((filter == CantBeFiltered) || (mask & filter)))
+ {
+@@ -1600,10 +1722,17 @@
+ if (WID(inputInfo.pointer->valuator->motionHintWindow) ==
+ pEvents->u.keyButtonPointer.event)
+ {
+-#ifdef DEBUG
++#if defined(DEBUG) || defined(NX_DEBUG_INPUT)
++#ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInput == 1)
++ {
++ fprintf(stderr,"\nmotionHintWindow == keyButtonPointer.event\n");
++ }
++#else
+ if (debug_events) ErrorF("\n");
+ fprintf(stderr,"motionHintWindow == keyButtonPointer.event\n");
+ #endif
++#endif
+ return 1; /* don't send, but pretend we did */
+ }
+ pEvents->u.u.detail = NotifyHint;
+@@ -1640,16 +1769,26 @@
+ }
+
+ WriteEventsToClient(client, count, pEvents);
+-#ifdef DEBUG
++#if defined(DEBUG) || defined(NX_DEBUG_INPUT)
++#ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInput == 1)
++ fprintf(stderr, " delivered\n");
++#else
+ if (debug_events) ErrorF( " delivered\n");
+ #endif
++#endif
+ return 1;
+ }
+ else
+ {
+-#ifdef DEBUG
++#if defined(DEBUG) || defined(NX_DEBUG_INPUT)
++#ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInput == 1)
++ fprintf(stderr, "\n");
++#else
+ if (debug_events) ErrorF("\n");
+ #endif
++#endif
+ return 0;
+ }
+ }
+@@ -1727,6 +1866,12 @@
+ tempGrab.pointerMode = GrabModeAsync;
+ tempGrab.confineTo = NullWindow;
+ tempGrab.cursor = NullCursor;
++ #ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "DeliverEventsToWindow: Activating passive grab on pointer.\n");
++ }
++ #endif
+ (*inputInfo.pointer->ActivateGrab)(inputInfo.pointer, &tempGrab,
+ currentTime, TRUE);
+ }
+@@ -1999,7 +2144,26 @@
+ BoxRec box;
+
+ spriteTraceGood = 1; /* root window still there */
+- pWin = ROOT->firstChild;
++
++ if (nxagentOption(Rootless))
++ {
++ if (nxagentLastEnteredWindow == NULL)
++ {
++ return ROOT;
++ }
++
++ pWin = ROOT->lastChild;
++
++ while (pWin && pWin != ROOT->firstChild && pWin != nxagentLastEnteredWindow)
++ {
++ pWin = pWin->prevSib;
++ }
++ }
++ else
++ {
++ pWin = ROOT->firstChild;
++ }
++
+ while (pWin)
+ {
+ if ((pWin->mapped) &&
+@@ -2090,13 +2254,22 @@
+ ConfineToShape(sprite.hotShape, &sprite.hot.x, &sprite.hot.y);
+ #endif
+ sprite.hotPhys = sprite.hot;
+- if ((sprite.hotPhys.x != XE_KBPTR.rootX) ||
+- (sprite.hotPhys.y != XE_KBPTR.rootY))
+- {
+- (*sprite.hotPhys.pScreen->SetCursorPosition)(
+- sprite.hotPhys.pScreen,
+- sprite.hotPhys.x, sprite.hotPhys.y, FALSE);
+- }
++
++ /*
++ * This code force cursor position to be inside the
++ * root window of the agent. We can't view a reason
++ * to do this and it interacts in an undesirable way
++ * with toggling fullscreen.
++ *
++ * if ((sprite.hotPhys.x != XE_KBPTR.rootX) ||
++ * (sprite.hotPhys.y != XE_KBPTR.rootY))
++ * {
++ * (*sprite.hotPhys.pScreen->SetCursorPosition)(
++ * sprite.hotPhys.pScreen,
++ * sprite.hotPhys.x, sprite.hotPhys.y, FALSE);
++ * }
++ */
++
+ XE_KBPTR.rootX = sprite.hot.x;
+ XE_KBPTR.rootY = sprite.hot.y;
+ }
+@@ -2176,6 +2349,10 @@
+ DefineInitialRootWindow(register WindowPtr win)
+ {
+ register ScreenPtr pScreen = win->drawable.pScreen;
++ #ifdef VIEWPORT_FRAME
++ extern void nxagentInitViewportFrame(ScreenPtr, WindowPtr);
++ #endif
++ extern int nxagentShadowInit(ScreenPtr, WindowPtr);
+
+ sprite.hotPhys.pScreen = pScreen;
+ sprite.hotPhys.x = pScreen->width / 2;
+@@ -2215,6 +2392,18 @@
+ REGION_NULL(pScreen, &sprite.Reg2);
+ }
+ #endif
++
++ #ifdef VIEWPORT_FRAME
++ nxagentInitViewportFrame(pScreen, win);
++ #endif
++
++ if (nxagentOption(Shadow))
++ {
++ if (nxagentShadowInit(pScreen, win) == -1)
++ {
++ FatalError("Failed to connect to display '%s'", nxagentShadowDisplayName);
++ }
++ }
+ }
+
+ /*
+@@ -2553,6 +2742,13 @@
+ tempGrab.modifiersDetail.exact&(~0x1f00);
+ }
+ #endif
++ #ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "CheckPassiveGrabsOnWindow: Activating passive grab on %s.\n",
++ device == inputInfo.keyboard ? "keyboard" : "pointer");
++ }
++ #endif
+ (*device->ActivateGrab)(device, grab, currentTime, TRUE);
+
+ FixUpEventFromWindow(xE, grab->window, None, TRUE);
+@@ -2911,7 +3107,17 @@
+ else
+ DeliverFocusedEvent(keybd, xE, sprite.win, count);
+ if (deactivateGrab)
++ #ifdef NX_DEBUG_INPUT
++ {
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcessKeyboardEvent: Deactivating grab on keyboard.\n");
++ }
++ #endif
+ (*keybd->DeactivateGrab)(keybd);
++ #ifdef NX_DEBUG_INPUT
++ }
++ #endif
+ }
+
+ #ifdef XKB
+@@ -2961,7 +3167,9 @@
+ Bool deactivateGrab = FALSE;
+ register ButtonClassPtr butc = mouse->button;
+ #ifdef XKB
+- XkbSrvInfoPtr xkbi= inputInfo.keyboard->key->xkbInfo;
++ XkbSrvInfoPtr xkbi;
++
++ xkbi = inputInfo.keyboard->key->xkbInfo;
+ #endif
+ #ifdef XEVIE
+ if(xevieFlag && clients[xevieClientIndex] && !xeviegrabState &&
+@@ -2970,6 +3178,12 @@
+ xevieEventSent = 0;
+ else {
+ xeviemouse = mouse;
++ #ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInput == 1)
++ {
++ fprintf(stderr, "ProcessPointerEvent: Going to send XEVIE event.\n");
++ }
++ #endif
+ WriteToClient(clients[xevieClientIndex], sizeof(xEvent), (char *)xE);
+ return;
+ }
+@@ -3024,14 +3238,38 @@
+ #if !defined(XFree86Server) || !defined(XINPUT)
+ xE->u.u.detail = butc->map[key];
+ #endif
++ #ifdef NX_DEBUG_INPUT
++ if (xE->u.u.detail == 0)
++ {
++ if (nxagentDebugInput == 1)
++ {
++ fprintf(stderr, "ProcessPointerEvent: WARNING! detail == 0"
++ " for ButtonPress.\n");
++ }
++ return;
++ }
++ #else
+ if (xE->u.u.detail == 0)
+ return;
++ #endif
+ if (xE->u.u.detail <= 5)
+ butc->state |= (Button1Mask >> 1) << xE->u.u.detail;
+ filters[MotionNotify] = Motion_Filter(butc);
+ if (!grab)
++ #ifdef NX_DEBUG_INPUT
++ if (CheckDeviceGrabs(mouse, xE, 0, count))
++ {
++ if (nxagentDebugInput == 1)
++ {
++ fprintf(stderr, "ProcessPointerEvent: CheckDeviceGrabs"
++ " returned True for ButtonPress.\n");
++ }
++ return;
++ }
++ #else
+ if (CheckDeviceGrabs(mouse, xE, 0, count))
+ return;
++ #endif
+ break;
+ case ButtonRelease:
+ mouse->valuator->motionHintWindow = NullWindow;
+@@ -3043,8 +3281,20 @@
+ #if !defined(XFree86Server) || !defined(XINPUT)
+ xE->u.u.detail = butc->map[key];
+ #endif
++ #ifdef NX_DEBUG_INPUT
+ if (xE->u.u.detail == 0)
++ {
++ if (nxagentDebugInput == 1)
++ {
++ fprintf(stderr, "ProcessPointerEvent: WARNING! detail == 0"
++ " for ButtonRelease.\n");
++ }
+ return;
++ }
++ #else
++ if (xE->u.u.detail == 0)
++ return;
++ #endif
+ if (xE->u.u.detail <= 5)
+ butc->state &= ~((Button1Mask >> 1) << xE->u.u.detail);
+ filters[MotionNotify] = Motion_Filter(butc);
+@@ -3055,6 +3305,36 @@
+ FatalError("bogus pointer event from ddx");
+ }
+ }
++ #ifdef NX_DEBUG_INPUT
++ else if (!CheckMotion(xE))
++ {
++ if (nxagentDebugInput == 1)
++ {
++ fprintf(stderr, "ProcessPointerEvent: CheckMotion returned False"
++ " for MotionNotify.\n");
++ }
++ return;
++ }
++ if (grab)
++ {
++ if (nxagentDebugInput == 1)
++ {
++ fprintf(stderr, "ProcessPointerEvent: Going to deliver grabbed "
++ "events (count = %d).\n", count);
++ }
++ DeliverGrabbedEvent(xE, mouse, deactivateGrab, count);
++ }
++ else
++ {
++ if (nxagentDebugInput == 1)
++ {
++ fprintf(stderr, "ProcessPointerEvent: Going to deliver device "
++ "events (count = %d).\n", count);
++ }
++ DeliverDeviceEvents(sprite.win, xE, NullGrab, NullWindow,
++ mouse, count);
++ }
++ #else
+ else if (!CheckMotion(xE))
+ return;
+ if (grab)
+@@ -3062,8 +3342,19 @@
+ else
+ DeliverDeviceEvents(sprite.win, xE, NullGrab, NullWindow,
+ mouse, count);
++ #endif
+ if (deactivateGrab)
++ #ifdef NX_DEBUG_INPUT
++ {
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcessPointerEvent: Deactivating grab on pointer.\n");
++ }
++ #endif
+ (*mouse->DeactivateGrab)(mouse);
++ #ifdef NX_DEBUG_INPUT
++ }
++ #endif
+ }
+
+ #define AtMostOneClient \
+@@ -3784,6 +4075,12 @@
+ pWin = SecurityLookupWindow(stuff->grabWindow, client, SecurityReadAccess);
+ if (!pWin)
+ return BadWindow;
++ #ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcGrabPointer: pWin [%p] client [%d].\n", pWin, client -> index);
++ }
++ #endif
+ if (stuff->confineTo == None)
+ confineTo = NullWindow;
+ else
+@@ -3843,6 +4140,12 @@
+ tempGrab.keyboardMode = stuff->keyboardMode;
+ tempGrab.pointerMode = stuff->pointerMode;
+ tempGrab.device = device;
++ #ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcGrabPointer: Activating active grab on pointer.\n");
++ }
++ #endif
+ (*device->ActivateGrab)(device, &tempGrab, time, FALSE);
+ if (oldCursor)
+ FreeCursor (oldCursor, (Cursor)0);
+@@ -3906,6 +4209,12 @@
+ TimeStamp time;
+ REQUEST(xResourceReq);
+
++ #ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcUngrabPointer: client [%d].\n", client -> index);
++ }
++ #endif
+ REQUEST_SIZE_MATCH(xResourceReq);
+ UpdateCurrentTime();
+ grab = device->grab;
+@@ -3913,7 +4222,25 @@
+ if ((CompareTimeStamps(time, currentTime) != LATER) &&
+ (CompareTimeStamps(time, device->grabTime) != EARLIER) &&
+ (grab) && SameClient(grab, client))
++ #ifdef NX_DEBUG_INPUT
++ {
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcUngrabPointer: Deactivating grab on pointer.\n");
++ }
++ #endif
+ (*device->DeactivateGrab)(device);
++ #ifdef NX_DEBUG_INPUT
++ }
++ else
++ {
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcUngrabPointer: current time [%lu] request time [%lu] grab time [%lu].\n",
++ currentTime.milliseconds, time.milliseconds, device->grabTime.milliseconds);
++ }
++ }
++ #endif
+ return Success;
+ }
+
+@@ -3968,6 +4295,12 @@
+ tempGrab.pointerMode = other_mode;
+ tempGrab.eventMask = mask;
+ tempGrab.device = dev;
++ #ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "GrabDevice: Activating active grab on keyboard.\n");
++ }
++ #endif
+ (*dev->ActivateGrab)(dev, &tempGrab, time, FALSE);
+ *status = GrabSuccess;
+ }
+@@ -3981,6 +4314,12 @@
+ REQUEST(xGrabKeyboardReq);
+ int result;
+
++ #ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcGrabKeyboard: client [%d].\n", client -> index);
++ }
++ #endif
+ REQUEST_SIZE_MATCH(xGrabKeyboardReq);
+ #ifdef XCSECURITY
+ if (!SecurityCheckDeviceAccess(client, inputInfo.keyboard, TRUE))
+@@ -4011,6 +4350,12 @@
+ TimeStamp time;
+ REQUEST(xResourceReq);
+
++ #ifdef NX_DEBUG_INPUT
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcUngrabKeyboard: client [%d].\n", client -> index);
++ }
++ #endif
+ REQUEST_SIZE_MATCH(xResourceReq);
+ UpdateCurrentTime();
+ grab = device->grab;
+@@ -4018,7 +4363,25 @@
+ if ((CompareTimeStamps(time, currentTime) != LATER) &&
+ (CompareTimeStamps(time, device->grabTime) != EARLIER) &&
+ (grab) && SameClient(grab, client))
++ #ifdef NX_DEBUG_INPUT
++ {
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcUngrabKeyboard: Deactivating grab on keyboard.\n");
++ }
++ #endif
+ (*device->DeactivateGrab)(device);
++ #ifdef NX_DEBUG_INPUT
++ }
++ else
++ {
++ if (nxagentDebugInputDevices == 1)
++ {
++ fprintf(stderr, "ProcUngrabKeyboard: current time [%lu] request time [%lu] grab time [%lu].\n",
++ currentTime.milliseconds, time.milliseconds, device->grabTime.milliseconds);
++ }
++ }
++ #endif
+ return Success;
+ }
+
+@@ -4152,6 +4515,17 @@
+ /* The client's event type must be a core event type or one defined by an
+ extension. */
+
++
++#ifdef NXAGENT_CLIPBOARD
++
++ if (stuff -> event.u.u.type == SelectionNotify)
++ {
++ extern int nxagentSendNotify(xEvent*);
++ if (nxagentSendNotify(&stuff->event) == 1)
++ return Success;
++ }
++#endif
++
+ if ( ! ((stuff->event.u.u.type > X_Reply &&
+ stuff->event.u.u.type < LASTEvent) ||
+ (stuff->event.u.u.type >= EXTENSION_EVENT_BASE &&
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXextension.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXextension.c.X.original
new file mode 100644
index 000000000..84c5b130a
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXextension.c.X.original
@@ -0,0 +1,70 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c 2015-02-10 19:13:13.804685886 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/programs/Xserver/dix/extension.c,v 3.11 2001/12/14 19:59:31 dawes Exp $ */
+ /***********************************************************
+
+@@ -60,7 +77,7 @@
+ #include "extnsionst.h"
+ #include "gcstruct.h"
+ #include "scrnintstr.h"
+-#include "dispatch.h"
++#include "../../dix/dispatch.h"
+ #ifdef XCSECURITY
+ #define _SECURITY_SERVER
+ #include <X11/extensions/security.h>
+@@ -69,6 +86,8 @@
+ #include "lbxserve.h"
+ #endif
+
++#include "Trap.h"
++
+ #define EXTENSION_BASE 128
+ #define EXTENSION_EVENT_BASE 64
+ #define LAST_EVENT 128
+@@ -324,6 +343,13 @@
+ {
+ i = FindExtension((char *)&stuff[1], stuff->nbytes);
+ if (i < 0
++
++ /*
++ * Hide RENDER if our implementation
++ * is faulty.
++ */
++
++ || (nxagentRenderTrap && strcmp(extensions[i]->name, "RENDER") == 0)
+ #ifdef XCSECURITY
+ /* don't show insecure extensions to untrusted clients */
+ || (client->trustLevel == XSecurityClientUntrusted &&
+@@ -370,6 +396,14 @@
+ !extensions[i]->secure)
+ continue;
+ #endif
++ /*
++ * Hide RENDER if our implementation
++ * is faulty.
++ */
++
++ if (nxagentRenderTrap && strcmp(extensions[i]->name, "RENDER") == 0)
++ continue;
++
+ total_length += strlen(extensions[i]->name) + 1;
+ reply.nExtensions += 1 + extensions[i]->num_aliases;
+ for (j = extensions[i]->num_aliases; --j >= 0;)
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglxext.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglxext.c.X.original
new file mode 100644
index 000000000..a8dbfe0fd
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglxext.c.X.original
@@ -0,0 +1,118 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c 2015-02-10 19:13:13.808685737 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/programs/Xserver/GL/glx/glxext.c,v 1.9 2003/09/28 20:15:43 alanh Exp $
+ ** The contents of this file are subject to the GLX Public License Version 1.0
+ ** (the "License"). You may not use this file except in compliance with the
+@@ -33,6 +50,12 @@
+ #include "glxext.h"
+ #include "micmap.h"
+
++#include "Trap.h"
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
+
+ void GlxWrapInitVisuals(miInitVisualsProcPtr *);
+ void GlxSetVisualConfigs(int nconfigs,
+@@ -395,6 +418,8 @@
+ */
+ static int __glXDispatch(ClientPtr client)
+ {
++ int result;
++
+ REQUEST(xGLXSingleReq);
+ CARD8 opcode;
+ int (*proc)(__GLXclientState *cl, GLbyte *pc);
+@@ -444,11 +469,35 @@
+ ** Use the opcode to index into the procedure table.
+ */
+ proc = __glXSingleTable[opcode];
+- return (*proc)(cl, (GLbyte *) stuff);
++
++ /*
++ * Report upstream that we are
++ * dispatching a GLX operation.
++ */
++
++ nxagentGlxTrap = 1;
++
++ #ifdef TEST
++ fprintf(stderr, "__glXDispatch: Going to dispatch GLX operation [%d] for client [%d].\n",
++ opcode, client -> index);
++ #endif
++
++ result = (*proc)(cl, (GLbyte *) stuff);
++
++ nxagentGlxTrap = 0;
++
++ #ifdef TEST
++ fprintf(stderr, "__glXDispatch: Dispatched GLX operation [%d] for client [%d].\n",
++ opcode, client -> index);
++ #endif
++
++ return result;
+ }
+
+ static int __glXSwapDispatch(ClientPtr client)
+ {
++ int result;
++
+ REQUEST(xGLXSingleReq);
+ CARD8 opcode;
+ int (*proc)(__GLXclientState *cl, GLbyte *pc);
+@@ -490,7 +539,29 @@
+ ** Use the opcode to index into the procedure table.
+ */
+ proc = __glXSwapSingleTable[opcode];
+- return (*proc)(cl, (GLbyte *) stuff);
++
++ /*
++ * Report upstream that we are
++ * dispatching a GLX operation.
++ */
++
++ nxagentGlxTrap = 1;
++
++ #ifdef TEST
++ fprintf(stderr, "__glXDispatch: Going to dispatch GLX operation [%d] for client [%d].\n",
++ opcode, client -> index);
++ #endif
++
++ result = (*proc)(cl, (GLbyte *) stuff);
++
++ nxagentGlxTrap = 0;
++
++ #ifdef TEST
++ fprintf(stderr, "__glXDispatch: Dispatched GLX operation [%d] for client [%d].\n",
++ opcode, client -> index);
++ #endif
++
++ return result;
+ }
+
+ int __glXNoSuchSingleOpcode(__GLXclientState *cl, GLbyte *pc)
+@@ -502,4 +573,3 @@
+ {
+ return;
+ }
+-
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyph.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyph.c.X.original
new file mode 100644
index 000000000..8ac8e4662
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyph.c.X.original
@@ -0,0 +1,160 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c 2015-02-10 19:13:13.824685138 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /*
+ * $XFree86: xc/programs/Xserver/render/glyph.c,v 1.5 2001/01/30 07:01:22 keithp Exp $
+ *
+@@ -40,9 +57,25 @@
+ #include "dixstruct.h"
+ #include "gcstruct.h"
+ #include "servermd.h"
++
++#ifdef NXAGENT_SERVER
++
++#include "NXpicturestr.h"
++#include "NXglyphstr.h"
++#include "Render.h"
++
++#define PANIC
++#define WARNING
++#undef DEBUG
++#undef TEST
++
++#else
++
+ #include "picturestr.h"
+ #include "glyphstr.h"
+
++#endif
++
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #elif !defined(UINT32_MAX)
+@@ -293,7 +326,7 @@
+ gr->signature = hash;
+ globalGlyphs[glyphSet->fdepth].tableEntries++;
+ }
+-
++
+ /* Insert/replace glyphset value */
+ gr = FindGlyphRef (&glyphSet->hash, id, FALSE, 0);
+ ++glyph->refcnt;
+@@ -303,6 +336,13 @@
+ glyphSet->hash.tableEntries++;
+ gr->glyph = glyph;
+ gr->signature = id;
++
++ #ifdef NXAGENT_SERVER
++
++ gr -> corruptedGlyph = 1;
++
++ #endif
++
+ CheckDuplicates (&globalGlyphs[glyphSet->fdepth], "AddGlyph bottom");
+ }
+
+@@ -324,6 +364,36 @@
+ return FALSE;
+ }
+
++#ifdef NXAGENT_SERVER
++
++GlyphPtr FindGlyph (GlyphSetPtr glyphSet, Glyph id)
++{
++ GlyphRefPtr gr;
++ GlyphPtr glyph;
++
++ gr = FindGlyphRef (&glyphSet->hash, id, FALSE, 0);
++ glyph = gr -> glyph;
++
++ if (glyph == DeletedGlyph)
++ {
++ glyph = 0;
++ }
++ else if (gr -> corruptedGlyph == 1)
++ {
++ #ifdef DEBUG
++ fprintf(stderr, "FindGlyphRef: Going to synchronize the glyph [%p] for glyphset [%p].\n",
++ (void *) glyph, (void *) glyphSet);
++ #endif
++
++ nxagentAddGlyphs(glyphSet, &id, &(glyph -> info), 1,
++ (CARD8*)(glyph + 1), glyph -> size - sizeof(xGlyphInfo));
++ }
++
++ return glyph;
++}
++
++#else
++
+ GlyphPtr
+ FindGlyph (GlyphSetPtr glyphSet, Glyph id)
+ {
+@@ -335,6 +405,8 @@
+ return glyph;
+ }
+
++#endif
++
+ GlyphPtr
+ AllocateGlyph (xGlyphInfo *gi, int fdepth)
+ {
+@@ -379,6 +451,12 @@
+ int oldSize;
+ CARD32 s;
+
++ #ifdef NXAGENT_SERVER
++
++ CARD32 c;
++
++ #endif
++
+ tableEntries = hash->tableEntries + change;
+ hashSet = FindGlyphHashSet (tableEntries);
+ if (hashSet == hash->hashSet)
+@@ -396,9 +474,23 @@
+ if (glyph && glyph != DeletedGlyph)
+ {
+ s = hash->table[i].signature;
++
++ #ifdef NXAGENT_SERVER
++
++ c = hash->table[i].corruptedGlyph;
++
++ #endif
++
+ gr = FindGlyphRef (&newHash, s, global, glyph);
+ gr->signature = s;
+ gr->glyph = glyph;
++
++ #ifdef NXAGENT_SERVER
++
++ gr -> corruptedGlyph = c;
++
++ #endif
++
+ ++newHash.tableEntries;
+ }
+ }
+@@ -486,3 +578,4 @@
+ }
+ return Success;
+ }
++
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyphcurs.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyphcurs.c.X.original
new file mode 100644
index 000000000..c8d302c97
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyphcurs.c.X.original
@@ -0,0 +1,121 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c 2015-02-10 19:13:13.808685737 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /************************************************************************
+
+ Copyright 1987, 1998 The Open Group
+@@ -62,6 +79,12 @@
+ #include "opaque.h"
+ #include "servermd.h"
+
++#include "../../fb/fb.h"
++#include "Pixmaps.h"
++
++#ifndef True
++#define True 1
++#endif
+
+ /*
+ get the bits out of the font in a portable way. to avoid
+@@ -98,44 +121,68 @@
+ /* zeroing the (pad) bits seems to help some ddx cursor handling */
+ bzero(pbits, nby);
+
+- ppix = (PixmapPtr)(*pScreen->CreatePixmap)(pScreen, cm->width,
+- cm->height, 1);
++ ppix = fbCreatePixmap(pScreen, cm->width, cm->height, 1);
+ pGC = GetScratchGC(1, pScreen);
+ if (!ppix || !pGC)
+ {
+ if (ppix)
+- (*pScreen->DestroyPixmap)(ppix);
++ fbDestroyPixmap(ppix);
+ if (pGC)
+ FreeScratchGC(pGC);
+ xfree(pbits);
+ return BadAlloc;
+ }
+
++ #ifdef TEST
++ fprintf(stderr, "ServerBitsFromGlyph: Created virtual pixmap at [%p] with width [%d] height [%d] depth [%d].\n",
++ (void *) ppix, cm->width, cm->height, 1);
++ #endif
++
++ nxagentPixmapPriv(ppix) -> id = 0;
++ nxagentPixmapPriv(ppix) -> mid = 0;
++ nxagentPixmapPriv(ppix) -> isVirtual = True;
++ nxagentPixmapPriv(ppix) -> pRealPixmap = NULL;
++ nxagentPixmapPriv(ppix) -> pVirtualPixmap = NULL;
++
+ rect.x = 0;
+ rect.y = 0;
+ rect.width = cm->width;
+ rect.height = cm->height;
+
+- /* fill the pixmap with 0 */
+- gcval[0].val = GXcopy;
+- gcval[1].val = 0;
+- gcval[2].ptr = (pointer)pfont;
+- dixChangeGC(NullClient, pGC, GCFunction | GCForeground | GCFont,
+- NULL, gcval);
++ pGC->stateChanges |= GCFunction | GCForeground | GCFont;
++ pGC->alu = GXcopy;
++
++ pGC->fgPixel = 0;
++
++ pfont->refcnt++;
++
++ if (pGC->font)
++ CloseFont(pGC->font, (Font)0);
++
++ pGC->font = pfont;
++
+ ValidateGC((DrawablePtr)ppix, pGC);
+- (*pGC->ops->PolyFillRect)((DrawablePtr)ppix, pGC, 1, &rect);
++ fbPolyFillRect((DrawablePtr)ppix, pGC, 1, &rect);
+
+ /* draw the glyph */
+ gcval[0].val = 1;
+- dixChangeGC(NullClient, pGC, GCForeground, NULL, gcval);
++ pGC->fgPixel = 1;
++
++ pGC->stateChanges |= GCForeground;
++
+ ValidateGC((DrawablePtr)ppix, pGC);
+- (*pGC->ops->PolyText16)((DrawablePtr)ppix, pGC, cm->xhot, cm->yhot,
+- 1, (unsigned short *)char2b);
+- (*pScreen->GetImage)((DrawablePtr)ppix, 0, 0, cm->width, cm->height,
+- XYPixmap, 1, pbits);
++ miPolyText16((DrawablePtr)ppix, pGC, (int)cm->xhot, (int)cm->yhot, (int)1, (unsigned short*)char2b);
++ fbGetImage((DrawablePtr)ppix, 0, 0, cm->width, cm->height,
++ XYPixmap, 1, pbits);
+ *ppbits = (unsigned char *)pbits;
+ FreeScratchGC(pGC);
+- (*pScreen->DestroyPixmap)(ppix);
++ fbDestroyPixmap(ppix);
++
++ #ifdef TEST
++ fprintf(stderr, "ServerBitsFromGlyph: Destroyed virtual pixmap at [%p].\n",
++ (void *) ppix);
++ #endif
++
+ return Success;
+ }
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyphstr.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyphstr.h.X.original
new file mode 100644
index 000000000..76f0a1625
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXglyphstr.h.X.original
@@ -0,0 +1,59 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h 2015-02-10 19:13:13.780686785 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /*
+ * $XFree86: xc/programs/Xserver/render/glyphstr.h,v 1.3 2000/11/20 07:13:13 keithp Exp $
+ *
+@@ -23,11 +40,18 @@
+ * Author: Keith Packard, SuSE, Inc.
+ */
+
++/*
++ * This must keep the same symbol as the original glyphstr.h
++ * or symbols will be redefined. The code here adds a field
++ * to _GlyphSet. This should be done by defining a new type
++ * and casting when appropriate.
++ */
++
+ #ifndef _GLYPHSTR_H_
+ #define _GLYPHSTR_H_
+
+ #include <X11/extensions/renderproto.h>
+-#include "picture.h"
++#include "../../render/picture.h"
+ #include "screenint.h"
+
+ #define GlyphFormat1 0
+@@ -47,6 +71,7 @@
+ typedef struct _GlyphRef {
+ CARD32 signature;
+ GlyphPtr glyph;
++ CARD16 corruptedGlyph;
+ } GlyphRefRec, *GlyphRefPtr;
+
+ #define DeletedGlyph ((GlyphPtr) 1)
+@@ -70,6 +95,7 @@
+ GlyphHashRec hash;
+ int maxPrivate;
+ pointer *devPrivates;
++ CARD32 remoteID;
+ } GlyphSetRec, *GlyphSetPtr;
+
+ #define GlyphSetGetPrivate(pGlyphSet,n) \
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiexpose.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiexpose.c.X.original
new file mode 100644
index 000000000..829a95df4
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiexpose.c.X.original
@@ -0,0 +1,116 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c 2015-02-10 19:13:13.768687235 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XdotOrg: xc/programs/Xserver/mi/miexpose.c,v 1.6 2005/07/03 08:53:51 daniels Exp $ */
+ /* $XFree86: xc/programs/Xserver/mi/miexpose.c,v 3.9tsi Exp $ */
+ /***********************************************************
+@@ -109,6 +126,12 @@
+ the region package can call this.
+ */
+
++#ifdef NXAGENT_SERVER
++
++#include "Windows.h"
++
++#endif
++
+ #ifndef RECTLIMIT
+ #define RECTLIMIT 25 /* pick a number, any number > 8 */
+ #endif
+@@ -158,6 +181,20 @@
+ BoxRec expBox;
+ Bool extents;
+
++#ifdef NXAGENT_SERVER
++
++ /*
++ * Set the elements reported by the compiler
++ * as uninitialized.
++ */
++
++ expBox.x1 = 0;
++ expBox.y1 = 0;
++ expBox.x2 = 0;
++ expBox.y2 = 0;
++
++#endif
++
+ /* This prevents warning about pscr not being used. */
+ pGC->pScreen = pscr = pGC->pScreen;
+
+@@ -498,6 +535,11 @@
+ WindowPtr pWin;
+ register RegionPtr prgn, other_exposed;
+ {
++#ifdef NXAGENT_SERVER
++
++ int total;
++
++#endif
+ RegionPtr exposures = prgn;
+ if (pWin->backStorage && prgn)
+ /*
+@@ -533,7 +575,20 @@
+ }
+ exposures = other_exposed;
+ }
++#ifdef NXAGENT_SERVER
++
++ /*
++ * If the number of rectangles is greater
++ * than 4, let the function decide.
++ */
++
++ total = REGION_NUM_RECTS(exposures);
++
++ if (clientInterested && exposures && (total > RECTLIMIT ||
++ (total > 4 && nxagentExtentsPredicate(total) == 1)))
++#else
+ if (clientInterested && exposures && (REGION_NUM_RECTS(exposures) > RECTLIMIT))
++#endif
+ {
+ /*
+ * If we have LOTS of rectangles, we decide to take the extents
+@@ -666,6 +721,25 @@
+ register xRectangle *prect;
+ int numRects;
+
++#ifdef NXAGENT_SERVER
++
++ /*
++ * Set the elements reported by the compiler
++ * as uninitialized.
++ */
++
++ prgnWin.extents.x1 = 0;
++ prgnWin.extents.y1 = 0;
++ prgnWin.extents.x2 = 0;
++ prgnWin.extents.y2 = 0;
++
++ prgnWin.data = NULL;
++
++ oldCorner.x = 0;
++ oldCorner.y = 0;
++
++#endif
++
+ gcmask = 0;
+
+ if (what == PW_BACKGROUND)
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiglyph.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiglyph.c.X.original
new file mode 100644
index 000000000..37b68d613
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiglyph.c.X.original
@@ -0,0 +1,156 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c 2015-02-10 19:13:13.804685886 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /*
+ * $XFree86: xc/programs/Xserver/render/miglyph.c,v 1.4 2000/11/20 07:13:13 keithp Exp $
+ *
+@@ -35,6 +52,12 @@
+ #include "picturestr.h"
+ #include "mipict.h"
+
++#ifdef NXAGENT_SERVER
++
++#include "Render.h"
++
++#endif
++
+ void
+ miGlyphExtents (int nlist,
+ GlyphListPtr list,
+@@ -45,7 +68,7 @@
+ int n;
+ GlyphPtr glyph;
+ int x, y;
+-
++
+ x = 0;
+ y = 0;
+ extents->x1 = MAXSHORT;
+@@ -113,25 +136,58 @@
+ int error;
+ BoxRec extents;
+ CARD32 component_alpha;
+-
++
++ #ifdef NXAGENT_SERVER
++
++ /*
++ * Get rid of the warning.
++ */
++
++ extents.x1 = 0;
++ extents.y1 = 0;
++
++ #endif
++
+ if (maskFormat)
+ {
+ GCPtr pGC;
+ xRectangle rect;
+-
+- miGlyphExtents (nlist, list, glyphs, &extents);
+-
++
++ #ifdef NXAGENT_SERVER
++
++ if (nxagentGlyphsExtents != NullBox)
++ {
++ memcpy(&extents, nxagentGlyphsExtents, sizeof(BoxRec));
++ }
++ else
++ {
++ nxagentGlyphsExtents = (BoxPtr) xalloc(sizeof(BoxRec));
++
++ miGlyphExtents (nlist, list, glyphs, &extents);
++
++ memcpy(nxagentGlyphsExtents, &extents, sizeof(BoxRec));
++ }
++
++ #else
++
++ miGlyphExtents (nlist, list, glyphs, &extents);
++
++ #endif
++
+ if (extents.x2 <= extents.x1 || extents.y2 <= extents.y1)
+ return;
+ width = extents.x2 - extents.x1;
+ height = extents.y2 - extents.y1;
+ pMaskPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, maskFormat->depth);
++
+ if (!pMaskPixmap)
+ return;
++
+ component_alpha = NeedsComponent(maskFormat->format);
+ pMask = CreatePicture (0, &pMaskPixmap->drawable,
+ maskFormat, CPComponentAlpha, &component_alpha,
+ serverClient, &error);
++
+ if (!pMask)
+ {
+ (*pScreen->DestroyPixmap) (pMaskPixmap);
+@@ -160,6 +216,7 @@
+ x += list->xOff;
+ y += list->yOff;
+ n = list->len;
++
+ while (n--)
+ {
+ glyph = *glyphs++;
+@@ -184,6 +241,21 @@
+ (*pScreen->ModifyPixmapHeader) (pPixmap,
+ glyph->info.width, glyph->info.height,
+ 0, 0, -1, (pointer) (glyph + 1));
++
++ #ifdef NXAGENT_SERVER
++
++ /*
++ * The following line fixes a problem with glyphs that appeared
++ * as clipped. It was a side effect due the validate function
++ * "ValidatePicture" that makes a check on the Drawable serial
++ * number instead of the picture serial number, failing thus
++ * the clip mask update.
++ */
++
++ pPicture->pDrawable->serialNumber = NEXT_SERIAL_NUMBER;
++
++ #endif
++
+ pPixmap->drawable.serialNumber = NEXT_SERIAL_NUMBER;
+ if (maskFormat)
+ {
+@@ -215,6 +287,7 @@
+ x += glyph->info.xOff;
+ y += glyph->info.yOff;
+ }
++
+ list++;
+ if (pPicture)
+ {
+@@ -237,7 +310,9 @@
+ 0, 0,
+ x, y,
+ width, height);
++
+ FreePicture ((pointer) pMask, (XID) 0);
+ (*pScreen->DestroyPixmap) (pMaskPixmap);
+ }
++
+ }
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmitrap.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmitrap.c.X.original
new file mode 100644
index 000000000..220b26a49
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmitrap.c.X.original
@@ -0,0 +1,65 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c 2015-02-10 19:13:13.820685287 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /*
+ * $XFree86: xc/programs/Xserver/render/mitrap.c,v 1.8 2002/09/03 19:28:28 keithp Exp $
+ *
+@@ -35,6 +52,12 @@
+ #include "picturestr.h"
+ #include "mipict.h"
+
++#ifdef NXAGENT_SERVER
++
++#include "Render.h"
++
++#endif
++
+ PicturePtr
+ miCreateAlphaPicture (ScreenPtr pScreen,
+ PicturePtr pDst,
+@@ -159,7 +182,27 @@
+ xDst = traps[0].left.p1.x >> 16;
+ yDst = traps[0].left.p1.y >> 16;
+
+- miTrapezoidBounds (ntrap, traps, &bounds);
++ #ifdef NXAGENT_SERVER
++
++ if (nxagentTrapezoidExtents != NullBox)
++ {
++ memcpy(&bounds, nxagentTrapezoidExtents, sizeof(BoxRec));
++ }
++ else
++ {
++ nxagentTrapezoidExtents = (BoxPtr) xalloc(sizeof(BoxRec));
++
++ miTrapezoidBounds (ntrap, traps, &bounds);
++
++ memcpy(nxagentTrapezoidExtents, &bounds, sizeof(BoxRec));
++ }
++
++ #else
++
++ miTrapezoidBounds (ntrap, traps, &bounds);
++
++ #endif
++
+ if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2)
+ return;
+ pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiwindow.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiwindow.c.X.original
new file mode 100644
index 000000000..7d6be7b0c
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXmiwindow.c.X.original
@@ -0,0 +1,53 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c 2015-02-10 19:13:13.776686935 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/programs/Xserver/mi/miwindow.c,v 1.9tsi Exp $ */
+ /***********************************************************
+
+@@ -1048,8 +1065,29 @@
+ bsExposed = (*pScreen->TranslateBackingStore)
+ (pWin, 0, 0, pOldClip,
+ pWin->drawable.x, pWin->drawable.y);
++#ifdef NXAGENT_SERVER
++
++ /*
++ * We got a few, rare, segfaults here after having
++ * started using the backing store. It may be a
++ * different bug but miChangeSaveUnder() calls mi-
++ * CheckSubSaveUnder() that, in turn, can change
++ * the backing store attribute of the window. This
++ * means that we may try to destroy the region
++ * even if it was not created at the beginning of
++ * this function as, at the time, the backing store
++ * was off. miCheckSubSaveUnder() appear to get a
++ * pointer to the parent, so maybe doesn't change
++ * the attribute of the window itself. This is to
++ * be better investigated.
++ */
++
++ if (WasViewable && pOldClip)
++ REGION_DESTROY(pScreen, pOldClip);
++#else
+ if (WasViewable)
+ REGION_DESTROY(pScreen, pOldClip);
++#endif
+ if (bsExposed)
+ {
+ RegionPtr valExposed = NullRegion;
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXpicture.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXpicture.c.X.original
new file mode 100644
index 000000000..9713e4495
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXpicture.c.X.original
@@ -0,0 +1,615 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c 2015-02-13 14:03:44.744441510 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /*
+ * $XFree86: xc/programs/Xserver/render/picture.c,v 1.29 2002/11/23 02:38:15 keithp Exp $
+ *
+@@ -40,7 +57,21 @@
+ #include "dixstruct.h"
+ #include "gcstruct.h"
+ #include "servermd.h"
+-#include "picturestr.h"
++#include "NXpicturestr.h"
++
++#include "Screen.h"
++#include "Pixmaps.h"
++#include "Drawable.h"
++#include "Render.h"
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
++
++void *nxagentVisualFromID(ScreenPtr pScreen, VisualID visual);
++
++void *nxagentMatchingFormats(PictFormatPtr pForm);
+
+ int PictureScreenPrivateIndex = -1;
+ int PictureWindowPrivateIndex;
+@@ -50,6 +81,13 @@
+ RESTYPE GlyphSetType;
+ int PictureCmapPolicy = PictureCmapPolicyDefault;
+
++typedef struct _formatInit {
++ CARD32 format;
++ CARD8 depth;
++} FormatInitRec, *FormatInitPtr;
++
++void nxagentPictureCreateDefaultFormats(ScreenPtr pScreen, FormatInitRec *formats, int *nformats);
++
+ /* Picture Private machinery */
+
+ static int picturePrivateCount;
+@@ -189,11 +227,6 @@
+ return 0;
+ }
+
+-typedef struct _formatInit {
+- CARD32 format;
+- CARD8 depth;
+-} FormatInitRec, *FormatInitPtr;
+-
+ static int
+ addFormat (FormatInitRec formats[256],
+ int nformat,
+@@ -207,6 +240,11 @@
+ return nformat;
+ formats[nformat].format = format;
+ formats[nformat].depth = depth;
++
++ #ifdef DEBUG
++ fprintf(stderr, "addFormat: Added format [%lu] depth [%d].\n", format, depth);
++ #endif
++
+ return ++nformat;
+ }
+
+@@ -215,10 +253,13 @@
+ PictFormatPtr
+ PictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp)
+ {
+- int nformats, f;
++ int nformats, f;
+ PictFormatPtr pFormats;
+ FormatInitRec formats[1024];
+ CARD32 format;
++
++#ifndef NXAGENT_SERVER
++
+ CARD8 depth;
+ VisualPtr pVisual;
+ int v;
+@@ -228,7 +269,16 @@
+ int d;
+ DepthPtr pDepth;
+
++#endif
++
+ nformats = 0;
++
++#ifdef NXAGENT_SERVER
++
++ nxagentPictureCreateDefaultFormats(pScreen, formats, &nformats);
++
++#else
++
+ /* formats required by protocol */
+ formats[nformats].format = PICT_a1;
+ formats[nformats].depth = 1;
+@@ -254,6 +304,7 @@
+ if (!depth)
+ continue;
+ bpp = BitsPerPixel (depth);
++
+ switch (pVisual->class) {
+ case DirectColor:
+ case TrueColor:
+@@ -296,6 +347,7 @@
+ break;
+ }
+ }
++
+ /*
+ * Walk supported depths and add useful Direct formats
+ */
+@@ -304,16 +356,18 @@
+ pDepth = &pScreen->allowedDepths[d];
+ bpp = BitsPerPixel (pDepth->depth);
+ format = 0;
++
+ switch (bpp) {
+ case 16:
+ /* depth 12 formats */
+- if (pDepth->depth >= 12)
+- {
+- nformats = addFormat (formats, nformats,
+- PICT_x4r4g4b4, pDepth->depth);
+- nformats = addFormat (formats, nformats,
+- PICT_x4b4g4r4, pDepth->depth);
+- }
++ if (pDepth->depth >= 12)
++ {
++ nformats = addFormat (formats, nformats,
++ PICT_x4r4g4b4, pDepth->depth);
++ nformats = addFormat (formats, nformats,
++ PICT_x4b4g4r4, pDepth->depth);
++ }
++
+ /* depth 15 formats */
+ if (pDepth->depth >= 15)
+ {
+@@ -325,18 +379,18 @@
+ /* depth 16 formats */
+ if (pDepth->depth >= 16)
+ {
+- nformats = addFormat (formats, nformats,
+- PICT_a1r5g5b5, pDepth->depth);
+- nformats = addFormat (formats, nformats,
+- PICT_a1b5g5r5, pDepth->depth);
++ nformats = addFormat (formats, nformats,
++ PICT_a1r5g5b5, pDepth->depth);
++ nformats = addFormat (formats, nformats,
++ PICT_a1b5g5r5, pDepth->depth);
+ nformats = addFormat (formats, nformats,
+ PICT_r5g6b5, pDepth->depth);
+ nformats = addFormat (formats, nformats,
+ PICT_b5g6r5, pDepth->depth);
+ nformats = addFormat (formats, nformats,
+ PICT_a4r4g4b4, pDepth->depth);
+- nformats = addFormat (formats, nformats,
+- PICT_a4b4g4r4, pDepth->depth);
++ nformats = addFormat (formats, nformats,
++ PICT_a4b4g4r4, pDepth->depth);
+ }
+ break;
+ case 24:
+@@ -359,7 +413,8 @@
+ break;
+ }
+ }
+-
++
++#endif
+
+ pFormats = (PictFormatPtr) xalloc (nformats * sizeof (PictFormatRec));
+ if (!pFormats)
+@@ -368,9 +423,9 @@
+ for (f = 0; f < nformats; f++)
+ {
+ pFormats[f].id = FakeClientID (0);
+- pFormats[f].depth = formats[f].depth;
+- format = formats[f].format;
+- pFormats[f].format = format;
++ pFormats[f].depth = formats[f].depth;
++ format = formats[f].format;
++ pFormats[f].format = format;
+ switch (PICT_FORMAT_TYPE(format)) {
+ case PICT_TYPE_ARGB:
+ pFormats[f].type = PictTypeDirect;
+@@ -427,6 +482,29 @@
+ pFormats[f].index.vid = pScreen->visuals[PICT_FORMAT_VIS(format)].vid;
+ break;
+ }
++
++#ifdef NXAGENT_SERVER
++ if (nxagentMatchingFormats(&pFormats[f]) != NULL)
++ {
++ #ifdef DEBUG
++ fprintf(stderr, "PictureCreateDefaultFormats: Format with type [%d] depth [%d] rgb [%d,%d,%d] "
++ "mask rgb [%d,%d,%d] alpha [%d] alpha mask [%d] matches.\n",
++ pFormats[f].type, pFormats[f].depth, pFormats[f].direct.red, pFormats[f].direct.green,
++ pFormats[f].direct.blue, pFormats[f].direct.redMask, pFormats[f].direct.greenMask,
++ pFormats[f].direct.blueMask, pFormats[f].direct.alpha, pFormats[f].direct.alphaMask);
++ #endif
++ }
++ else
++ {
++ #ifdef DEBUG
++ fprintf(stderr, "PictureCreateDefaultFormats: Format with type [%d] depth [%d] rgb [%d,%d,%d] "
++ "mask rgb [%d,%d,%d] alpha [%d] alpha mask [%d] doesn't match.\n",
++ pFormats[f].type, pFormats[f].depth, pFormats[f].direct.red, pFormats[f].direct.green,
++ pFormats[f].direct.blue, pFormats[f].direct.redMask, pFormats[f].direct.greenMask,
++ pFormats[f].direct.blueMask, pFormats[f].direct.alpha, pFormats[f].direct.alphaMask);
++ #endif
++ }
++#endif
+ }
+ *nformatp = nformats;
+ return pFormats;
+@@ -795,9 +873,20 @@
+ else
+ ppriv->ptr = (pointer)NULL;
+ }
++
++ nxagentPicturePriv(pPicture) -> picture = 0;
++
+ return pPicture;
+ }
+
++/*
++ * Let picture always point to the virtual pixmap.
++ * For sure this is not the best way to deal with
++ * the virtual frame-buffer.
++ */
++
++#define NXAGENT_PICTURE_ALWAYS_POINTS_TO_VIRTUAL
++
+ PicturePtr
+ CreatePicture (Picture pid,
+ DrawablePtr pDrawable,
+@@ -823,6 +912,12 @@
+ pPicture->format = pFormat->format | (pDrawable->bitsPerPixel << 24);
+ if (pDrawable->type == DRAWABLE_PIXMAP)
+ {
++ #ifdef NXAGENT_PICTURE_ALWAYS_POINTS_TO_VIRTUAL
++
++ pPicture->pDrawable = nxagentVirtualDrawable(pDrawable);
++
++ #endif
++
+ ++((PixmapPtr)pDrawable)->refcnt;
+ pPicture->pNext = 0;
+ }
+@@ -972,7 +1067,49 @@
+ static PicturePtr createSourcePicture(void)
+ {
+ PicturePtr pPicture;
+- pPicture = (PicturePtr) xalloc(sizeof(PictureRec));
++
++ extern int nxagentPicturePrivateIndex;
++
++ unsigned int totalPictureSize;
++
++ DevUnion *ppriv;
++
++ char *privPictureRecAddr;
++
++ int i;
++
++ /*
++ * Compute size of entire PictureRect, plus privates.
++ */
++
++ totalPictureSize = sizeof(PictureRec) +
++ picturePrivateCount * sizeof(DevUnion) +
++ sizeof(nxagentPrivPictureRec);
++
++ pPicture = (PicturePtr) xalloc(totalPictureSize);
++
++ if (pPicture != NULL)
++ {
++ ppriv = (DevUnion *) (pPicture + 1);
++
++ for (i = 0; i < picturePrivateCount; ++i)
++ {
++ /*
++ * Other privates are inaccessible.
++ */
++
++ ppriv[i].ptr = NULL;
++ }
++
++ privPictureRecAddr = (char *) &ppriv[picturePrivateCount];
++
++ ppriv[nxagentPicturePrivateIndex].ptr = (pointer) privPictureRecAddr;
++
++ pPicture -> devPrivates = ppriv;
++
++ nxagentPicturePriv(pPicture) -> picture = 0;
++ }
++
+ pPicture->pDrawable = 0;
+ pPicture->pFormat = 0;
+ pPicture->pNext = 0;
+@@ -1294,6 +1431,12 @@
+ pPixmap->refcnt++;
+ }
+ }
++
++ #ifdef DEBUG
++ fprintf(stderr, "ChangePicture: Going to call ChangePictureClip with clipType [%d] pPixmap [%p].\n",
++ clipType, (void *) pPixmap);
++ #endif
++
+ error = (*ps->ChangePictureClip)(pPicture, clipType,
+ (pointer)pPixmap, 0);
+ break;
+@@ -1600,6 +1743,10 @@
+
+ if (--pPicture->refcnt == 0)
+ {
++#ifdef NXAGENT_SERVER
++ nxagentDestroyPicture(pPicture);
++#endif
++
+ if (pPicture->transform)
+ xfree (pPicture->transform);
+ if (!pPicture->pDrawable) {
+@@ -1698,6 +1845,13 @@
+
+ ValidatePicture (pSrc);
+ ValidatePicture (pDst);
++
++ #ifdef TEST
++ fprintf(stderr, "CompositeGlyphs: Going to composite glyphs with "
++ "source at [%p] and destination at [%p].\n",
++ (void *) pSrc, (void *) pDst);
++ #endif
++
+ (*ps->Glyphs) (op, pSrc, pDst, maskFormat, xSrc, ySrc, nlist, lists, glyphs);
+ }
+
+@@ -1862,3 +2016,255 @@
+ vector->vector[2] = xFixed1;
+ return TRUE;
+ }
++
++#ifndef True
++# define True 1
++#endif
++
++#ifndef False
++# define False 0
++#endif
++
++void nxagentReconnectPictFormat(void*, XID, void*);
++
++Bool nxagentReconnectAllPictFormat(void *p)
++{
++ PictFormatPtr formats_old, formats;
++ int nformats, nformats_old;
++ VisualPtr pVisual;
++ Bool success = True;
++ Bool matched;
++ int i, n;
++ CARD32 type, a, r, g, b;
++
++ #if defined(NXAGENT_RECONNECT_DEBUG) || defined(NXAGENT_RECONNECT_PICTFORMAT_DEBUG)
++ fprintf(stderr, "nxagentReconnectAllPictFormat\n");
++ #endif
++
++ formats_old = GetPictureScreen(nxagentDefaultScreen) -> formats;
++ nformats_old = GetPictureScreen(nxagentDefaultScreen) -> nformats;
++
++ /*
++ * TODO: We could copy PictureCreateDefaultFormats,
++ * in order not to waste ID with FakeClientID().
++ */
++ formats = PictureCreateDefaultFormats (nxagentDefaultScreen, &nformats);
++
++ if (!formats)
++ return False;
++
++ for (n = 0; n < nformats; n++)
++ {
++ if (formats[n].type == PictTypeIndexed)
++ {
++ pVisual = nxagentVisualFromID(nxagentDefaultScreen, formats[n].index.vid);
++
++ if ((pVisual->class | DynamicClass) == PseudoColor)
++ type = PICT_TYPE_COLOR;
++ else
++ type = PICT_TYPE_GRAY;
++ a = r = g = b = 0;
++ }
++ else
++ {
++ if ((formats[n].direct.redMask|
++ formats[n].direct.blueMask|
++ formats[n].direct.greenMask) == 0)
++ type = PICT_TYPE_A;
++ else if (formats[n].direct.red > formats[n].direct.blue)
++ type = PICT_TYPE_ARGB;
++ else
++ type = PICT_TYPE_ABGR;
++ a = Ones (formats[n].direct.alphaMask);
++ r = Ones (formats[n].direct.redMask);
++ g = Ones (formats[n].direct.greenMask);
++ b = Ones (formats[n].direct.blueMask);
++ }
++ formats[n].format = PICT_FORMAT(0,type,a,r,g,b);
++ }
++
++ for (n = 0; n < nformats_old; n++)
++ {
++ for (i = 0, matched = False; (!matched) && (i < nformats); i++)
++ {
++ if (formats_old[n].format == formats[i].format &&
++ formats_old[n].type == formats[i].type &&
++ formats_old[n].direct.red == formats[i].direct.red &&
++ formats_old[n].direct.green == formats[i].direct.green &&
++ formats_old[n].direct.blue == formats[i].direct.blue &&
++ formats_old[n].direct.redMask == formats[i].direct.redMask &&
++ formats_old[n].direct.greenMask == formats[i].direct.greenMask &&
++ formats_old[n].direct.blueMask == formats[i].direct.blueMask &&
++ formats_old[n].direct.alpha == formats[i].direct.alpha &&
++ formats_old[n].direct.alphaMask == formats[i].direct.alphaMask)
++ {
++ /*
++ * Regard depth 16 and 15 as were the same, if all other values match.
++ */
++
++ if ((formats_old[n].depth == formats[i].depth) ||
++ ((formats_old[n].depth == 15 || formats_old[n].depth == 16) &&
++ (formats[i].depth == 15 || formats[i].depth == 16)))
++ {
++ matched = True;
++ }
++ }
++ }
++
++ if (!matched)
++ {
++ return False;
++ }
++ }
++
++ xfree(formats);
++
++ /* TODO: Perhaps do i have to do PictureFinishInit ?. */
++ /* TODO: We have to check for new Render protocol version. */
++
++ for (i = 0; (i < MAXCLIENTS) && (success); i++)
++ {
++ if (clients[i])
++ {
++ FindClientResourcesByType(clients[i], PictFormatType, nxagentReconnectPictFormat, &success);
++ }
++ }
++
++ return success;
++}
++
++/*
++ * It seem we don't have nothing
++ * to do for reconnect PictureFormat.
++ */
++
++void nxagentReconnectPictFormat(void *p0, XID x1, void *p2)
++{
++ PictFormatPtr pFormat;
++ Bool *pBool;
++
++ pFormat = (PictFormatPtr)p0;
++ pBool = (Bool*)p2;
++
++ #if defined(NXAGENT_RECONNECT_DEBUG) || defined(NXAGENT_RECONNECT_PICTFORMAT_DEBUG)
++ fprintf(stderr, "nxagentReconnectPictFormat.\n");
++ #endif
++}
++
++/*
++ * The set of picture formats may change considerably
++ * between different X servers. This poses a problem
++ * while migrating NX sessions, because a requisite to
++ * successfully reconnect the session is that all pic-
++ * ture formats have to be available on the new X server.
++ * To reduce such problems, we use a limited set of
++ * pictures available on the most X servers.
++ */
++
++void nxagentPictureCreateDefaultFormats(ScreenPtr pScreen, FormatInitRec *formats, int *nformats)
++{
++ DepthPtr pDepth;
++ VisualPtr pVisual;
++
++ CARD32 format;
++ CARD8 depth;
++
++ int r, g, b;
++ int bpp;
++ int d;
++ int v;
++
++
++ formats[*nformats].format = PICT_a1;
++ formats[*nformats].depth = 1;
++ *nformats += 1;
++ formats[*nformats].format = PICT_a4;
++ formats[*nformats].depth = 4;
++ *nformats += 1;
++ formats[*nformats].format = PICT_a8;
++ formats[*nformats].depth = 8;
++ *nformats += 1;
++ formats[*nformats].format = PICT_a8r8g8b8;
++ formats[*nformats].depth = 32;
++ *nformats += 1;
++
++ /*
++ * This format should be required by the
++ * protocol, but it's not used by Xgl.
++ *
++ * formats[*nformats].format = PICT_x8r8g8b8;
++ * formats[*nformats].depth = 32;
++ * *nformats += 1;
++ */
++
++ /* now look through the depths and visuals adding other formats */
++ for (v = 0; v < pScreen->numVisuals; v++)
++ {
++ pVisual = &pScreen->visuals[v];
++ depth = visualDepth (pScreen, pVisual);
++ if (!depth)
++ continue;
++
++ bpp = BitsPerPixel (depth);
++
++ switch (pVisual->class)
++ {
++ case DirectColor:
++ case TrueColor:
++ r = Ones (pVisual->redMask);
++ g = Ones (pVisual->greenMask);
++ b = Ones (pVisual->blueMask);
++
++ if (pVisual->offsetBlue == 0 &&
++ pVisual->offsetGreen == b &&
++ pVisual->offsetRed == b + g)
++ {
++ format = PICT_FORMAT(bpp, PICT_TYPE_ARGB, 0, r, g, b);
++ *nformats = addFormat (formats, *nformats, format, depth);
++ }
++ break;
++ case StaticColor:
++ case PseudoColor:
++ case StaticGray:
++ case GrayScale:
++ break;
++ }
++ }
++
++ for (d = 0; d < pScreen -> numDepths; d++)
++ {
++ pDepth = &pScreen -> allowedDepths[d];
++ bpp = BitsPerPixel(pDepth -> depth);
++
++ switch (bpp) {
++ case 16:
++ if (pDepth->depth == 15)
++ {
++ *nformats = addFormat (formats, *nformats,
++ PICT_x1r5g5b5, pDepth->depth);
++ }
++
++ if (pDepth->depth == 16)
++ {
++ *nformats = addFormat (formats, *nformats,
++ PICT_r5g6b5, pDepth->depth);
++ }
++ break;
++ case 24:
++ if (pDepth->depth == 24)
++ {
++ *nformats = addFormat (formats, *nformats,
++ PICT_r8g8b8, pDepth->depth);
++ }
++ break;
++ case 32:
++ if (pDepth->depth == 24)
++ {
++ *nformats = addFormat (formats, *nformats,
++ PICT_x8r8g8b8, pDepth->depth);
++ }
++ break;
++ }
++ }
++}
++
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXpicturestr.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXpicturestr.h.X.original
new file mode 100644
index 000000000..9150cfae8
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXpicturestr.h.X.original
@@ -0,0 +1,42 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h 2015-02-13 14:03:44.744441510 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /*
+ * $Id: picturestr.h,v 1.15 2005/12/09 18:35:21 ajax Exp $
+ *
+@@ -23,10 +40,17 @@
+ * Author: Keith Packard, SuSE, Inc.
+ */
+
++/*
++ * This must keep the same symbol as the original
++ * picturestr.h or symbols will be redefined. We
++ * should define a new types and cast when appro-
++ * priate.
++ */
++
+ #ifndef _PICTURESTR_H_
+ #define _PICTURESTR_H_
+
+-#include "glyphstr.h"
++#include "NXglyphstr.h"
+ #include "scrnintstr.h"
+ #include "resource.h"
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXproperty.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXproperty.c.X.original
new file mode 100644
index 000000000..7327501ac
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXproperty.c.X.original
@@ -0,0 +1,358 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c.X.original 2015-02-13 14:03:44.744441510 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c 2015-02-10 19:13:13.772687085 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/programs/Xserver/dix/property.c,v 3.12 2002/02/19 11:09:22 alanh Exp $ */
+ /***********************************************************
+
+@@ -58,7 +75,7 @@
+ #include "windowstr.h"
+ #include "propertyst.h"
+ #include "dixstruct.h"
+-#include "dispatch.h"
++#include "../../dix/dispatch.h"
+ #include "swaprep.h"
+ #ifdef XCSECURITY
+ #define _SECURITY_SERVER
+@@ -69,6 +86,11 @@
+ #include "lbxtags.h"
+ #endif
+
++#include "Options.h"
++#include "Rootless.h"
++#include "Client.h"
++#include "Windows.h"
++
+ #if defined(LBX) || defined(LBX_COMPAT)
+ #if 0 /* no header in X11 environment, not used in X11 environment */
+ int fWriteToClient(ClientPtr client, int len, char *buf)
+@@ -78,6 +100,17 @@
+ #endif
+ #endif
+
++extern Atom clientCutProperty;
++
++#ifdef NXAGENT_SERVER
++typedef struct
++{
++ CARD32 state;
++ Window icon;
++}
++nxagentWMStateRec;
++#endif
++
+ /*****************************************************************
+ * Property Stuff
+ *
+@@ -234,6 +267,15 @@
+ totalSize = len * sizeInBytes;
+ REQUEST_FIXED_SIZE(xChangePropertyReq, totalSize);
+
++#ifdef NXAGENT_CLIPBOARD
++ {
++ extern WindowPtr nxagentGetClipboardWindow(Atom, WindowPtr);
++
++ pWin = nxagentGetClipboardWindow(stuff->property, NULL);
++ }
++
++ if (pWin == NULL)
++#endif
+ pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client,
+ SecurityWriteAccess);
+ if (!pWin)
+@@ -261,6 +303,18 @@
+ }
+ #endif
+
++#ifdef NXAGENT_ARTSD
++ {
++ /* Do not process MCOPGLOBALS property changes,
++ they are already set reflecting the server side settings.
++ Just return success.
++ */
++ extern Atom mcop_local_atom;
++ if (stuff->property == mcop_local_atom)
++ return client->noClientException;
++ }
++#endif
++
+ #ifdef LBX
+ err = LbxChangeWindowProperty(client, pWin, stuff->property, stuff->type,
+ (int)format, (int)mode, len, TRUE, (pointer)&stuff[1], TRUE, NULL);
+@@ -271,7 +325,23 @@
+ if (err != Success)
+ return err;
+ else
+- return client->noClientException;
++ {
++ if (nxagentOption(Rootless) == 1)
++ {
++ nxagentExportProperty(pWin, stuff->property, stuff->type, (int) format,
++ (int) mode, len, (pointer) &stuff[1]);
++ }
++
++ nxagentGuessClientHint(client, stuff->property, (char *) &stuff[1]);
++
++ nxagentGuessShadowHint(client, stuff->property);
++
++ #ifdef NX_DEBUG_INPUT
++ nxagentGuessDumpInputInfo(client, stuff->property, (char *) &stuff[1]);
++ #endif
++
++ return client->noClientException;
++ }
+ }
+
+ int
+@@ -289,10 +359,23 @@
+ int sizeInBytes;
+ int totalSize;
+ pointer data;
++ int copySize;
+
+ sizeInBytes = format>>3;
+ totalSize = len * sizeInBytes;
+
++ copySize = nxagentOption(CopyBufferSize);
++
++ if (copySize != COPY_UNLIMITED && property == clientCutProperty)
++ {
++ if (totalSize > copySize)
++ {
++ totalSize = copySize;
++ totalSize = totalSize - (totalSize % sizeInBytes);
++ len = totalSize / sizeInBytes;
++ }
++ }
++
+ /* first see if property already exists */
+
+ pProp = wUserProps (pWin);
+@@ -491,6 +574,11 @@
+ int
+ ProcGetProperty(ClientPtr client)
+ {
++ #ifdef NXAGENT_SERVER
++ nxagentWMStateRec wmState;
++ nxagentWMStateRec *wmsP = &wmState;
++ #endif
++
+ PropertyPtr pProp, prevProp;
+ unsigned long n, len, ind;
+ WindowPtr pWin;
+@@ -498,6 +586,7 @@
+ REQUEST(xGetPropertyReq);
+
+ REQUEST_SIZE_MATCH(xGetPropertyReq);
++
+ if (stuff->delete)
+ UpdateCurrentTime();
+ pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client,
+@@ -533,6 +622,59 @@
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
++
++ #ifdef NXAGENT_SERVER
++
++ /*
++ * Creating a reply for WM_STATE property if it doesn't exist.
++ * This is intended to allow drag & drop work in JAva 1.6 when
++ * the agent is connected to NXWin in multiwindow mode.
++ */
++
++ if (nxagentOption(Rootless) &&
++ nxagentWindowTopLevel(pWin) &&
++ (!pProp) &&
++ strcmp(NameForAtom(stuff->property), "WM_STATE") == 0)
++ {
++ wmState.state = 1;
++ wmState.icon = None;
++
++ if (ChangeWindowProperty(pWin, stuff->property, stuff->property, 32, 0, 2, &wmState, 1) == Success)
++ {
++ nxagentExportProperty(pWin, stuff->property, stuff->property, 32, 0, 2, &wmState);
++ }
++
++ n = 8;
++ ind = stuff->longOffset << 2;
++
++ if (n < ind)
++ {
++ client->errorValue = stuff->longOffset;
++ return BadValue;
++ }
++
++ len = min(n - ind, 4 * stuff->longLength);
++
++ reply.bytesAfter = n - (ind + len);
++ reply.length = (len + 3) >> 2;
++
++ reply.format = 32;
++ reply.nItems = len / 4;
++ reply.propertyType = stuff->property;
++
++ WriteReplyToClient(client, sizeof(xGenericReply), &reply);
++
++ if (len)
++ {
++ client->pSwapReplyFunc = (ReplySwapPtr)CopySwap32Write;
++
++ WriteSwappedDataToClient(client, len, (char *)wmsP + ind);
++ }
++
++ return(client->noClientException);
++ }
++ #endif
++
+ if (!pProp)
+ return NullPropertyReply(client, None, 0, &reply);
+
+@@ -643,6 +785,126 @@
+ return(client->noClientException);
+ }
+
++#ifdef NXAGENT_CLIPBOARD
++/* GetWindowProperty clipboard use only */
++int
++GetWindowProperty(pWin, property, longOffset, longLength, delete,
++ type, actualType, format, nItems, bytesAfter, propData )
++ WindowPtr pWin;
++ Atom property;
++ long longOffset;
++ long longLength;
++ Bool delete;
++ Atom type;
++ Atom *actualType;
++ int *format;
++ unsigned long *nItems;
++ unsigned long *bytesAfter;
++ unsigned char **propData;
++{
++ PropertyPtr pProp, prevProp;
++ unsigned long n, len, ind;
++
++ if (!pWin)
++ return BadWindow;
++
++
++ if (!ValidAtom(property))
++ {
++ return(BadAtom);
++ }
++ if ((type != AnyPropertyType) && !ValidAtom(type))
++ {
++ return(BadAtom);
++ }
++
++ pProp = wUserProps (pWin);
++ prevProp = (PropertyPtr)NULL;
++
++ while (pProp)
++ {
++ if (pProp->propertyName == property)
++ break;
++ prevProp = pProp;
++ pProp = pProp->next;
++ }
++
++
++ if (!pProp)
++ return (BadAtom);
++
++ /* If the request type and actual type don't match. Return the
++ property information, but not the data. */
++
++ if (((type != pProp->type) &&
++ (type != AnyPropertyType))
++ )
++ {
++ *bytesAfter = pProp->size;
++ *format = pProp->format;
++ *nItems = 0;
++ *actualType = pProp->type;
++ return(Success);
++ }
++
++/*
++ * Return type, format, value to client
++ */
++ n = (pProp->format/8) * pProp->size; /* size (bytes) of prop */
++ ind = longOffset << 2;
++
++ /* If longOffset is invalid such that it causes "len" to
++ be negative, it's a value error. */
++
++ if (n < ind)
++ {
++ return BadValue;
++ }
++
++ len = min(n - ind, 4 * longLength);
++
++ *bytesAfter = n - (ind + len);
++ *format = pProp->format;
++ *nItems = len / (pProp->format / 8 );
++ *actualType = pProp->type;
++
++ if (delete && (*bytesAfter == 0))
++ { /* send the event */
++ xEvent event;
++
++ event.u.u.type = PropertyNotify;
++ event.u.property.window = pWin->drawable.id;
++ event.u.property.state = PropertyDelete;
++ event.u.property.atom = pProp->propertyName;
++ event.u.property.time = currentTime.milliseconds;
++ DeliverEvents(pWin, &event, 1, (WindowPtr)NULL);
++ }
++
++ if (len)
++ {
++ *propData = (unsigned char *)(pProp->data) + ind;
++ }
++
++ if (delete && (*bytesAfter == 0))
++ { /* delete the Property */
++#ifdef LBX
++ if (pProp->tag_id)
++ TagDeleteTag(pProp->tag_id);
++#endif
++ if (prevProp == (PropertyPtr)NULL) /* takes care of head */
++ {
++ if (!(pWin->optional->userProps = pProp->next))
++ CheckWindowOptionalNeed (pWin);
++ }
++ else
++ prevProp->next = pProp->next;
++ xfree(pProp->data);
++ xfree(pProp);
++ }
++ return(Success);
++}
++#endif
++
+ int
+ ProcListProperties(ClientPtr client)
+ {
+@@ -727,3 +989,4 @@
+ else
+ return(result);
+ }
++
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXrender.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXrender.c.X.original
new file mode 100644
index 000000000..62c9e339f
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXrender.c.X.original
@@ -0,0 +1,948 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c.X.original 2015-02-13 14:03:44.748441432 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c 2015-02-10 19:13:13.800686036 +0100
+@@ -24,6 +24,23 @@
+ * Author: Keith Packard, SuSE, Inc.
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #define NEED_REPLIES
+ #define NEED_EVENTS
+ #ifdef HAVE_DIX_CONFIG_H
+@@ -44,8 +61,6 @@
+ #include "servermd.h"
+ #include <X11/extensions/render.h>
+ #include <X11/extensions/renderproto.h>
+-#include "picturestr.h"
+-#include "glyphstr.h"
+ #include <X11/Xfuncproto.h>
+ #include "cursorstr.h"
+ #ifdef EXTMODULE
+@@ -56,6 +71,95 @@
+ #define UINT32_MAX 0xffffffffU
+ #endif
+
++#include "NXpicturestr.h"
++#include "NXglyphstr.h"
++
++#include "Trap.h"
++
++#include "Render.h"
++#include "Pixmaps.h"
++#include "Options.h"
++#include "Screen.h"
++#include "Cursor.h"
++
++/*
++ * Set here the required log level.
++ */
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
++
++#ifdef TEST
++#include "Literals.h"
++#endif
++
++/*
++ * From NXmiglyph.c.
++ */
++
++void miGlyphExtents(int nlist, GlyphListPtr list,
++ GlyphPtr *glyphs, BoxPtr extents);
++
++/*
++ * From NXmitrap.c.
++ */
++
++void miTrapezoidBounds (int ntrap, xTrapezoid *traps, BoxPtr box);
++
++/*
++ * Functions from Render.c.
++ */
++
++int nxagentCursorSaveRenderInfo(ScreenPtr, CursorPtr);
++void nxagentCursorPostSaveRenderInfo(CursorPtr, ScreenPtr, PicturePtr, int, int);
++int nxagentRenderRealizeCursor(ScreenPtr, CursorPtr);
++int nxagentCreatePicture(PicturePtr, Mask);
++void nxagentChangePicture(PicturePtr, Mask);
++int nxagentChangePictureClip(PicturePtr, int, int, xRectangle *, int, int);
++void nxagentComposite(CARD8, PicturePtr, PicturePtr, PicturePtr, INT16, INT16,
++ INT16, INT16, INT16, INT16, CARD16, CARD16);
++void nxagentCompositeRects(CARD8, PicturePtr, xRenderColor *, int, xRectangle *);
++void nxagentCreateGlyphSet(GlyphSetPtr glyphSet);
++void nxagentReferenceGlyphSet(GlyphSetPtr glyphSet);
++void nxagentFreeGlyphs(GlyphSetPtr glyphSet, CARD32 *gids, int nglyph);
++void nxagentFreeGlyphSet(GlyphSetPtr glyphSet);
++void nxagentSetPictureTransform(PicturePtr pPicture, pointer transform);
++void nxagentSetPictureFilter(PicturePtr pPicture, char *filter, int name_size,
++ pointer params, int nparams);
++void nxagentTrapezoids(CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat,
++ INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid *traps);
++
++void nxagentRenderCreateSolidFill(PicturePtr pPicture, xRenderColor *color);
++
++void nxagentRenderCreateLinearGradient(PicturePtr pPicture, xPointFixed *p1,
++ xPointFixed *p2, int nStops,
++ xFixed *stops,
++ xRenderColor *colors);
++
++void nxagentRenderCreateRadialGradient(PicturePtr pPicture, xPointFixed *inner,
++ xPointFixed *outer,
++ xFixed innerRadius,
++ xFixed outerRadius,
++ int nStops,
++ xFixed *stops,
++ xRenderColor *colors);
++
++void nxagentRenderCreateConicalGradient(PicturePtr pPicture,
++ xPointFixed *center,
++ xFixed angle, int nStops,
++ xFixed *stops,
++ xRenderColor *colors);
++
++
++/*
++ * The void pointer is actually a XGlyphElt8.
++ */
++
++void nxagentGlyphs(CARD8, PicturePtr, PicturePtr, PictFormatPtr,
++ INT16, INT16, int, void *, int, GlyphPtr *);
++
+ static int ProcRenderQueryVersion (ClientPtr pClient);
+ static int ProcRenderQueryPictFormats (ClientPtr pClient);
+ static int ProcRenderQueryPictIndexValues (ClientPtr pClient);
+@@ -290,8 +394,8 @@
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
+- rep.majorVersion = RENDER_MAJOR;
+- rep.minorVersion = RENDER_MINOR;
++ rep.majorVersion = nxagentRenderVersionMajor;
++ rep.minorVersion = nxagentRenderVersionMinor;
+ if (client->swapped) {
+ swaps(&rep.sequenceNumber, n);
+ swapl(&rep.length, n);
+@@ -363,6 +467,8 @@
+ int n;
+ int numScreens;
+ int numSubpixel;
++
++ extern int nxagentAlphaEnabled;
+ /* REQUEST(xRenderQueryPictFormatsReq); */
+
+ REQUEST_SIZE_MATCH(xRenderQueryPictFormatsReq);
+@@ -439,7 +545,7 @@
+ pictForm->direct.greenMask = pFormat->direct.greenMask;
+ pictForm->direct.blue = pFormat->direct.blue;
+ pictForm->direct.blueMask = pFormat->direct.blueMask;
+- pictForm->direct.alpha = pFormat->direct.alpha;
++ pictForm->direct.alpha = nxagentAlphaEnabled ? pFormat->direct.alpha : 0;
+ pictForm->direct.alphaMask = pFormat->direct.alphaMask;
+ if (pFormat->type == PictTypeIndexed && pFormat->index.pColormap)
+ pictForm->colormap = pFormat->index.pColormap->mid;
+@@ -656,6 +762,8 @@
+ &error);
+ if (!pPicture)
+ return error;
++ nxagentCreatePicture(pPicture, stuff -> mask);
++
+ if (!AddResource (stuff->pid, PictureType, (pointer)pPicture))
+ return BadAlloc;
+ return Success;
+@@ -667,6 +775,7 @@
+ PicturePtr pPicture;
+ REQUEST(xRenderChangePictureReq);
+ int len;
++ int error;
+
+ REQUEST_AT_LEAST_SIZE(xRenderChangePictureReq);
+ VERIFY_PICTURE (pPicture, stuff->picture, client, SecurityWriteAccess,
+@@ -676,8 +785,12 @@
+ if (Ones(stuff->mask) != len)
+ return BadLength;
+
+- return ChangePicture (pPicture, stuff->mask, (XID *) (stuff + 1),
++ error = ChangePicture (pPicture, stuff->mask, (XID *) (stuff + 1),
+ (DevUnion *) 0, client);
++
++ nxagentChangePicture(pPicture, stuff->mask);
++
++ return error;
+ }
+
+ static int
+@@ -694,13 +807,26 @@
+ if (!pPicture->pDrawable)
+ return BadDrawable;
+
+- nr = (client->req_len << 2) - sizeof(xRenderChangePictureReq);
++ /*
++ * The original code used sizeof(xRenderChangePictureReq).
++ * This was harmless, as both structures have the same size.
++ *
++ * nr = (client->req_len << 2) - sizeof(xRenderChangePictureReq);
++ */
++ nr = (client->req_len << 2) - sizeof(xRenderSetPictureClipRectanglesReq);
+ if (nr & 4)
+ return BadLength;
+ nr >>= 3;
+ result = SetPictureClipRects (pPicture,
+ stuff->xOrigin, stuff->yOrigin,
+ nr, (xRectangle *) &stuff[1]);
++ nxagentChangePictureClip (pPicture,
++ CT_NONE,
++ nr,
++ (xRectangle *) &stuff[1],
++ (int)stuff -> xOrigin,
++ (int)stuff -> yOrigin);
++
+ if (client->noClientException != Success)
+ return(client->noClientException);
+ else
+@@ -717,6 +843,7 @@
+
+ VERIFY_PICTURE (pPicture, stuff->picture, client, SecurityDestroyAccess,
+ RenderErrBase + BadPicture);
++
+ FreeResource (stuff->picture, RT_NONE);
+ return(client->noClientException);
+ }
+@@ -733,6 +860,71 @@
+ return FALSE;
+ }
+
++/*
++ * Check if both pictures have drawables which are
++ * virtual pixmaps. See the corresponding define
++ * in NXpicture.c
++ */
++
++#define NXAGENT_PICTURE_ALWAYS_POINTS_TO_VIRTUAL
++
++#ifdef NXAGENT_PICTURE_ALWAYS_POINTS_TO_VIRTUAL
++
++#define nxagentCompositePredicate(pSrc, pDst) TRUE
++
++#else
++
++/*
++ * This is still under development. The final
++ * goal is to let pictures point to the real
++ * pixmaps instead of pointing to virtuals.
++ */
++
++int nxagentCompositePredicate(PicturePtr pSrc, PicturePtr pDst)
++{
++ PixmapPtr pPixmap1;
++ PixmapPtr pPixmap2;
++
++ pPixmap1 = (pSrc -> pDrawable -> type == DRAWABLE_PIXMAP ?
++ ((PixmapPtr) pSrc -> pDrawable) : NULL);
++
++ pPixmap2 = (pDst -> pDrawable -> type == DRAWABLE_PIXMAP ?
++ ((PixmapPtr) pDst -> pDrawable) : NULL);
++
++ if (pPixmap1 == NULL || pPixmap2 == NULL)
++ {
++ #ifdef TEST
++ fprintf(stderr, "nxagentCompositePredicate: Case 0.\n");
++ #endif
++
++ return FALSE;
++ }
++ else
++ {
++ #ifdef TEST
++ fprintf(stderr, "nxagentCompositePredicate: Case 1.\n");
++ #endif
++
++ if (nxagentPixmapIsVirtual(pPixmap1) == 1 &&
++ nxagentPixmapIsVirtual(pPixmap2) == 1)
++ {
++ #ifdef TEST
++ fprintf(stderr, "nxagentCompositePredicate: Case 2.\n");
++ #endif
++
++ return TRUE;
++ }
++ }
++
++ #ifdef TEST
++ fprintf(stderr, "nxagentCompositePredicate: Case 3.\n");
++ #endif
++
++ return FALSE;
++}
++
++#endif
++
+ static int
+ ProcRenderComposite (ClientPtr client)
+ {
+@@ -753,9 +945,32 @@
+ RenderErrBase + BadPicture);
+ VERIFY_ALPHA (pMask, stuff->mask, client, SecurityReadAccess,
+ RenderErrBase + BadPicture);
++/*
++FIXME: Imported change from newest version of Xorg. Changed pSrc to pDst.
++
+ if ((pSrc->pDrawable && pSrc->pDrawable->pScreen != pDst->pDrawable->pScreen) ||
+ (pMask && pMask->pDrawable && pSrc->pDrawable->pScreen != pMask->pDrawable->pScreen))
+ return BadMatch;
++*/
++ if ((pSrc->pDrawable && pSrc->pDrawable->pScreen != pDst->pDrawable->pScreen) ||
++ (pMask && pMask->pDrawable && pDst->pDrawable->pScreen != pMask->pDrawable->pScreen))
++ return BadMatch;
++
++ ValidatePicture (pSrc);
++ if (pMask)
++ ValidatePicture (pMask);
++ ValidatePicture (pDst);
++
++ #ifdef NXAGENT_PICTURE_ALWAYS_POINTS_TO_VIRTUAL
++
++ if (nxagentCompositePredicate(pSrc, pDst))
++ {
++ #ifdef TEST
++ fprintf(stderr, "ProcRenderComposite: Going to composite with "
++ "source at [%p] mask at [%p] and destination at [%p].\n",
++ (void *) pSrc, (void *) pMask, (void *) pDst);
++ #endif
++
+ CompositePicture (stuff->op,
+ pSrc,
+ pMask,
+@@ -768,6 +983,78 @@
+ stuff->yDst,
+ stuff->width,
+ stuff->height);
++ }
++
++ #else
++
++ if (pSrc -> pDrawable -> type == DRAWABLE_PIXMAP &&
++ pDst -> pDrawable -> type == DRAWABLE_PIXMAP &&
++ (!pMask || pMask -> pDrawable -> type == DRAWABLE_PIXMAP))
++ {
++ PixmapPtr pVirtualPixmapSrc;
++ PixmapPtr pVirtualPixmapDst;
++ PixmapPtr pVirtualPixmapMask;
++
++ PicturePtr pVirtualPictureSrc;
++ PicturePtr pVirtualPictureDst;
++ PicturePtr pVirtualPictureMask;
++
++ pVirtualPixmapSrc = (PixmapPtr) pSrc -> pDrawable;
++ pVirtualPictureSrc = nxagentPixmapPriv(pVirtualPixmapSrc) -> pPicture;
++
++ pVirtualPixmapDst = (PixmapPtr) pDst -> pDrawable;
++ pVirtualPictureDst = nxagentPixmapPriv(pVirtualPixmapDst) -> pPicture;
++
++ if (pMask)
++ {
++ pVirtualPixmapMask = (PixmapPtr) pMask -> pDrawable;
++ pVirtualPictureMask = nxagentPixmapPriv(pVirtualPixmapMask) -> pPicture;
++ }
++ else
++ {
++ pVirtualPixmapMask = NULL;
++ pVirtualPictureMask = NULL;
++ }
++
++ if (pVirtualPictureSrc && pVirtualPictureDst)
++ {
++ #ifdef TEST
++ fprintf(stderr, "ProcRenderComposite: Going to composite with "
++ "source at [%p] mask at [%p] and destination at [%p].\n",
++ (void *) pVirtualPixmapSrc, (void *) pVirtualPixmapMask,
++ (void *) pVirtualPixmapDst);
++ #endif
++
++ CompositePicture (stuff->op,
++ pVirtualPictureSrc,
++ pVirtualPictureMask,
++ pVirtualPictureDst,
++ stuff->xSrc,
++ stuff->ySrc,
++ stuff->xMask,
++ stuff->yMask,
++ stuff->xDst,
++ stuff->yDst,
++ stuff->width,
++ stuff->height);
++ }
++ }
++
++ #endif
++
++ nxagentComposite (stuff -> op,
++ pSrc,
++ pMask,
++ pDst,
++ stuff -> xSrc,
++ stuff -> ySrc,
++ stuff -> xMask,
++ stuff -> yMask,
++ stuff -> xDst,
++ stuff -> yDst,
++ stuff -> width,
++ stuff -> height);
++
+ return Success;
+ }
+
+@@ -818,9 +1105,33 @@
+ return BadLength;
+ ntraps /= sizeof (xTrapezoid);
+ if (ntraps)
++ {
++ if (pFormat != NULL)
++ {
++ nxagentTrapezoidExtents = (BoxPtr) xalloc(sizeof(BoxRec));
++
++ miTrapezoidBounds (ntraps, (xTrapezoid *) &stuff[1], nxagentTrapezoidExtents);
++ }
++
++ if (nxagentCompositePredicate(pSrc, pDst) == 1)
++ {
+ CompositeTrapezoids (stuff->op, pSrc, pDst, pFormat,
+ stuff->xSrc, stuff->ySrc,
+ ntraps, (xTrapezoid *) &stuff[1]);
++ }
++
++ nxagentTrapezoids (stuff->op, pSrc, pDst, pFormat,
++ stuff->xSrc, stuff->ySrc,
++ ntraps, (xTrapezoid *) &stuff[1]);
++
++ if (nxagentTrapezoidExtents != NullBox)
++ {
++ xfree(nxagentTrapezoidExtents);
++
++ nxagentTrapezoidExtents = NullBox;
++ }
++ }
++
+ return client->noClientException;
+ }
+
+@@ -1029,6 +1340,9 @@
+ return BadAlloc;
+ if (!AddResource (stuff->gsid, GlyphSetType, (pointer)glyphSet))
+ return BadAlloc;
++
++ nxagentCreateGlyphSet(glyphSet);
++
+ return Success;
+ }
+
+@@ -1052,6 +1366,9 @@
+ return RenderErrBase + BadGlyphSet;
+ }
+ glyphSet->refcnt++;
++
++ nxagentReferenceGlyphSet(glyphSet);
++
+ if (!AddResource (stuff->gsid, GlyphSetType, (pointer)glyphSet))
+ return BadAlloc;
+ return client->noClientException;
+@@ -1076,6 +1393,9 @@
+ client->errorValue = stuff->glyphset;
+ return RenderErrBase + BadGlyphSet;
+ }
++
++ nxagentFreeGlyphSet(glyphSet);
++
+ FreeResource (stuff->glyphset, RT_NONE);
+ return client->noClientException;
+ }
+@@ -1092,7 +1412,7 @@
+ REQUEST(xRenderAddGlyphsReq);
+ GlyphNewRec glyphsLocal[NLOCALGLYPH];
+ GlyphNewPtr glyphsBase, glyphs;
+- GlyphPtr glyph;
++ GlyphPtr glyph = NULL;
+ int remain, nglyphs;
+ CARD32 *gids;
+ xGlyphInfo *gi;
+@@ -1100,6 +1420,8 @@
+ int size;
+ int err = BadAlloc;
+
++ int totSizeImages;
++
+ REQUEST_AT_LEAST_SIZE(xRenderAddGlyphsReq);
+ glyphSet = (GlyphSetPtr) SecurityLookupIDByType (client,
+ stuff->glyphset,
+@@ -1128,10 +1450,12 @@
+
+ glyphs = glyphsBase;
+
++ totSizeImages = 0;
+ gids = (CARD32 *) (stuff + 1);
+ gi = (xGlyphInfo *) (gids + nglyphs);
+ bits = (CARD8 *) (gi + nglyphs);
+ remain -= (sizeof (CARD32) + sizeof (xGlyphInfo)) * nglyphs;
++
+ while (remain >= 0 && nglyphs)
+ {
+ glyph = AllocateGlyph (gi, glyphSet->fdepth);
+@@ -1152,12 +1476,14 @@
+ if (size & 3)
+ size += 4 - (size & 3);
+ bits += size;
++ totSizeImages += size;
+ remain -= size;
+ gi++;
+ gids++;
+ glyphs++;
+ nglyphs--;
+ }
++
+ if (nglyphs || remain)
+ {
+ err = BadLength;
+@@ -1216,6 +1542,9 @@
+ }
+ nglyph = ((client->req_len << 2) - sizeof (xRenderFreeGlyphsReq)) >> 2;
+ gids = (CARD32 *) (stuff + 1);
++
++ nxagentFreeGlyphs(glyphSet, gids, nglyph);
++
+ while (nglyph-- > 0)
+ {
+ glyph = *gids++;
+@@ -1228,6 +1557,14 @@
+ return client->noClientException;
+ }
+
++typedef struct XGlyphElt8{
++ GlyphSet glyphset;
++ _Xconst char *chars;
++ int nchars;
++ int xOff;
++ int yOff;
++} XGlyphElt8;
++
+ static int
+ ProcRenderCompositeGlyphs (ClientPtr client)
+ {
+@@ -1248,6 +1585,8 @@
+ int size;
+ int n;
+
++ XGlyphElt8 *elements, *elementsBase;
++
+ REQUEST(xRenderCompositeGlyphsReq);
+
+ REQUEST_AT_LEAST_SIZE(xRenderCompositeGlyphsReq);
+@@ -1335,9 +1674,15 @@
+ if (!listsBase)
+ return BadAlloc;
+ }
++
++ elementsBase = xalloc(nlist * sizeof(XGlyphElt8));
++ if (!elementsBase)
++ return BadAlloc;
++
+ buffer = (CARD8 *) (stuff + 1);
+ glyphs = glyphsBase;
+ lists = listsBase;
++ elements = elementsBase;
+ while (buffer + sizeof (xGlyphElt) < end)
+ {
+ elt = (xGlyphElt *) buffer;
+@@ -1345,6 +1690,11 @@
+
+ if (elt->len == 0xff)
+ {
++ #ifdef DEBUG
++ fprintf(stderr, "ProcRenderCompositeGlyphs: Glyphset change with base size [%d].\n",
++ size);
++ #endif
++
+ if (buffer + sizeof (GlyphSet) < end)
+ {
+ memcpy(&gs, buffer, sizeof(GlyphSet));
+@@ -1370,6 +1720,22 @@
+ lists->yOff = elt->deltay;
+ lists->format = glyphSet->format;
+ lists->len = 0;
++
++ if (glyphSet -> remoteID == 0)
++ {
++ #ifdef TEST
++ fprintf(stderr, "ProcRenderCompositeGlyphs: Going to reconnect glyphset at [%p].\n",
++ (void *) glyphSet);
++ #endif
++
++ nxagentReconnectGlyphSet(glyphSet, (XID) 0, (void*) NULL);
++ }
++
++ elements -> glyphset = glyphSet -> remoteID;
++ elements -> chars = (char *) buffer;
++ elements -> nchars = elt->len;
++ elements -> xOff = elt->deltax;
++ elements -> yOff = elt->deltay;
+ n = elt->len;
+ while (n--)
+ {
+@@ -1396,26 +1762,65 @@
+ if (space & 3)
+ buffer += 4 - (space & 3);
+ lists++;
++ elements++;
+ }
+ }
+ if (buffer > end)
+ return BadLength;
+
+- CompositeGlyphs (stuff->op,
+- pSrc,
+- pDst,
+- pFormat,
+- stuff->xSrc,
+- stuff->ySrc,
+- nlist,
+- listsBase,
+- glyphsBase);
++ /*
++ * We need to know the glyphs extents to synchronize
++ * the drawables involved in the composite text ope-
++ * ration. Also we need to synchronize only the back-
++ * ground of the text we are going to render, so the
++ * operations on the framebuffer must be executed
++ * after the X requests.
++ */
++
++ nxagentGlyphsExtents = (BoxPtr) xalloc(sizeof(BoxRec));
++
++ miGlyphExtents(nlist, listsBase, glyphsBase, nxagentGlyphsExtents);
++
++ nxagentGlyphs(stuff -> op,
++ pSrc,
++ pDst,
++ pFormat,
++ stuff -> xSrc,
++ stuff -> ySrc,
++ nlist,
++ elementsBase,
++ size,
++ glyphsBase);
++
++ if (nxagentCompositePredicate(pSrc, pDst) == 1)
++ {
++ #ifdef TEST
++ fprintf(stderr, "ProcRenderCompositeGlyphs: Going to composite glyphs with "
++ "source at [%p] and destination at [%p].\n",
++ (void *) pSrc, (void *) pDst);
++ #endif
++
++ CompositeGlyphs(stuff -> op,
++ pSrc,
++ pDst,
++ pFormat,
++ stuff -> xSrc,
++ stuff -> ySrc,
++ nlist,
++ listsBase,
++ glyphsBase);
++ }
++
++ xfree(nxagentGlyphsExtents);
++ nxagentGlyphsExtents = NullBox;
+
+ if (glyphsBase != glyphsLocal)
+ DEALLOCATE_LOCAL (glyphsBase);
+ if (listsBase != listsLocal)
+ DEALLOCATE_LOCAL (listsBase);
+
++ xfree(elementsBase);
++
+ return client->noClientException;
+ }
+
+@@ -1447,6 +1852,13 @@
+ &stuff->color,
+ things,
+ (xRectangle *) &stuff[1]);
++
++ ValidatePicture (pDst);
++ nxagentCompositeRects(stuff -> op,
++ pDst,
++ &stuff -> color,
++ things,
++ (xRectangle *) &stuff[1]);
+
+ return client->noClientException;
+ }
+@@ -1495,6 +1907,8 @@
+ CARD32 twocolor[3];
+ int ncolor;
+
++ RealizeCursorProcPtr saveRealizeCursor;
++
+ REQUEST_SIZE_MATCH (xRenderCreateCursorReq);
+ LEGAL_NEW_RESOURCE(stuff->cid, client);
+
+@@ -1662,6 +2076,20 @@
+ cm.height = height;
+ cm.xhot = stuff->x;
+ cm.yhot = stuff->y;
++
++ /*
++ * This cursor uses RENDER, so we make sure
++ * that it is allocated in a way that allows
++ * the mi and dix layers to handle it but we
++ * later create it on the server by mirror-
++ * ing the RENDER operation we got from the
++ * client.
++ */
++
++ saveRealizeCursor = pScreen -> RealizeCursor;
++
++ pScreen -> RealizeCursor = nxagentCursorSaveRenderInfo;
++
+ pCursor = AllocCursorARGB (srcbits, mskbits, argbbits, &cm,
+ GetColor(twocolor[0], 16),
+ GetColor(twocolor[0], 8),
+@@ -1669,7 +2097,27 @@
+ GetColor(twocolor[1], 16),
+ GetColor(twocolor[1], 8),
+ GetColor(twocolor[1], 0));
+- if (pCursor && AddResource(stuff->cid, RT_CURSOR, (pointer)pCursor))
++
++ pScreen -> RealizeCursor = saveRealizeCursor;
++
++ /*
++ * Store into the private data members the
++ * information needed to recreate it at
++ * reconnection. This is done in two steps
++ * as in the first step we don't have the
++ * picture info.
++ */
++
++ if (pCursor == NULL)
++ {
++ return BadAlloc;
++ }
++
++ nxagentCursorPostSaveRenderInfo(pCursor, pScreen, pSrc, stuff -> x, stuff -> y);
++
++ nxagentRenderRealizeCursor(pScreen, pCursor);
++
++ if (AddResource(stuff->cid, RT_CURSOR, (pointer)pCursor))
+ return (client->noClientException);
+ return BadAlloc;
+ }
+@@ -1685,6 +2133,9 @@
+ VERIFY_PICTURE (pPicture, stuff->picture, client, SecurityWriteAccess,
+ RenderErrBase + BadPicture);
+ result = SetPictureTransform (pPicture, (PictTransform *) &stuff->transform);
++
++ nxagentSetPictureTransform(pPicture, &stuff->transform);
++
+ if (client->noClientException != Success)
+ return(client->noClientException);
+ else
+@@ -1785,7 +2236,7 @@
+ {
+ register int n;
+
+- for (i = 0; i < reply->numAliases; i++)
++ for (i = 0; i < (int)reply->numAliases; i++)
+ {
+ swaps (&aliases[i], n);
+ }
+@@ -1817,6 +2268,9 @@
+ params = (xFixed *) (name + ((stuff->nbytes + 3) & ~3));
+ nparams = ((xFixed *) stuff + client->req_len) - params;
+ result = SetPictureFilter (pPicture, name, stuff->nbytes, params, nparams);
++
++ nxagentSetPictureFilter(pPicture, name, stuff->nbytes, params, nparams);
++
+ return result;
+ }
+
+@@ -1859,7 +2313,14 @@
+ xfree (cursors);
+ if (ret != Success)
+ return ret;
+-
++
++ nxagentAnimCursorBits = pCursor -> bits;
++
++ for (i = 0; i < MAXSCREENS; i++)
++ {
++ pCursor -> devPriv[i] = NULL;
++ }
++
+ if (AddResource (stuff->cid, RT_CURSOR, (pointer)pCursor))
+ return client->noClientException;
+ return BadAlloc;
+@@ -1901,6 +2362,11 @@
+ pPicture = CreateSolidPicture(stuff->pid, &stuff->color, &error);
+ if (!pPicture)
+ return error;
++ /* AGENT SERVER */
++
++ nxagentRenderCreateSolidFill(pPicture, &stuff -> color);
++
++ /* AGENT SERVER */
+ if (!AddResource (stuff->pid, PictureType, (pointer)pPicture))
+ return BadAlloc;
+ return Success;
+@@ -1932,6 +2398,12 @@
+ stuff->nStops, stops, colors, &error);
+ if (!pPicture)
+ return error;
++ /* AGENT SERVER */
++
++ nxagentRenderCreateLinearGradient(pPicture, &stuff->p1, &stuff->p2,
++ stuff->nStops, stops, colors);
++
++ /* AGENT SERVER */
+ if (!AddResource (stuff->pid, PictureType, (pointer)pPicture))
+ return BadAlloc;
+ return Success;
+@@ -1962,6 +2434,14 @@
+ stuff->nStops, stops, colors, &error);
+ if (!pPicture)
+ return error;
++ /* AGENT SERVER */
++
++ nxagentRenderCreateRadialGradient(pPicture, &stuff->inner, &stuff->outer,
++ stuff->inner_radius,
++ stuff->outer_radius,
++ stuff->nStops, stops, colors);
++
++ /* AGENT SERVER */
+ if (!AddResource (stuff->pid, PictureType, (pointer)pPicture))
+ return BadAlloc;
+ return Success;
+@@ -1991,6 +2471,13 @@
+ stuff->nStops, stops, colors, &error);
+ if (!pPicture)
+ return error;
++ /* AGENT SERVER */
++
++ nxagentRenderCreateConicalGradient(pPicture, &stuff->center,
++ stuff->angle, stuff->nStops, stops,
++ colors);
++
++ /* AGENT SERVER */
+ if (!AddResource (stuff->pid, PictureType, (pointer)pPicture))
+ return BadAlloc;
+ return Success;
+@@ -2000,10 +2487,41 @@
+ static int
+ ProcRenderDispatch (ClientPtr client)
+ {
++ int result;
++
+ REQUEST(xReq);
++
++ /*
++ * Let the client fail if we are
++ * hiding the RENDER extension.
++ */
+
++ if (nxagentRenderTrap)
++ {
++ return BadRequest;
++ }
++
+ if (stuff->data < RenderNumberRequests)
+- return (*ProcRenderVector[stuff->data]) (client);
++ {
++ #ifdef TEST
++ fprintf(stderr, "ProcRenderDispatch: Request [%s] OPCODE#%d.\n",
++ nxagentRenderRequestLiteral[stuff->data], stuff->data);
++ #endif
++
++ /*
++ * Set the nxagentGCTrap flag while
++ * dispatching a render operation to
++ * avoid reentrancy in GCOps.c.
++ */
++
++ nxagentGCTrap = 1;
++
++ result = (*ProcRenderVector[stuff->data]) (client);
++
++ nxagentGCTrap = 0;
++
++ return result;
++ }
+ else
+ return BadRequest;
+ }
+@@ -2253,7 +2771,7 @@
+ SProcRenderAddGlyphs (ClientPtr client)
+ {
+ register int n;
+- register int i;
++ register unsigned int i;
+ CARD32 *gids;
+ void *end;
+ xGlyphInfo *gi;
+@@ -2595,10 +3113,36 @@
+ static int
+ SProcRenderDispatch (ClientPtr client)
+ {
++ int result;
++
+ REQUEST(xReq);
+
++ /*
++ * Let the client fail if we are
++ * hiding the RENDER extension.
++ */
++
++ if (nxagentRenderTrap)
++ {
++ return BadRequest;
++ }
++
+ if (stuff->data < RenderNumberRequests)
+- return (*SProcRenderVector[stuff->data]) (client);
++ {
++ /*
++ * Set the nxagentGCTrap flag while
++ * dispatching a render operation to
++ * avoid reentrancy in GCOps.c.
++ */
++
++ nxagentGCTrap = 1;
++
++ result = (*SProcRenderVector[stuff->data]) (client);
++
++ nxagentGCTrap = 0;
++
++ return result;
++ }
+ else
+ return BadRequest;
+ }
+@@ -3314,3 +3858,4 @@
+ }
+
+ #endif /* PANORAMIX */
++
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXresource.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXresource.c.X.original
new file mode 100644
index 000000000..3c7f45e46
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXresource.c.X.original
@@ -0,0 +1,426 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c.X.original 2015-02-13 14:03:44.748441432 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c 2015-02-10 19:13:13.820685287 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /************************************************************
+
+ Copyright 1987, 1998 The Open Group
+@@ -125,6 +142,20 @@
+ #endif
+ #include <assert.h>
+
++#ifdef NXAGENT_SERVER
++
++#include "Agent.h"
++#include "Font.h"
++#include "Pixmaps.h"
++#include "GCs.h"
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
++
++#endif
++
+ static void RebuildTable(
+ int /*client*/
+ );
+@@ -170,6 +201,10 @@
+
+ #endif
+
++#ifdef NXAGENT_SERVER
++static int nxagentResChangedFlag = 0;
++#endif
++
+ RESTYPE
+ CreateNewResourceType(DeleteType deleteFunc)
+ {
+@@ -422,13 +457,107 @@
+ return id;
+ }
+
++#ifdef NXAGENT_SERVER
++
++int nxagentFindClientResource(int client, RESTYPE type, pointer value)
++{
++ ResourcePtr pResource;
++ ResourcePtr *resources;
++
++ int i;
++
++ for (i = 0; i < clientTable[client].buckets; i++)
++ {
++ resources = clientTable[client].resources;
++
++ for (pResource = resources[i]; pResource; pResource = pResource -> next)
++ {
++ if (pResource -> type == type && pResource -> value == value)
++ {
++ #ifdef TEST
++ fprintf(stderr, "nxagentFindClientResource: Found resource [%p] type [%lu] "
++ "for client [%d].\n", (void *) value,
++ pResource -> type, client);
++ #endif
++
++ return 1;
++ }
++ }
++ }
++
++ return 0;
++}
++
++int nxagentSwitchResourceType(int client, RESTYPE type, pointer value)
++{
++ ResourcePtr pResource;
++ ResourcePtr *resources;
++
++ RESTYPE internalType = 0;
++
++ int i;
++
++ if (type == RT_PIXMAP)
++ {
++ internalType = RT_NX_PIXMAP;
++ }
++ else if (type == RT_GC)
++ {
++ internalType = RT_NX_GC;
++ }
++ else if (type == RT_FONT)
++ {
++ internalType = RT_NX_FONT;
++ }
++ else
++ {
++ return 0;
++ }
++
++ if (client == serverClient -> index)
++ {
++ #ifdef TEST
++ fprintf(stderr, "nxagentSwitchResourceType: Requesting client is [%d]. Skipping the resource switch.\n",
++ client);
++ #endif
++
++ return 0;
++ }
++
++ for (i = 0; i < clientTable[serverClient -> index].buckets; i++)
++ {
++ resources = clientTable[serverClient -> index].resources;
++
++ for (pResource = resources[i]; pResource; pResource = pResource -> next)
++ {
++ if (pResource -> type == internalType &&
++ pResource -> value == value)
++ {
++ #ifdef TEST
++ fprintf(stderr, "nxagentSwitchResourceType: Changing resource [%p] type from [%lu] to "
++ "[%lu] for server client [%d].\n", (void *) value,
++ (unsigned long) pResource -> type, (unsigned long) type, serverClient -> index);
++ #endif
++
++ FreeResource(pResource -> id, RT_NONE);
++
++ return 1;
++ }
++ }
++ }
++
++ return 0;
++}
++
++#endif
++
+ Bool
+ AddResource(XID id, RESTYPE type, pointer value)
+ {
+ int client;
+ register ClientResourceRec *rrec;
+ register ResourcePtr res, *head;
+-
++
+ client = CLIENT_ID(id);
+ rrec = &clientTable[client];
+ if (!rrec->buckets)
+@@ -437,6 +566,18 @@
+ (unsigned long)id, type, (unsigned long)value, client);
+ FatalError("client not in use\n");
+ }
++
++#ifdef NXAGENT_SERVER
++
++ nxagentSwitchResourceType(client, type, value);
++
++ #ifdef TEST
++ fprintf(stderr, "AddResource: Adding resource for client [%d] type [%lu] value [%p] id [%lu].\n",
++ client, (unsigned long) type, (void *) value, (unsigned long) id);
++ #endif
++
++#endif
++
+ if ((rrec->elements >= 4*rrec->buckets) &&
+ (rrec->hashsize < MAXHASHSIZE))
+ RebuildTable(client);
+@@ -453,6 +594,9 @@
+ res->value = value;
+ *head = res;
+ rrec->elements++;
++ #ifdef NXAGENT_SERVER
++ nxagentResChangedFlag = 1;
++ #endif
+ if (!(id & SERVER_BIT) && (id >= rrec->expectID))
+ rrec->expectID = id + 1;
+ return TRUE;
+@@ -517,6 +661,14 @@
+ int elements;
+ Bool gotOne = FALSE;
+
++#ifdef NXAGENT_SERVER
++
++ #ifdef TEST
++ fprintf(stderr, "FreeResource: Freeing resource id [%lu].\n", (unsigned long) id);
++ #endif
++
++#endif
++
+ if (((cid = CLIENT_ID(id)) < MAXCLIENTS) && clientTable[cid].buckets)
+ {
+ head = &clientTable[cid].resources[Hash(cid, id)];
+@@ -530,6 +682,9 @@
+ RESTYPE rtype = res->type;
+ *prev = res->next;
+ elements = --*eltptr;
++ #ifdef NXAGENT_SERVER
++ nxagentResChangedFlag = 1;
++ #endif
+ if (rtype & RC_CACHED)
+ FlushClientCaches(res->id);
+ if (rtype != skipDeleteFuncType)
+@@ -570,6 +725,9 @@
+ if (res->id == id && res->type == type)
+ {
+ *prev = res->next;
++ #ifdef NXAGENT_SERVER
++ nxagentResChangedFlag = 1;
++ #endif
+ if (type & RC_CACHED)
+ FlushClientCaches(res->id);
+ if (!skipFree)
+@@ -634,10 +792,28 @@
+ int i, elements;
+ register int *eltptr;
+
++ #ifdef NXAGENT_SERVER
++ register ResourcePtr **resptr;
++ #endif
++
+ if (!client)
+ client = serverClient;
+
++/*
++ * If func triggers a resource table
++ * rebuild then restart the loop.
++ */
++
++#ifdef NXAGENT_SERVER
++RestartLoop:
++#endif
++
+ resources = clientTable[client->index].resources;
++
++ #ifdef NXAGENT_SERVER
++ resptr = &clientTable[client->index].resources;
++ #endif
++
+ eltptr = &clientTable[client->index].elements;
+ for (i = 0; i < clientTable[client->index].buckets; i++)
+ {
+@@ -646,8 +822,44 @@
+ next = this->next;
+ if (!type || this->type == type) {
+ elements = *eltptr;
++
++ /*
++ * FIXME:
++ * It is not safe to let a function change the resource
++ * table we are reading!
++ */
++
++ #ifdef NXAGENT_SERVER
++ nxagentResChangedFlag = 0;
++ #endif
+ (*func)(this->value, this->id, cdata);
++
++ /*
++ * Avoid that a call to RebuildTable() could invalidate the
++ * pointer. This is safe enough, because in RebuildTable()
++ * the new pointer is allocated just before the old one is
++ * freed, so it can't point to the same address.
++ */
++
++ #ifdef NXAGENT_SERVER
++ if (*resptr != resources)
++ goto RestartLoop;
++ #endif
++
++ /*
++ * It's not enough to check if the number of elements has
++ * changed, beacause it could happen that the number of
++ * resources that have been added matches the number of
++ * the freed ones.
++ * 'nxagentResChangedFlag' is set if a resource has been
++ * added or freed.
++ */
++
++ #ifdef NXAGENT_SERVER
++ if (*eltptr != elements || nxagentResChangedFlag)
++ #else
+ if (*eltptr != elements)
++ #endif
+ next = resources[i]; /* start over */
+ }
+ }
+@@ -665,10 +877,28 @@
+ int i, elements;
+ register int *eltptr;
+
++ #ifdef NXAGENT_SERVER
++ register ResourcePtr **resptr;
++ #endif
++
+ if (!client)
+ client = serverClient;
+
++/*
++ * If func triggers a resource table
++ * rebuild then restart the loop.
++ */
++
++#ifdef NXAGENT_SERVER
++RestartLoop:
++#endif
++
+ resources = clientTable[client->index].resources;
++
++ #ifdef NXAGENT_SERVER
++ resptr = &clientTable[client->index].resources;
++ #endif
++
+ eltptr = &clientTable[client->index].elements;
+ for (i = 0; i < clientTable[client->index].buckets; i++)
+ {
+@@ -676,8 +906,44 @@
+ {
+ next = this->next;
+ elements = *eltptr;
++
++ /*
++ * FIXME:
++ * It is not safe to let a function change the resource
++ * table we are reading!
++ */
++
++ #ifdef NXAGENT_SERVER
++ nxagentResChangedFlag = 0;
++ #endif
+ (*func)(this->value, this->id, this->type, cdata);
++
++ /*
++ * Avoid that a call to RebuildTable() could invalidate the
++ * pointer. This is safe enough, because in RebuildTable()
++ * the new pointer is allocated just before the old one is
++ * freed, so it can't point to the same address.
++ */
++
++ #ifdef NXAGENT_SERVER
++ if (*resptr != resources)
++ goto RestartLoop;
++ #endif
++
++ /*
++ * It's not enough to check if the number of elements has
++ * changed, beacause it could happen that the number of
++ * resources that have been added matches the number of
++ * the freed ones.
++ * 'nxagentResChangedFlag' is set if a resource has been
++ * added or freed.
++ */
++
++ #ifdef NXAGENT_SERVER
++ if (*eltptr != elements || nxagentResChangedFlag)
++ #else
+ if (*eltptr != elements)
++ #endif
+ next = resources[i]; /* start over */
+ }
+ }
+@@ -695,15 +961,44 @@
+ ResourcePtr this;
+ int i;
+
++ #ifdef NXAGENT_SERVER
++ ResourcePtr **resptr;
++ Bool res;
++ #endif
++
+ if (!client)
+ client = serverClient;
+
++/*
++ * If func triggers a resource table
++ * rebuild then restart the loop.
++ */
++
++#ifdef NXAGENT_SERVER
++RestartLoop:
++#endif
++
+ resources = clientTable[client->index].resources;
++
++ #ifdef NXAGENT_SERVER
++ resptr = &clientTable[client->index].resources;
++ #endif
++
+ for (i = 0; i < clientTable[client->index].buckets; i++) {
+ for (this = resources[i]; this; this = this->next) {
+ if (!type || this->type == type) {
++ #ifdef NXAGENT_SERVER
++ res = (*func)(this->value, this->id, cdata);
++
++ if (*resptr != resources)
++ goto RestartLoop;
++
++ if (res)
++ return this->value;
++ #else
+ if((*func)(this->value, this->id, cdata))
+ return this->value;
++ #endif
+ }
+ }
+ }
+@@ -952,3 +1247,4 @@
+ }
+
+ #endif /* XCSECURITY */
++
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXshm.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXshm.c.X.original
new file mode 100644
index 000000000..ecc5d490c
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXshm.c.X.original
@@ -0,0 +1,373 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c.X.original 2015-02-13 14:03:44.748441432 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c 2015-02-10 19:13:13.812685587 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.41 2003/12/17 23:28:56 alanh Exp $ */
+ /************************************************************
+
+@@ -73,6 +90,31 @@
+
+ #include "modinit.h"
+
++#include "Trap.h"
++#include "Agent.h"
++#include "Drawable.h"
++#include "Pixmaps.h"
++
++/*
++ * Set here the required log level.
++ */
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
++
++#ifdef TEST
++#include "Literals.h"
++#endif
++
++extern void fbGetImage(DrawablePtr pDrw, int x, int y, int w, int h,
++ unsigned int format, unsigned long planeMask, char *d);
++
++extern void fbPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth,
++ int x, int y, int w, int h, int leftPad, int format,
++ char *pImage);
++
+ typedef struct _ShmDesc {
+ struct _ShmDesc *next;
+ int shmid;
+@@ -216,15 +258,25 @@
+ }
+ #endif
+
++ if (nxagentOption(SharedMemory) == False)
++ {
++ return;
++ }
++
+ sharedPixmaps = xFalse;
+ pixmapFormat = 0;
+ {
+- sharedPixmaps = xTrue;
++ sharedPixmaps = nxagentOption(SharedPixmaps);
+ pixmapFormat = shmPixFormat[0];
+ for (i = 0; i < screenInfo.numScreens; i++)
+ {
+ if (!shmFuncs[i])
++ {
++ #ifdef TEST
++ fprintf(stderr, "ShmExtensionInit: Registering shmFuncs as miFuncs.\n");
++ #endif
+ shmFuncs[i] = &miFuncs;
++ }
+ if (!shmFuncs[i]->CreatePixmap)
+ sharedPixmaps = xFalse;
+ if (shmPixFormat[i] && (shmPixFormat[i] != pixmapFormat))
+@@ -335,6 +387,9 @@
+ ShmRegisterFbFuncs(pScreen)
+ ScreenPtr pScreen;
+ {
++ #ifdef TEST
++ fprintf(stderr, "ShmRegisterFbFuncs: Registering shmFuncs as fbFuncs.\n");
++ #endif
+ shmFuncs[pScreen->myNum] = &fbFuncs;
+ }
+
+@@ -512,12 +567,17 @@
+ PixmapPtr pmap;
+ GCPtr putGC;
+
++ nxagentShmTrap = 0;
+ putGC = GetScratchGC(depth, dst->pScreen);
+ if (!putGC)
++ {
++ nxagentShmTrap = 1;
+ return;
++ }
+ pmap = (*dst->pScreen->CreatePixmap)(dst->pScreen, sw, sh, depth);
+ if (!pmap)
+ {
++ nxagentShmTrap = 1;
+ FreeScratchGC(putGC);
+ return;
+ }
+@@ -532,6 +592,7 @@
+ (void)(*pGC->ops->CopyArea)((DrawablePtr)pmap, dst, pGC, 0, 0, sw, sh,
+ dx, dy);
+ (*pmap->drawable.pScreen->DestroyPixmap)(pmap);
++ nxagentShmTrap = 1;
+ }
+
+ static void
+@@ -542,6 +603,15 @@
+ unsigned int format;
+ char *data;
+ {
++ int length;
++ char *newdata;
++ extern int nxagentImageLength(int, int, int, int, int);
++
++ #ifdef TEST
++ fprintf(stderr, "fbShmPutImage: Called with drawable at [%p] GC at [%p] data at [%p].\n",
++ (void *) dst, (void *) pGC, (void *) data);
++ #endif
++
+ if ((format == ZPixmap) || (depth == 1))
+ {
+ PixmapPtr pPixmap;
+@@ -556,11 +626,45 @@
+ else
+ (void)(*pGC->ops->CopyArea)((DrawablePtr)pPixmap, dst, pGC,
+ sx, sy, sw, sh, dx, dy);
++
++ /*
++ * We updated the internal framebuffer,
++ * now we want to go on the real X.
++ */
++
++ #ifdef TEST
++ fprintf(stderr, "fbShmPutImage: Realizing the PutImage with depth [%d] "
++ " format [%d] w [%d] h [%d] sx [%d] sy [%d] sw [%d] "
++ " sh [%d] dx [%d].\n", depth, format, w, h,
++ sx, sy, sw, sh, dx);
++ #endif
++
++ length = nxagentImageLength(sw, sh, format, 0, depth);
++
++ if ((newdata = xalloc(length)) != NULL)
++ {
++ fbGetImage((DrawablePtr) pPixmap, sx, sy, sw, sh, format, AllPlanes, newdata);
++ (*pGC->ops->PutImage)(dst, pGC, depth, dx, dy, sw, sh, 0, format, newdata);
++
++ xfree(newdata);
++ }
++ else
++ {
++ #ifdef WARNING
++ fprintf(stderr, "fbShmPutImage: WARNING! Data allocation failed.\n");
++ #endif
++ }
++
+ FreeScratchPixmapHeader(pPixmap);
+ }
+ else
++ {
++ #ifdef TEST
++ fprintf(stderr, "fbShmPutImage: Calling miShmPutImage().\n");
++ #endif
+ miShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy,
+ data);
++ }
+ }
+
+
+@@ -895,26 +999,22 @@
+ return BadValue;
+ }
+
+- if ((((stuff->format == ZPixmap) && (stuff->srcX == 0)) ||
+- ((stuff->format != ZPixmap) &&
+- (stuff->srcX < screenInfo.bitmapScanlinePad) &&
+- ((stuff->format == XYBitmap) ||
+- ((stuff->srcY == 0) &&
+- (stuff->srcHeight == stuff->totalHeight))))) &&
+- ((stuff->srcX + stuff->srcWidth) == stuff->totalWidth))
+- (*pGC->ops->PutImage) (pDraw, pGC, stuff->depth,
+- stuff->dstX, stuff->dstY,
+- stuff->totalWidth, stuff->srcHeight,
+- stuff->srcX, stuff->format,
+- shmdesc->addr + stuff->offset +
+- (stuff->srcY * length));
+- else
+- (*shmFuncs[pDraw->pScreen->myNum]->PutImage)(
+- pDraw, pGC, stuff->depth, stuff->format,
+- stuff->totalWidth, stuff->totalHeight,
+- stuff->srcX, stuff->srcY,
+- stuff->srcWidth, stuff->srcHeight,
+- stuff->dstX, stuff->dstY,
++ #ifdef TEST
++ fprintf(stderr, "ProcShmPutImage: Format [%d] srcX [%d] srcY [%d], "
++ "totalWidth [%d] totalHeight [%d]\n", stuff->format, stuff->srcX,
++ stuff->srcY, stuff->totalWidth, stuff->totalHeight);
++ #endif
++
++ #ifdef TEST
++ fprintf(stderr, "ProcShmPutImage: Calling (*shmFuncs[pDraw->pScreen->myNum]->PutImage)().\n");
++ #endif
++
++ (*shmFuncs[pDraw->pScreen->myNum]->PutImage)(
++ pDraw, pGC, stuff->depth, stuff->format,
++ stuff->totalWidth, stuff->totalHeight,
++ stuff->srcX, stuff->srcY,
++ stuff->srcWidth, stuff->srcHeight,
++ stuff->dstX, stuff->dstY,
+ shmdesc->addr + stuff->offset);
+
+ if (stuff->sendEvent)
+@@ -1056,15 +1156,37 @@
+ {
+ register PixmapPtr pPixmap;
+
+- pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth);
++ nxagentShmPixmapTrap = 1;
++
++ pPixmap = (*pScreen->CreatePixmap)(pScreen, width, height, depth);
++
+ if (!pPixmap)
+- return NullPixmap;
++ {
++ nxagentShmPixmapTrap = 0;
++
++ return NullPixmap;
++ }
++
++ #ifdef TEST
++ fprintf(stderr,"fbShmCreatePixmap: Width [%d] Height [%d] Depth [%d]\n", width, height, depth);
++ #endif
+
+ if (!(*pScreen->ModifyPixmapHeader)(pPixmap, width, height, depth,
+- BitsPerPixel(depth), PixmapBytePad(width, depth), (pointer)addr)) {
+- (*pScreen->DestroyPixmap)(pPixmap);
+- return NullPixmap;
++ BitsPerPixel(depth), PixmapBytePad(width, depth), (pointer)addr))
++ {
++ #ifdef WARNING
++ fprintf(stderr,"fbShmCreatePixmap: Return Null Pixmap.\n");
++ #endif
++
++ (*pScreen->DestroyPixmap)(pPixmap);
++
++ nxagentShmPixmapTrap = 0;
++
++ return NullPixmap;
+ }
++
++ nxagentShmPixmapTrap = 0;
++
+ return pPixmap;
+ }
+
+@@ -1146,6 +1268,18 @@
+ register ClientPtr client;
+ {
+ REQUEST(xReq);
++
++ #ifdef TEST
++ fprintf(stderr, "ProcShmDispatch: Going to execute operation [%d] for client [%d].\n",
++ stuff -> data, client -> index);
++
++ if (stuff->data <= X_ShmCreatePixmap)
++ {
++ fprintf(stderr, "ProcShmDispatch: Request [%s] OPCODE#%d.\n",
++ nxagentShmRequestLiteral[stuff->data], stuff->data);
++ }
++ #endif
++
+ switch (stuff->data)
+ {
+ case X_ShmQueryVersion:
+@@ -1155,11 +1289,38 @@
+ case X_ShmDetach:
+ return ProcShmDetach(client);
+ case X_ShmPutImage:
++ {
++ int result;
++
++ #ifdef TEST
++ fprintf(stderr, "ProcShmDispatch: Going to execute ProcShmPutImage() for client [%d].\n",
++ client -> index);
++ #endif
++
++ nxagentShmTrap = 1;
++
+ #ifdef PANORAMIX
+ if ( !noPanoramiXExtension )
+- return ProcPanoramiXShmPutImage(client);
++ {
++ result = ProcPanoramiXShmPutImage(client);
++
++ nxagentShmTrap = 0;
++
++ return result;
++ }
+ #endif
+- return ProcShmPutImage(client);
++
++ result = ProcShmPutImage(client);
++
++ nxagentShmTrap = 0;
++
++ #ifdef TEST
++ fprintf(stderr, "ProcShmDispatch: Returning from ProcShmPutImage() for client [%d].\n",
++ client -> index);
++ #endif
++
++ return result;
++ }
+ case X_ShmGetImage:
+ #ifdef PANORAMIX
+ if ( !noPanoramiXExtension )
+@@ -1290,6 +1451,12 @@
+ register ClientPtr client;
+ {
+ REQUEST(xReq);
++
++ #ifdef TEST
++ fprintf(stderr, "SProcShmDispatch: Going to execute operation [%d] for client [%d].\n",
++ stuff -> data, client -> index);
++ #endif
++
+ switch (stuff->data)
+ {
+ case X_ShmQueryVersion:
+@@ -1299,7 +1466,27 @@
+ case X_ShmDetach:
+ return SProcShmDetach(client);
+ case X_ShmPutImage:
+- return SProcShmPutImage(client);
++ {
++ int result;
++
++ #ifdef TEST
++ fprintf(stderr, "SProcShmDispatch: Going to execute SProcShmPutImage() for client [%d].\n",
++ client -> index);
++ #endif
++
++ nxagentShmTrap = 1;
++
++ result = SProcShmPutImage(client);
++
++ nxagentShmTrap = 0;
++
++ #ifdef TEST
++ fprintf(stderr, "SProcShmDispatch: Returning from SProcShmPutImage() for client [%d].\n",
++ client -> index);
++ #endif
++
++ return result;
++ }
+ case X_ShmGetImage:
+ return SProcShmGetImage(client);
+ case X_ShmCreatePixmap:
+@@ -1308,3 +1495,4 @@
+ return BadRequest;
+ }
+ }
++
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXwindow.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXwindow.c.X.original
new file mode 100644
index 000000000..667dadc42
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXwindow.c.X.original
@@ -0,0 +1,561 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c.X.original 2015-02-13 14:03:44.748441432 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c 2015-02-10 19:13:13.780686785 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XdotOrg: xc/programs/Xserver/dix/window.c,v 1.12 2005/07/03 08:53:38 daniels Exp $ */
+ /* $Xorg: window.c,v 1.4 2001/02/09 02:04:41 xorgcvs Exp $ */
+ /*
+@@ -97,9 +114,10 @@
+ #include "dixstruct.h"
+ #include "gcstruct.h"
+ #include "servermd.h"
++#include "selection.h"
+ #ifdef PANORAMIX
+-#include "panoramiX.h"
+-#include "panoramiXsrv.h"
++#include "../../Xext/panoramiX.h"
++#include "../../Xext/panoramiXsrv.h"
+ #endif
+ #include "dixevents.h"
+ #include "globals.h"
+@@ -112,6 +130,19 @@
+ #include <X11/extensions/security.h>
+ #endif
+
++#include "Screen.h"
++#include "Options.h"
++#include "Atoms.h"
++#include "Clipboard.h"
++#include "Splash.h"
++#include "Rootless.h"
++#include "Composite.h"
++#include "Drawable.h"
++#include "Colormap.h"
++
++extern Bool nxagentWMIsRunning;
++extern Bool nxagentScreenTrap;
++
+ /******
+ * Window stuff for server
+ *
+@@ -160,10 +191,25 @@
+ #define SubStrSend(pWin,pParent) (StrSend(pWin) || SubSend(pParent))
+
+
++/*
++ * Set here the required log level.
++ */
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
++
+ int numSaveUndersViewable = 0;
+ int deltaSaveUndersViewable = 0;
+
+-#ifdef DEBUG
++WindowPtr nxagentRootTileWindow;
++
++/*
++ * This block used the DEBUG symbol.
++ */
++
++#ifdef WINDOW_TREE_DEBUG
+ /******
+ * PrintWindowTree
+ * For debugging only
+@@ -289,6 +335,31 @@
+ #endif
+ }
+
++#ifdef NXAGENT_SERVER
++
++void nxagentClearSplash(WindowPtr pW)
++{
++ int w, h;
++ ScreenPtr pScreen;
++
++ w = pW->drawable.width;
++ h = pW->drawable.height;
++
++ pScreen = pW->drawable.pScreen;
++
++ if (pW->backgroundState == BackgroundPixmap)
++ {
++ (*pScreen->DestroyPixmap)(pW->background.pixmap);
++ }
++
++ pW->backgroundState = BackgroundPixel;
++ pW->background.pixel = nxagentLogoBlack;
++
++ (*pScreen->ChangeWindowAttributes)(pW, CWBackPixmap|CWBackPixel);
++}
++
++#endif /* NXAGENT_SERVER */
++
+ static void
+ MakeRootTile(WindowPtr pWin)
+ {
+@@ -333,6 +404,9 @@
+
+ FreeScratchGC(pGC);
+
++#ifdef NXAGENT_SERVER
++ nxagentRootTileWindow = pWin;
++#endif /* NXAGENT_SERVER */
+ }
+
+ WindowPtr
+@@ -458,9 +532,16 @@
+ return FALSE;
+
+ if (disableBackingStore)
+- pScreen->backingStoreSupport = NotUseful;
++ {
++ pScreen -> backingStoreSupport = NotUseful;
++ }
++
+ if (enableBackingStore)
+- pScreen->backingStoreSupport = Always;
++ {
++ pScreen -> backingStoreSupport = Always;
++ }
++
++ pScreen->saveUnderSupport = False;
+
+ #ifdef DO_SAVE_UNDERS
+ if ((pScreen->backingStoreSupport != NotUseful) &&
+@@ -480,6 +561,107 @@
+ return TRUE;
+ }
+
++#ifdef NXAGENT_SERVER
++
++void
++InitRootWindow(WindowPtr pWin)
++{
++ ScreenPtr pScreen;
++
++ #ifdef TEST
++ fprintf(stderr, "InitRootWindow: Called for window at [%p][%ld] with parent [%p].\n",
++ (void *) pWin, nxagentWindowPriv(pWin)->window, (void *) pWin -> parent);
++ #endif
++
++ if (nxagentOption(Rootless))
++ {
++ #ifdef TEST
++ fprintf(stderr, "InitRootWindow: Assigned agent root to window at [%p][%ld] with parent [%p].\n",
++ (void *) pWin, nxagentWindowPriv(pWin)->window, (void *) pWin -> parent);
++ #endif
++
++ nxagentRootlessWindow = pWin;
++ }
++
++ pScreen = pWin->drawable.pScreen;
++
++ /*
++ * A root window is created for each screen by main
++ * and the pointer is saved in WindowTable as in the
++ * following snippet:
++ *
++ * for (i = 0; i < screenInfo.numScreens; i++)
++ * InitRootWindow(WindowTable[i]);
++ *
++ * Our root window on the real display was already
++ * created at the time the screen was opened, so it
++ * is unclear how this window (or the other window,
++ * if you prefer) fits in the big picture.
++ */
++
++ #ifdef TEST
++ fprintf(stderr, "InitRootWindow: Going to create window as root at [%p][%ld] with parent [%p].\n",
++ (void *) pWin, nxagentWindowPriv(pWin)->window, (void *) pWin -> parent);
++ #endif
++
++ if (!(*pScreen->CreateWindow)(pWin))
++ return; /* XXX */
++
++ #ifdef TEST
++ fprintf(stderr, "InitRootWindow: Created window as root at [%p][%ld] with parent [%p].\n",
++ (void *) pWin, nxagentWindowPriv(pWin)->window, (void *) pWin -> parent);
++ #endif
++
++ (*pScreen->PositionWindow)(pWin, 0, 0);
++
++ pWin->cursorIsNone = FALSE;
++ pWin->optional->cursor = rootCursor;
++ rootCursor->refcnt++;
++ pWin->backingStore = defaultBackingStore;
++ pWin->forcedBS = (defaultBackingStore != NotUseful);
++
++ #ifdef NXAGENT_SPLASH
++ /* We SHOULD check for an error value here XXX */
++ pWin -> background.pixel = pScreen -> blackPixel;
++ (*pScreen->ChangeWindowAttributes)(pWin,
++ CWBackPixel|CWBorderPixel|CWCursor|CWBackingStore);
++ #else
++ (*pScreen->ChangeWindowAttributes)(pWin,
++ CWBackPixmap|CWBorderPixel|CWCursor|CWBackingStore);
++ #endif
++
++ MakeRootTile(pWin);
++
++ /*
++ * Map both the root and the default agent window.
++ */
++
++ #ifdef TEST
++ fprintf(stderr, "InitRootWindow: Mapping default windows.\n");
++ #endif
++
++ nxagentInitAtoms(pWin);
++
++ nxagentInitClipboard(pWin);
++
++ nxagentMapDefaultWindows();
++
++ nxagentRedirectDefaultWindows();
++
++ #ifdef NXAGENT_ARTSD
++ {
++ char artsd_port[10];
++ int nPort;
++ extern void nxagentPropagateArtsdProperties(ScreenPtr pScreen, char *port);
++ nPort = atoi(display) + 7000;
++ sprintf(artsd_port,"%d", nPort);
++ nxagentPropagateArtsdProperties(pScreen, artsd_port);
++ }
++ #endif
++}
++
++#else /* NXAGENT_SERVER */
++
+ void
+ InitRootWindow(WindowPtr pWin)
+ {
+@@ -502,6 +684,8 @@
+ MapWindow(pWin, serverClient);
+ }
+
++#endif /* NXAGENT_SERVER */
++
+ /* Set the region to the intersection of the rectangle and the
+ * window's winSize. The window is typically the parent of the
+ * window from which the region came.
+@@ -512,7 +696,9 @@
+ register int x, register int y,
+ register int w, register int h)
+ {
++#ifndef NXAGENT_SERVER
+ ScreenPtr pScreen = pWin->drawable.pScreen;
++#endif /* NXAGENT_SERVER */
+ BoxRec box;
+
+ box = *(REGION_EXTENTS(pScreen, &pWin->winSize));
+@@ -907,6 +1093,14 @@
+ if (pWin->prevSib)
+ pWin->prevSib->nextSib = pWin->nextSib;
+ }
++
++ if (pWin -> optional &&
++ pWin -> optional -> colormap &&
++ pWin -> parent)
++ {
++ nxagentSetInstalledColormapWindows(pWin -> drawable.pScreen);
++ }
++
+ xfree(pWin);
+ return Success;
+ }
+@@ -1147,6 +1341,12 @@
+ goto PatchUp;
+ }
+ pWin->backingStore = val;
++
++ #ifdef TEST
++ fprintf(stderr, "ChangeWindowAttributes: Changed backing store value to %d for window at %p.\n",
++ val, (void*)pWin);
++ #endif
++
+ pWin->forcedBS = FALSE;
+ break;
+ case CWBackingPlanes:
+@@ -1227,6 +1427,22 @@
+ #endif /* DO_SAVE_UNDERS */
+ break;
+ case CWEventMask:
++ /*
++ * TODO: Some applications like java bean shell
++ * don' t work if they cannot monitor the root
++ * window for Structure Redirect events. However
++ * this doesn't seem to be the best solution, since
++ * also an X server with a window manager running,
++ * doesn't allow to monitor for those events, but
++ * the java bean shell works flawlessy on this
++ * server.
++ *
++ * if (nxagentCheckIllegalRootMonitoring(pWin, (Mask)*pVlist))
++ * {
++ * return BadAccess;
++ * }
++ */
++
+ result = EventSelectForWindow(pWin, client, (Mask )*pVlist);
+ if (result)
+ {
+@@ -1611,8 +1827,9 @@
+ pRgn = REGION_CREATE(pWin->drawable.pScreen, &box, 1);
+ #ifdef SHAPE
+ if (wBoundingShape (pWin) || wClipShape (pWin)) {
++#ifndef NXAGENT_SERVER
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+-
++#endif /* NXAGENT_SERVER */
+ REGION_TRANSLATE(pScreen, pRgn, - pWin->drawable.x,
+ - pWin->drawable.y);
+ if (wBoundingShape (pWin))
+@@ -1647,8 +1864,9 @@
+ (int)pWin->drawable.height);
+ #ifdef SHAPE
+ if (wBoundingShape (pWin) || wClipShape (pWin)) {
++#ifndef NXAGENT_SERVER
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+-
++#endif /* NXAGENT_SERVER */
+ REGION_TRANSLATE(pScreen, &pWin->winSize, - pWin->drawable.x,
+ - pWin->drawable.y);
+ if (wBoundingShape (pWin))
+@@ -1689,8 +1907,9 @@
+ (int)(pWin->drawable.height + (bw<<1)));
+ #ifdef SHAPE
+ if (wBoundingShape (pWin)) {
++#ifndef NXAGENT_SERVER
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+-
++#endif /* NXAGENT_SERVER */
+ REGION_TRANSLATE(pScreen, &pWin->borderSize, - pWin->drawable.x,
+ - pWin->drawable.y);
+ REGION_INTERSECT(pScreen, &pWin->borderSize, &pWin->borderSize,
+@@ -1800,7 +2019,19 @@
+ pSib->drawable.y = pWin->drawable.y + pSib->origin.y;
+ SetWinSize (pSib);
+ SetBorderSize (pSib);
+- (*pScreen->PositionWindow)(pSib, pSib->drawable.x, pSib->drawable.y);
++
++ /*
++ * Don't force X to move children. It will position them
++ * according with gravity.
++ *
++ * (*pScreen->PositionWindow)(pSib, pSib->drawable.x, pSib->drawable.y);
++ */
++
++ /*
++ * Update pSib privates, as this window is moved by X.
++ */
++
++ nxagentAddConfiguredWindow(pSib, CW_Update);
+
+ if ( (pChild = pSib->firstChild) )
+ {
+@@ -1812,8 +2043,10 @@
+ pChild->origin.y;
+ SetWinSize (pChild);
+ SetBorderSize (pChild);
+- (*pScreen->PositionWindow)(pChild,
+- pChild->drawable.x, pChild->drawable.y);
++
++ (*pScreen->PositionWindow)(pChild, pChild->drawable.x,
++ pChild->drawable.y);
++
+ if (pChild->firstChild)
+ {
+ pChild = pChild->firstChild;
+@@ -1900,8 +2133,9 @@
+ BoxPtr pBox)
+ {
+ RegionPtr pRgn;
++#ifndef NXAGENT_SERVER
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+-
++#endif /* NXAGENT_SERVER */
+ pRgn = REGION_CREATE(pScreen, pBox, 1);
+ if (wBoundingShape (pWin)) {
+ REGION_TRANSLATE(pScreen, pRgn, -pWin->origin.x,
+@@ -2286,6 +2520,28 @@
+ /* Figure out if the window should be moved. Doesnt
+ make the changes to the window if event sent */
+
++ #ifdef TEST
++ if (nxagentWindowTopLevel(pWin))
++ {
++
++ fprintf(stderr, "ConfigureWindow: pWin [%p] mask [%lu] client [%p]\n",
++ pWin, mask, client);
++
++ fprintf(stderr, "ConfigureWindow: x [%d] y [%d] w [%d] h [%d] CWStackMode [%d] "
++ "smode [%d] pSib [%p]\n",
++ x, y, w, h, (mask & CWStackMode) ? 1 : 0, smode, pSib);
++ }
++ #endif
++
++ if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin) &&
++ pWin -> overrideRedirect == 0 &&
++ nxagentScreenTrap == 0)
++ {
++ nxagentConfigureRootlessWindow(pWin, x, y, w, h, bw, pSib, smode, mask);
++
++ return Success;
++ }
++
+ if (mask & CWStackMode)
+ pSib = WhereDoIGoInTheStack(pWin, pSib, pParent->drawable.x + x,
+ pParent->drawable.y + y,
+@@ -2443,6 +2699,9 @@
+
+ if (action != RESTACK_WIN)
+ CheckCursorConfinement(pWin);
++
++ nxagentFlushConfigureWindow();
++
+ return(Success);
+ #undef RESTACK_WIN
+ #undef MOVE_WIN
+@@ -2468,6 +2727,20 @@
+ xEvent event;
+ BoxRec box;
+
++ #ifdef TEST
++ fprintf(stderr, "CirculateWindow: pParent [%p] direction [%d] client [%p]\n",
++ pParent, direction, client);
++ #endif
++
++ /*
++ * if (nxagentOption(Rootless) && nxagentWMIsRunning &&
++ * nxagentWindowTopLevel(pWin) && pWin -> overrideRedirect == 0)
++ * {
++ * nxagentCirculateRootlessWindows(direction);
++ * return Success;
++ * }
++ */
++
+ pHead = RealChildHead(pParent);
+ pFirst = pHead ? pHead->nextSib : pParent->firstChild;
+ if (direction == RaiseLowest)
+@@ -2582,6 +2855,12 @@
+ /* insert at begining of pParent */
+ pWin->parent = pParent;
+ pPrev = RealChildHead(pParent);
++
++ if (pWin->parent == WindowTable[0])
++ {
++ nxagentSetTopLevelEventMask(pWin);
++ }
++
+ if (pPrev)
+ {
+ pWin->nextSib = pPrev->nextSib;
+@@ -2614,7 +2893,9 @@
+
+ if (pScreen->ReparentWindow)
+ (*pScreen->ReparentWindow)(pWin, pPriorParent);
++
+ (*pScreen->PositionWindow)(pWin, pWin->drawable.x, pWin->drawable.y);
++
+ ResizeChildrenWinSize(pWin, 0, 0, 0, 0);
+
+ CheckWindowOptionalNeed(pWin);
+@@ -2677,6 +2958,13 @@
+ #endif
+ WindowPtr pLayerWin;
+
++ #ifdef TEST
++ if (nxagentWindowTopLevel(pWin))
++ {
++ fprintf(stderr, "MapWindow: pWin [%p] client [%p]\n", pWin, client);
++ }
++ #endif
++
+ if (pWin->mapped)
+ return(Success);
+
+@@ -2782,6 +3070,8 @@
+ REGION_UNINIT(pScreen, &temp);
+ }
+
++ nxagentFlushConfigureWindow();
++
+ return(Success);
+ }
+
+@@ -2981,6 +3271,14 @@
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+ WindowPtr pLayerWin = pWin;
+
++ #ifdef TEST
++ if (nxagentWindowTopLevel(pWin))
++ {
++ fprintf(stderr, "UnmapWindow: pWin [%p] fromConfigure [%d]\n", pWin,
++ fromConfigure);
++ }
++ #endif
++
+ if ((!pWin->mapped) || (!(pParent = pWin->parent)))
+ return(Success);
+ if (SubStrSend(pWin, pParent))
+@@ -3324,9 +3622,19 @@
+ (* screenInfo.screens[i]->SaveScreen) (screenInfo.screens[i], on);
+ if (savedScreenInfo[i].ExternalScreenSaver)
+ {
+- if ((*savedScreenInfo[i].ExternalScreenSaver)
+- (screenInfo.screens[i], type, on == SCREEN_SAVER_FORCER))
+- continue;
++ if (nxagentOption(Timeout) != 0)
++ {
++ #ifdef TEST
++ fprintf(stderr, "SaveScreens: An external screen-saver handler is installed. "
++ "Ignoring it to let the auto-disconnect feature work.\n");
++ #endif
++ }
++ else
++ {
++ if ((*savedScreenInfo[i].ExternalScreenSaver)
++ (screenInfo.screens[i], type, on == SCREEN_SAVER_FORCER))
++ continue;
++ }
+ }
+ if (type == screenIsSaved)
+ continue;
+@@ -3669,6 +3977,11 @@
+ }
+ else
+ pWin->cursorIsNone = TRUE;
++/* FIXME
++ There is an error when disposing ClientResources on Agent exit
++ this xfree is not valid in some window at exit
++*/
++
+ xfree (pWin->optional);
+ pWin->optional = NULL;
+ }
+@@ -3851,3 +4164,4 @@
+ }
+
+ #endif
++
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXxvdisp.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXxvdisp.c.X.original
new file mode 100644
index 000000000..d8c20669d
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_hw_nxagent_X_NXxvdisp.c.X.original
@@ -0,0 +1,266 @@
+--- ./nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c.X.original 2015-02-13 14:03:44.748441432 +0100
++++ ./nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c 2015-02-13 14:03:44.748441432 +0100
+@@ -1,3 +1,20 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NXAGENT, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XdotOrg: xc/programs/Xserver/Xext/xvdisp.c,v 1.6 2005/07/03 08:53:36 daniels Exp $ */
+ /***********************************************************
+ Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
+@@ -71,6 +88,11 @@
+ #include <X11/extensions/shmstr.h>
+ #endif
+
++#include "Trap.h"
++
++#undef TEST
++#undef DEBUG
++
+ #ifdef EXTMODULE
+ #include "xf86_ansic.h"
+ #endif
+@@ -227,129 +249,175 @@
+ int
+ ProcXvDispatch(ClientPtr client)
+ {
++ int result;
++
+ REQUEST(xReq);
+
+ UpdateCurrentTime();
+
++ /*
++ * Report upstream that we are
++ * dispatching a XVideo operation.
++ */
++
++ nxagentXvTrap = 1;
++
++ #ifdef TEST
++ fprintf(stderr, "ProcXvDispatch: Going to dispatch XVideo operation [%d] for client [%d].\n",
++ stuff->data, client -> index);
++ #endif
++
+ switch (stuff->data)
+ {
+- case xv_QueryExtension: return(ProcXvQueryExtension(client));
+- case xv_QueryAdaptors: return(ProcXvQueryAdaptors(client));
+- case xv_QueryEncodings: return(ProcXvQueryEncodings(client));
++ case xv_QueryExtension: result = (ProcXvQueryExtension(client)); break;
++ case xv_QueryAdaptors: result = (ProcXvQueryAdaptors(client)); break;
++ case xv_QueryEncodings: result = (ProcXvQueryEncodings(client)); break;
+ case xv_PutVideo:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- return(XineramaXvPutVideo(client));
++ result = (XineramaXvPutVideo(client)); break;
+ else
+ #endif
+- return(ProcXvPutVideo(client));
++ result = (ProcXvPutVideo(client)); break;
+ case xv_PutStill:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- return(XineramaXvPutStill(client));
++ result = (XineramaXvPutStill(client)); break
+ else
+ #endif
+- return(ProcXvPutStill(client));
+- case xv_GetVideo: return(ProcXvGetVideo(client));
+- case xv_GetStill: return(ProcXvGetStill(client));
+- case xv_GrabPort: return(ProcXvGrabPort(client));
+- case xv_UngrabPort: return(ProcXvUngrabPort(client));
+- case xv_SelectVideoNotify: return(ProcXvSelectVideoNotify(client));
+- case xv_SelectPortNotify: return(ProcXvSelectPortNotify(client));
++ result = (ProcXvPutStill(client)); break;
++ case xv_GetVideo: result = (ProcXvGetVideo(client)); break;
++ case xv_GetStill: result = (ProcXvGetStill(client)); break;
++ case xv_GrabPort: result = (ProcXvGrabPort(client)); break;
++ case xv_UngrabPort: result = (ProcXvUngrabPort(client)); break;
++ case xv_SelectVideoNotify: result = (ProcXvSelectVideoNotify(client)); break;
++ case xv_SelectPortNotify: result = (ProcXvSelectPortNotify(client)); break;
+ case xv_StopVideo:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- return(XineramaXvStopVideo(client));
++ result = (XineramaXvStopVideo(client)); break;
+ else
+ #endif
+- return(ProcXvStopVideo(client));
++ result = (ProcXvStopVideo(client)); break;
+ case xv_SetPortAttribute:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- return(XineramaXvSetPortAttribute(client));
++ result = (XineramaXvSetPortAttribute(client)); break;
+ else
+ #endif
+- return(ProcXvSetPortAttribute(client));
+- case xv_GetPortAttribute: return(ProcXvGetPortAttribute(client));
+- case xv_QueryBestSize: return(ProcXvQueryBestSize(client));
+- case xv_QueryPortAttributes: return(ProcXvQueryPortAttributes(client));
++ result = (ProcXvSetPortAttribute(client)); break;
++ case xv_GetPortAttribute: result = (ProcXvGetPortAttribute(client)); break;
++ case xv_QueryBestSize: result = (ProcXvQueryBestSize(client)); break;
++ case xv_QueryPortAttributes: result = (ProcXvQueryPortAttributes(client)); break;
+ case xv_PutImage:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- return(XineramaXvPutImage(client));
++ result = (XineramaXvPutImage(client)); break;
+ else
+ #endif
+- return(ProcXvPutImage(client));
++ result = (ProcXvPutImage(client)); break;
+ #ifdef MITSHM
+ case xv_ShmPutImage:
+ #ifdef PANORAMIX
+ if(!noPanoramiXExtension)
+- return(XineramaXvShmPutImage(client));
++ result = (XineramaXvShmPutImage(client)); break;
+ else
+ #endif
+- return(ProcXvShmPutImage(client));
++ result = (ProcXvShmPutImage(client)); break;
+ #endif
+- case xv_QueryImageAttributes: return(ProcXvQueryImageAttributes(client));
+- case xv_ListImageFormats: return(ProcXvListImageFormats(client));
++ case xv_QueryImageAttributes: result = (ProcXvQueryImageAttributes(client)); break;
++ case xv_ListImageFormats: result = (ProcXvListImageFormats(client)); break;
+ default:
+ if (stuff->data < xvNumRequests)
+ {
+ SendErrorToClient(client, XvReqCode, stuff->data, 0,
+ BadImplementation);
+- return(BadImplementation);
++ result = (BadImplementation); break;
+ }
+ else
+ {
+ SendErrorToClient(client, XvReqCode, stuff->data, 0, BadRequest);
+- return(BadRequest);
++ result = (BadRequest); break;
+ }
+ }
++
++ nxagentXvTrap = 0;
++
++ #ifdef TEST
++ fprintf(stderr, "ProcXvDispatch: Dispatched XVideo operation [%d] for client [%d].\n",
++ stuff->data, client -> index);
++ #endif
++
++ return result;
+ }
+
+ int
+ SProcXvDispatch(ClientPtr client)
+ {
++ int result;
++
+ REQUEST(xReq);
+
+ UpdateCurrentTime();
+
++ /*
++ * Report upstream that we are
++ * dispatching a XVideo operation.
++ */
++
++ nxagentXvTrap = 1;
++
++ #ifdef TEST
++ fprintf(stderr, "SProcXvDispatch: Going to dispatch XVideo operation [%d] for client [%d].\n",
++ stuff->data, client -> index);
++ #endif
++
+ switch (stuff->data)
+ {
+- case xv_QueryExtension: return(SProcXvQueryExtension(client));
+- case xv_QueryAdaptors: return(SProcXvQueryAdaptors(client));
+- case xv_QueryEncodings: return(SProcXvQueryEncodings(client));
+- case xv_PutVideo: return(SProcXvPutVideo(client));
+- case xv_PutStill: return(SProcXvPutStill(client));
+- case xv_GetVideo: return(SProcXvGetVideo(client));
+- case xv_GetStill: return(SProcXvGetStill(client));
+- case xv_GrabPort: return(SProcXvGrabPort(client));
+- case xv_UngrabPort: return(SProcXvUngrabPort(client));
+- case xv_SelectVideoNotify: return(SProcXvSelectVideoNotify(client));
+- case xv_SelectPortNotify: return(SProcXvSelectPortNotify(client));
+- case xv_StopVideo: return(SProcXvStopVideo(client));
+- case xv_SetPortAttribute: return(SProcXvSetPortAttribute(client));
+- case xv_GetPortAttribute: return(SProcXvGetPortAttribute(client));
+- case xv_QueryBestSize: return(SProcXvQueryBestSize(client));
+- case xv_QueryPortAttributes: return(SProcXvQueryPortAttributes(client));
+- case xv_PutImage: return(SProcXvPutImage(client));
++ case xv_QueryExtension: result = (SProcXvQueryExtension(client)); break;
++ case xv_QueryAdaptors: result = (SProcXvQueryAdaptors(client)); break;
++ case xv_QueryEncodings: result = (SProcXvQueryEncodings(client)); break;
++ case xv_PutVideo: result = (SProcXvPutVideo(client)); break;
++ case xv_PutStill: result = (SProcXvPutStill(client)); break;
++ case xv_GetVideo: result = (SProcXvGetVideo(client)); break;
++ case xv_GetStill: result = (SProcXvGetStill(client)); break;
++ case xv_GrabPort: result = (SProcXvGrabPort(client)); break;
++ case xv_UngrabPort: result = (SProcXvUngrabPort(client)); break;
++ case xv_SelectVideoNotify: result = (SProcXvSelectVideoNotify(client)); break;
++ case xv_SelectPortNotify: result = (SProcXvSelectPortNotify(client)); break;
++ case xv_StopVideo: result = (SProcXvStopVideo(client)); break;
++ case xv_SetPortAttribute: result = (SProcXvSetPortAttribute(client)); break;
++ case xv_GetPortAttribute: result = (SProcXvGetPortAttribute(client)); break;
++ case xv_QueryBestSize: result = (SProcXvQueryBestSize(client)); break;
++ case xv_QueryPortAttributes: result = (SProcXvQueryPortAttributes(client)); break;
++ case xv_PutImage: result = (SProcXvPutImage(client)); break;
+ #ifdef MITSHM
+- case xv_ShmPutImage: return(SProcXvShmPutImage(client));
++ case xv_ShmPutImage: result = (SProcXvShmPutImage(client)); break;
+ #endif
+- case xv_QueryImageAttributes: return(SProcXvQueryImageAttributes(client));
+- case xv_ListImageFormats: return(SProcXvListImageFormats(client));
++ case xv_QueryImageAttributes: result = (SProcXvQueryImageAttributes(client)); break;
++ case xv_ListImageFormats: result = (SProcXvListImageFormats(client)); break;
+ default:
+ if (stuff->data < xvNumRequests)
+ {
+ SendErrorToClient(client, XvReqCode, stuff->data, 0,
+ BadImplementation);
+- return(BadImplementation);
++ result = (BadImplementation); break;
+ }
+ else
+ {
+ SendErrorToClient(client, XvReqCode, stuff->data, 0, BadRequest);
+- return(BadRequest);
++ result = (BadRequest); break;
+ }
+ }
++
++ nxagentXvTrap = 0;
++
++ #ifdef TEST
++ fprintf(stderr, "ProcXvDispatch: Dispatched XVideo operation [%d] for client [%d].\n",
++ stuff->data, client -> index);
++ #endif
++
++ return result;
+ }
+
+ static int
+@@ -2215,3 +2283,4 @@
+ }
+
+ #endif
++
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_include_dixstruct.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_include_dixstruct.h.X.original
new file mode 100644
index 000000000..f4bffa980
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_include_dixstruct.h.X.original
@@ -0,0 +1,12 @@
+--- ./nx-X11/programs/Xserver/include/dixstruct.h.X.original 2015-02-13 14:03:44.780440803 +0100
++++ ./nx-X11/programs/Xserver/include/dixstruct.h 2015-02-10 19:13:14.300667345 +0100
+@@ -170,6 +170,9 @@
+ extern Bool SmartScheduleIdle;
+ extern Bool SmartScheduleTimerStopped;
+ extern Bool SmartScheduleStartTimer(void);
++#ifdef NXAGENT_SERVER
++extern Bool SmartScheduleStopTimer(void);
++#endif
+ #define SMART_MAX_PRIORITY (20)
+ #define SMART_MIN_PRIORITY (-20)
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_WaitFor.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_WaitFor.c.X.original
new file mode 100644
index 000000000..3850a2b26
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_WaitFor.c.X.original
@@ -0,0 +1,271 @@
+--- ./nx-X11/programs/Xserver/os/WaitFor.c.X.original 2015-02-13 14:03:44.788440645 +0100
++++ ./nx-X11/programs/Xserver/os/WaitFor.c 2015-02-10 19:13:13.464698616 +0100
+@@ -48,6 +48,23 @@
+
+ /* $Xorg: WaitFor.c,v 1.4 2001/02/09 02:05:22 xorgcvs Exp $ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /*****************************************************************
+ * OS Dependent input routines:
+ *
+@@ -80,6 +97,12 @@
+ #include "dpmsproc.h"
+ #endif
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_WAKEUP)
++
++static unsigned long startTimeInMillis;
++
++#endif
++
+ #ifdef WIN32
+ /* Error codes from windows sockets differ from fileio error codes */
+ #undef EINTR
+@@ -169,8 +192,18 @@
+ Bool someReady = FALSE;
+ #endif
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "WaitForSomething: Got called.\n");
++#endif
++
+ FD_ZERO(&clientsReadable);
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_WAKEUP)
++
++ startTimeInMillis = GetTimeInMillis();
++
++#endif
++
+ /* We need a while loop here to handle
+ crashed connections and the screen saver timeout */
+ while (1)
+@@ -231,18 +264,127 @@
+ XTestComputeWaitTime (&waittime);
+ }
+ #endif /* XTESTEXT1 */
++
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_WAKEUP)
++
++ /*
++ * If caller has marked the first element of pClientsReady[],
++ * bail out of select after a short timeout. We need this to
++ * let the NX agent remove the splash screen when the timeout
++ * is expired. A better option would be to use the existing
++ * screen-saver timeout but it can be modified by clients, so
++ * we would need a special handling. This hack is trivial and
++ * keeps WaitForSomething() backward compatible with the exis-
++ * ting servers.
++ */
++
++ if (pClientsReady[0] == -1)
++ {
++ unsigned long timeoutInMillis;
++
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_WAKEUP) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "WaitForSomething: pClientsReady[0] is [%d], pClientsReady[1] is [%d].\n",
++ pClientsReady[0], pClientsReady[1]);
++#endif
++
++ timeoutInMillis = GetTimeInMillis();
++
++ if (timeoutInMillis - startTimeInMillis >= NX_TRANS_WAKEUP)
++ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_WAKEUP) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "WaitForSomething: Returning 0 because of wakeup timeout.\n");
++#endif
++ return 0;
++ }
++
++ timeoutInMillis = NX_TRANS_WAKEUP - (timeoutInMillis - startTimeInMillis);
++
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_WAKEUP) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "WaitForSomething: Milliseconds to next wakeup are %ld.\n",
++ timeoutInMillis);
++#endif
++ if (wt == NULL || (wt -> tv_sec * MILLI_PER_SECOND +
++ wt -> tv_usec / MILLI_PER_SECOND) > timeoutInMillis)
++ {
++ if ((waittime.tv_sec * MILLI_PER_SECOND +
++ waittime.tv_usec / MILLI_PER_SECOND) > timeoutInMillis)
++ {
++ waittime.tv_sec = timeoutInMillis / MILLI_PER_SECOND;
++ waittime.tv_usec = (timeoutInMillis * MILLI_PER_SECOND) %
++ (MILLI_PER_SECOND * 1000);
++ wt = &waittime;
++ }
++
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_WAKEUP) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "WaitForSomething: Next wakeup timeout set to %ld milliseconds.\n",
++ (waittime.tv_sec * MILLI_PER_SECOND) +
++ (waittime.tv_usec / MILLI_PER_SECOND));
++#endif
++ }
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_WAKEUP) && defined(NX_TRANS_DEBUG)
++ else
++ {
++ fprintf(stderr, "WaitForSomething: Using existing timeout of %ld milliseconds.\n",
++ (waittime.tv_sec * MILLI_PER_SECOND) +
++ (waittime.tv_usec / MILLI_PER_SECOND));
++ }
++#endif
++ }
++#endif
++
+ /* keep this check close to select() call to minimize race */
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
+ if (dispatchException)
++ {
+ i = -1;
++
++ fprintf(stderr, "WaitForSomething: Value of dispatchException is true. Set i = -1.\n");
++ }
++#else
++ if (dispatchException)
++ i = -1;
++#endif
+ else if (AnyClientsWriteBlocked)
+ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ if (wt == NULL)
++ {
++ fprintf(stderr, "WaitForSomething: Executing select with LastSelectMask and "
++ "clientsWritable and null timeout.\n");
++ }
++ else
++ {
++ fprintf(stderr, "WaitForSomething: Executing select with LastSelectMask, "
++ "clientsWritable, %ld secs and %ld usecs.\n",
++ wt -> tv_sec, wt -> tv_usec);
++ }
++#endif
+ XFD_COPYSET(&ClientsWriteBlocked, &clientsWritable);
+ i = Select (MaxClients, &LastSelectMask, &clientsWritable, NULL, wt);
+ }
+ else
+ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ if (wt == NULL)
++ {
++ fprintf(stderr, "WaitForSomething: Executing select with LastSelectMask and null timeout.\n");
++ }
++ else
++ {
++ fprintf(stderr, "WaitForSomething: Executing select with LastSelectMask, %ld secs and %ld usecs.\n",
++ wt -> tv_sec, wt -> tv_usec);
++ }
++#endif
+ i = Select (MaxClients, &LastSelectMask, NULL, NULL, wt);
+ }
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "WaitForSomething: Bailed out with i = [%d] and errno = [%d].\n", i, errno);
++
++ if (i < 0)
++ {
++ fprintf(stderr, "WaitForSomething: Error is [%s].\n", strerror(errno));
++ }
++#endif
+ selecterr = GetErrno();
+ WakeupHandler(i, (pointer)&LastSelectMask);
+ #ifdef XTESTEXT1
+@@ -261,15 +403,31 @@
+ #endif
+ if (i <= 0) /* An error or timeout occurred */
+ {
+- if (dispatchException)
+- return 0;
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ if (dispatchException)
++ {
++ fprintf(stderr, "WaitForSomething: Returning 0 because of (dispatchException).\n");
++ return 0;
++ }
++#else
++ if (dispatchException)
++ return 0;
++#endif
+ if (i < 0)
+ {
+ if (selecterr == EBADF) /* Some client disconnected */
+ {
+ CheckConnections ();
+- if (! XFD_ANYSET (&AllClients))
+- return 0;
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ if (! XFD_ANYSET (&AllClients))
++ {
++ fprintf(stderr, "WaitForSomething: Returning 0 because of (! XFD_ANYSET (&AllClients)).\n");
++ return 0;
++ }
++#else
++ if (! XFD_ANYSET (&AllClients))
++ return 0;
++#endif
+ }
+ else if (selecterr == EINVAL)
+ {
+@@ -293,8 +451,18 @@
+ break;
+ }
+ #endif
++#if defined(NX_TRANS_SOCKET)
++ if (*checkForInput[0] != *checkForInput[1])
++ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "WaitForSomething: Returning 0 because of (*checkForInput[0] != *checkForInput[1]).\n");
++#endif
++ return 0;
++ }
++#else
+ if (*checkForInput[0] != *checkForInput[1])
+ return 0;
++#endif
+
+ if (timers)
+ {
+@@ -358,9 +526,19 @@
+ /* Windows keyboard and mouse events are added to the input queue
+ in Block- and WakupHandlers. There is no device to check if
+ data is ready. So check here if new input is available */
++#if defined(NX_TRANS_SOCKET)
++ if (*checkForInput[0] != *checkForInput[1])
++ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "WaitForSomething: Returning 0 because of (*checkForInput[0] != *checkForInput[1]).\n");
++#endif
++ return 0;
++ }
++#else
+ if (*checkForInput[0] != *checkForInput[1])
+ return 0;
+ #endif
++#endif
+ }
+ }
+
+@@ -429,6 +607,9 @@
+ #endif
+ }
+ }
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
++ fprintf(stderr, "WaitForSomething: Returning nready.\n");
++#endif
+ return nready;
+ }
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_auth.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_auth.c.X.original
new file mode 100644
index 000000000..d7549c487
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_auth.c.X.original
@@ -0,0 +1,271 @@
+--- ./nx-X11/programs/Xserver/os/auth.c.X.original 2015-02-13 14:03:44.788440645 +0100
++++ ./nx-X11/programs/Xserver/os/auth.c 2015-02-10 19:13:13.452699065 +0100
+@@ -28,6 +28,23 @@
+ */
+ /* $XFree86: auth.c,v 1.13 2003/04/27 21:31:08 herrb Exp $ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /*
+ * authorization hooks for the server
+ * Author: Keith Packard, MIT X Consortium
+@@ -129,7 +146,24 @@
+ void
+ InitAuthorization (char *file_name)
+ {
++#ifdef __sun
++ char * envBuffer;
++#endif
+ authorization_file = file_name;
++#ifdef NX_TRANS_AUTH
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "InitAuthorization: Going to propagate auth file '%s' to the environment.\n",
++ authorization_file);
++#endif
++#ifdef __sun
++ envBuffer = malloc(15+strlen(authorization_file));
++ sprintf(envBuffer,"NX_XAUTHORITY=%s",authorization_file);
++ putenv(envBuffer);
++#else
++ setenv("NX_XAUTHORITY", authorization_file, 1);
++#endif
++#endif
++
+ }
+
+ static int
+@@ -144,6 +178,68 @@
+ if (!authorization_file)
+ return 0;
+
++#ifdef NX_TRANS_AUTH
++
++ /*
++ * We think that the way LoadAuthorization() is working is wrong.
++ * It doesn't reset the list of stored authorizations before reading
++ * the new cookies. Our take is that if a new auth file is to be
++ * read, the only cookies that are to be accepted are those that are
++ * in the new file, not those in the file -plus- those that have
++ * been in the file in the past. Furthermore, if the list can't be
++ * read or it is empty, it should assume that it ignores which co-
++ * okies are valid and thus it should disable any access. Your mile-
++ * age can vary. A less draconian approach could be to leave the old
++ * cookies if the file can't be read and remove them only if the
++ * file is empty.
++ *
++ * Adding the cookies without removing the old values for the same
++ * protocol has an important implication. If an user shares the co-
++ * okie with somebody and later wants to revoke the access to the
++ * display, changing the cookie will not work. This is especially
++ * important with NX. For security reasons, after reconnecting the
++ * session to a different display, it is advisable to generate a
++ * new set of cookies, but doing that it is useless with the current
++ * code, as the old cookies are going to be still accepted. On the
++ * same topic, consider that once an user has got access to the X
++ * server, he/she can freely enable host authentication from any
++ * host, so the safe behaviour should be to reset the host based
++ * authenthication at least at reconnection, and keep as valid only
++ * the cookies that are actually in the file. This behaviour would
++ * surely break many applications, among them a SSH connection run
++ * inside a NX session, as ssh -X reads the cookie for the display
++ * only at session startup and does not read the cookies again
++ * when the auth file is changed.
++ *
++ * Another bug (or feature, depending on how you want to consider
++ * it) is that if the authority file contains entries for different
++ * displays (as it is the norm when the authority file is the default
++ * .Xauthority in the user's home), the server will match -any- of
++ * the cookies, even cookies that are not for its own display. This
++ * means that you have be careful when passing an authority file to
++ * nxagent or Xnest and maybe keep separate files for letting nxagent
++ * find the cookie to be used to connect to the remote display and
++ * for letting it find what cookies to accept. If the file is the
++ * same, clients will be able to connect to nxagent with both the
++ * cookies.
++ */
++
++#ifdef NX_TRANS_AUTH_RESET
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "LoadAuthorization: Resetting authorization info.\n");
++ #endif
++
++ for (i = 0; i < NUM_AUTHORIZATION; i++) {
++ if (protocols[i].Reset) {
++ (*protocols[i].Reset) ();
++ }
++ }
++
++#endif
++
++#endif /* #ifdef NX_TRANS_AUTH */
++
+ f = Fopen (authorization_file, "r");
+ if (!f)
+ return -1;
+@@ -154,6 +250,14 @@
+ memcmp (protocols[i].name, auth->name, (int) auth->name_length) == 0 &&
+ protocols[i].Add)
+ {
++#ifdef NX_TRANS_AUTH
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "LoadAuthorization: Adding new record from file [%s].\n",
++ authorization_file);
++ #endif
++
++#endif
+ ++count;
+ (*protocols[i].Add) (auth->data_length, auth->data,
+ FakeClientID(0));
+@@ -162,7 +266,46 @@
+ XauDisposeAuth (auth);
+ }
+
++#ifdef NX_TRANS_AUTH
++
++ if (count == 0)
++ {
++ fprintf(stderr, "Warning: No authorization record could be read from file '%s'.\n",
++ authorization_file);
++
++ fprintf(stderr, "Warning: Please, create a valid authorization cookie using the command\n"
++ "Warning: 'xauth -f %s add <display> MIT-MAGIC-COOKIE-1 <cookie>'.\n",
++ authorization_file);
++ }
++
++#endif
++
++#ifdef NX_TRANS_AUTH
++ if (Fclose (f) != 0)
++ {
++ /*
++ * If the Fclose() fails, for example because of a signal,
++ * it's advisable to return the number of protocols read,
++ * if any, or otherwise the server would believe that no
++ * cookie is valid and eventually fall back to host based
++ * authentication. Note anyway that the new code in Check-
++ * Authorization() doesn't care the return value and gives
++ * a chance to the function to check the file at the next
++ * connection.
++ */
++
++ if (count > 0)
++ {
++ return count;
++ }
++ else
++ {
++ return -1;
++ }
++ }
++#else
+ Fclose (f);
++#endif
+ return count;
+ }
+
+@@ -194,7 +337,10 @@
+ int i;
+ struct stat buf;
+ static time_t lastmod = 0;
++
++ #ifndef NX_TRANS_AUTH
+ static Bool loaded = FALSE;
++ #endif
+
+ if (!authorization_file || stat(authorization_file, &buf))
+ {
+@@ -225,7 +371,67 @@
+ * entries for this server), and reloading it later fails, don't
+ * change anything. (loadauth == -1 && loaded)
+ */
+-
++
++#ifdef NX_TRANS_AUTH
++
++ /*
++ * The implementation of CheckAuthorization() was changed. The way
++ * the auth file was handled previously was questionable and could
++ * open the way to a vast array of security problems. There might be
++ * ways for an attacker to prevent the server from reading the file
++ * and it was enough for the server to fail reading the file once
++ * (because of a not blocked signal, for example) to leave the dis-
++ * play open to all the users running a session on the same terminal
++ * server.
++ *
++ * In NX we want to have only two cases: either we have to check an
++ * authorization file or we don't. In the first case we need to do our
++ * best to read the file at any new client access and never fall back
++ * to host based authentication. Falling back to local host access has
++ * no way back, as it will always take precedence over the auth cookie
++ * (unless the user explicitly disables, one by one, all the rules
++ * allowing local access, if and only if he/she becomes aware of the
++ * problem). In the second case we assume that user doesn't care secu-
++ * rity and so allow unrestricted access from the local machine.
++ */
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "CheckAuthorization: Going to set authorization with loadauth [%d].\n",
++ loadauth);
++ #endif
++
++ if (authorization_file)
++ {
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "CheckAuthorization: Disabling local host access.\n");
++ #endif
++
++ DisableLocalHost();
++ }
++ else
++ {
++ /*
++ * Enable host-based authentication only if
++ * the authorization file was not specified
++ * either on the command line or in the env-
++ * ironment.
++ */
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "CheckAuthorization: Enabling local host access.\n");
++ #endif
++
++ EnableLocalHost();
++ }
++
++ /*
++ * Avoid the 'unused variable' warning.
++ */
++
++ loadauth = loadauth;
++
++#else /* #ifdef NX_TRANS_AUTH */
++
+ if (loadauth > 0)
+ {
+ DisableLocalHost(); /* got at least one */
+@@ -233,6 +439,8 @@
+ }
+ else if (loadauth == 0 || !loaded)
+ EnableLocalHost ();
++
++#endif /* #ifdef NX_TRANS_AUTH */
+ }
+ if (name_length) {
+ for (i = 0; i < NUM_AUTHORIZATION; i++) {
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_connection.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_connection.c.X.original
new file mode 100644
index 000000000..f25c0160e
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_connection.c.X.original
@@ -0,0 +1,48 @@
+--- ./nx-X11/programs/Xserver/os/connection.c.X.original 2015-02-13 14:03:44.788440645 +0100
++++ ./nx-X11/programs/Xserver/os/connection.c 2015-02-10 19:13:13.452699065 +0100
+@@ -486,6 +486,45 @@
+ #endif
+ }
+
++#ifdef NX_TRANS_SOCKET
++
++/*
++ * The following block is now defined also
++ * under Cygwin to support this environment.
++ */
++
++#ifndef __DARWIN__
++
++/*
++ * This is defined in Xtranssock.c and must
++ * be called explicitly as it doesn't share
++ * a pointer in the transport function table.
++ */
++
++extern void _XSERVTransSocketRejectConnection(XtransConnInfo);
++
++void
++RejectWellKnownSockets ()
++{
++ int i;
++
++ for (i = 0; i < ListenTransCount; i++)
++ {
++ _XSERVTransSocketRejectConnection(ListenTransConns[i]);
++ }
++}
++
++#endif /* #ifndef __DARWIN__ */
++
++#else /* #ifdef NX_TRANS_SOCKET */
++
++void
++RejectWellKnownSockets ()
++{
++}
++
++#endif /* #ifdef NX_TRANS_SOCKET */
++
+ void
+ ResetWellKnownSockets (void)
+ {
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_log.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_log.c.X.original
new file mode 100644
index 000000000..44407e05a
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_log.c.X.original
@@ -0,0 +1,136 @@
+--- ./nx-X11/programs/Xserver/os/log.c.X.original 2015-02-13 14:03:44.788440645 +0100
++++ ./nx-X11/programs/Xserver/os/log.c 2015-02-13 14:03:44.788440645 +0100
+@@ -78,6 +78,23 @@
+
+ /* $XFree86: xc/programs/Xserver/os/log.c,v 1.6 2003/11/07 13:45:27 tsi Exp $ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #ifdef HAVE_DIX_CONFIG_H
+ #include <dix-config.h>
+ #endif
+@@ -98,9 +115,17 @@
+ #define getpid(x) _getpid(x)
+ #endif
+
++#ifdef NX_TRANS_SOCKET
++
++#include "NX.h"
++
++#endif
+
+ #ifdef DDXOSVERRORF
+ void (*OsVendorVErrorFProc)(const char *, va_list args) = NULL;
++#ifdef NX_TRANS_EXIT
++int OsVendorVErrorFFatal = 0;
++#endif
+ #endif
+
+ static FILE *logFile = NULL;
+@@ -265,6 +290,32 @@
+ */
+ if (verb < 0 || logFileVerbosity >= verb || logVerbosity >= verb) {
+ vsnprintf(tmpBuffer, sizeof(tmpBuffer), f, args);
++#ifdef NX_TRANS_EXIT
++ /*
++ * Beautify the message. Make the
++ * first letter uppercase.
++ */
++
++ *tmpBuffer = toupper(*tmpBuffer);
++
++ /*
++ * Remove the trailing newline.
++ */
++
++ if (strlen(tmpBuffer) > 0 &&
++ *(tmpBuffer + strlen(tmpBuffer) - 1) == '\n') {
++ *(tmpBuffer + strlen(tmpBuffer) - 1) = '\0';
++ }
++
++ /*
++ * Remove the trailing full-stop.
++ */
++
++ if (strlen(tmpBuffer) > 0 &&
++ *(tmpBuffer + strlen(tmpBuffer) - 1) == '.') {
++ *(tmpBuffer + strlen(tmpBuffer) - 1) = '\0';
++ }
++#endif /* #ifdef NX_TRANS_EXIT */
+ len = strlen(tmpBuffer);
+ }
+ if ((verb < 0 || logVerbosity >= verb) && len > 0)
+@@ -404,12 +455,22 @@
+ void
+ AbortServer(void)
+ {
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "AbortServer: Going to abort the current server.\n");
++#endif
+ OsCleanup(TRUE);
+ AbortDDX();
+ fflush(stderr);
+ if (CoreDump)
+ abort();
++#ifdef NX_TRANS_EXIT
++#ifdef NX_TRANS_TEST
++ fprintf(stderr, "AbortServer: Going to clean up NX resources and exit.\n");
++#endif
++ NXTransExit(1);
++#else /* #ifdef NX_TRANS_EXIT */
+ exit (1);
++#endif
+ }
+
+ #ifndef AUDIT_PREFIX
+@@ -533,6 +594,27 @@
+ va_list args;
+ static Bool beenhere = FALSE;
+
++#ifdef NX_TRANS_EXIT
++ if (beenhere) {
++ fprintf(stderr, "Error: Aborting session with fatal error function reentered.\n");
++ }
++ else {
++ /*
++ * Tell to the log function that this
++ * is a fatal error.
++ */
++
++ OsVendorVErrorFFatal = 1;
++
++ fprintf(stderr, "Error: Aborting session with '");
++
++ va_start(args, f);
++ VErrorF(f, args);
++ va_end(args);
++
++ fprintf(stderr, "'.\n");
++ }
++#else /* #ifdef NX_TRANS_EXIT */
+ if (beenhere)
+ ErrorF("\nFatalError re-entered, aborting\n");
+ else
+@@ -542,6 +624,7 @@
+ VErrorF(f, args);
+ va_end(args);
+ ErrorF("\n");
++#endif /* #ifdef NX_TRANS_EXIT */
+ #ifdef DDXOSFATALERROR
+ if (!beenhere)
+ OsVendorFatalError();
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_oscolor.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_oscolor.c.X.original
new file mode 100644
index 000000000..88acc878a
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_oscolor.c.X.original
@@ -0,0 +1,214 @@
+--- ./nx-X11/programs/Xserver/os/oscolor.c.X.original 2015-02-13 14:03:44.788440645 +0100
++++ ./nx-X11/programs/Xserver/os/oscolor.c 2015-02-13 14:03:44.788440645 +0100
+@@ -47,6 +47,17 @@
+ ******************************************************************/
+ /* $Xorg: oscolor.c,v 1.4 2001/02/09 02:05:23 xorgcvs Exp $ */
+
++#ifdef NX_TRANS_SOCKET
++
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <unistd.h>
++
++static char* nxAltRgbPaths[] = {"/usr/NX/share/rgb", "/usr/share/X11/rgb", "/etc/X11/rgb"};
++static char _NXRgbPath[1024];
++
++#endif
++
+ #ifdef HAVE_DIX_CONFIG_H
+ #include <dix-config.h>
+ #endif
+@@ -174,6 +185,154 @@
+
+ static dbEntryPtr hashTab[HASHSIZE];
+
++#ifdef NX_TRANS_SOCKET
++
++static int NXVerifyRgbPath(char *path)
++{
++ int size;
++ char *rgbPath;
++ struct stat rgbFileStat;
++
++ /*
++ * Check if rgb file is present.
++ */
++
++ size = strlen(path) + strlen(".txt") + 1;
++
++ rgbPath = (char *) ALLOCATE_LOCAL(size + 1);
++
++ strcpy(rgbPath, path);
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "NXVerifyRgbPath: Looking for [%s] file.\n",
++ rgbPath);
++ #endif
++
++ if (stat(rgbPath, &rgbFileStat) != 0)
++ {
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "NXVerifyRgbPath: Can't find the rgb file [%s].\n",
++ rgbPath);
++ #endif
++
++ strcat(rgbPath, ".txt");
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "NXVerifyRgbPath: Looking for [%s] file.\n",
++ rgbPath);
++ #endif
++
++ if (stat(rgbPath, &rgbFileStat) != 0)
++ {
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "NXVerifyRgbPath: Can't find the rgb file [%s].\n",
++ rgbPath);
++ #endif
++
++ DEALLOCATE_LOCAL(rgbPath);
++
++ return 0;
++ }
++ }
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "NXVerifyRgbPath: rgb path [%s] is valid.\n",
++ path);
++ #endif
++
++ DEALLOCATE_LOCAL(rgbPath);
++
++ return 1;
++}
++
++static const char *_NXGetRgbPath(const char *path)
++{
++ const char *systemEnv;
++ char rgbPath[1024];
++ int numAltRgbPaths;
++ int i;
++
++ /*
++ * Check the environment only once.
++ */
++
++ if (*_NXRgbPath != '\0')
++ {
++ return _NXRgbPath;
++ }
++
++ systemEnv = getenv("NX_SYSTEM");
++
++ if (systemEnv != NULL && *systemEnv != '\0')
++ {
++ if (strlen(systemEnv) + strlen("/share/rgb") + 1 > 1024)
++ {
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetRgbPath: WARNING! Maximum length of rgb file path exceeded.\n");
++ #endif
++
++ goto _NXGetRgbPathError;
++ }
++
++ strcpy(rgbPath, systemEnv);
++ strcat(rgbPath, "/share/rgb");
++
++ if (NXVerifyRgbPath(rgbPath) == 1)
++ {
++ strcpy(_NXRgbPath, systemEnv);
++ strcat(_NXRgbPath, "/share/rgb");
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetRgbPath: Using rgb file path [%s].\n",
++ _NXRgbPath);
++ #endif
++
++ return _NXRgbPath;
++ }
++ }
++
++ numAltRgbPaths = sizeof(nxAltRgbPaths) / sizeof(*nxAltRgbPaths);
++
++ for (i = 0; i < numAltRgbPaths; i++)
++ {
++ if (NXVerifyRgbPath(nxAltRgbPaths[i]) == 1)
++ {
++ if (strlen(nxAltRgbPaths[i]) + 1 > 1024)
++ {
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetRgbPath: WARNING! Maximum length of rgb file path exceeded.\n");
++ #endif
++
++ goto _NXGetRgbPathError;
++ }
++
++ strcpy(_NXRgbPath, nxAltRgbPaths[i]);
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetRgbPath: Using rgb file path [%s].\n",
++ _NXRgbPath);
++ #endif
++
++ return _NXRgbPath;
++ }
++ }
++
++_NXGetRgbPathError:
++
++ strcpy(_NXRgbPath, path);
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "_NXGetRgbPath: Using default rgb file path [%s].\n",
++ _NXRgbPath);
++ #endif
++
++ return _NXRgbPath;
++}
++
++#endif
+
+ static dbEntryPtr
+ lookup(char *name, int len, Bool create)
+@@ -229,9 +388,26 @@
+ if (!was_here)
+ {
+ #ifndef __UNIXOS2__
++#ifdef NX_TRANS_SOCKET
++ /*
++ * Add the trailing '.txt' if a
++ * 'rgb' file is not found.
++ */
++
++ struct stat statbuf;
++
++ path = (char*)ALLOCATE_LOCAL(strlen(_NXGetRgbPath(rgbPath)) + 5);
++ strcpy(path, _NXGetRgbPath(rgbPath));
++
++ if (stat(path, &statbuf) != 0)
++ {
++ strcat(path, ".txt");
++ }
++#else
+ path = (char*)ALLOCATE_LOCAL(strlen(rgbPath) +5);
+ strcpy(path, rgbPath);
+ strcat(path, ".txt");
++#endif
+ #else
+ char *tmp = (char*)__XOS2RedirRoot(rgbPath);
+ path = (char*)ALLOCATE_LOCAL(strlen(tmp) +5);
+@@ -240,7 +416,11 @@
+ #endif
+ if (!(rgb = fopen(path, "r")))
+ {
++#ifdef NX_TRANS_SOCKET
++ ErrorF( "Couldn't open RGB_DB '%s'\n", _NXGetRgbPath(rgbPath));
++#else
+ ErrorF( "Couldn't open RGB_DB '%s'\n", rgbPath );
++#endif
+ DEALLOCATE_LOCAL(path);
+ return FALSE;
+ }
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_utils.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_utils.c.X.original
new file mode 100644
index 000000000..5e18abfdb
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_utils.c.X.original
@@ -0,0 +1,250 @@
+--- ./nx-X11/programs/Xserver/os/utils.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/os/utils.c 2015-02-13 14:03:44.788440645 +0100
+@@ -52,6 +52,23 @@
+ */
+ /* $XFree86: xc/programs/Xserver/os/utils.c,v 3.96 2004/01/07 04:16:37 dawes Exp $ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #ifdef HAVE_DIX_CONFIG_H
+ #include <dix-config.h>
+ #endif
+@@ -246,6 +263,20 @@
+
+ #include <errno.h>
+
++#ifdef NX_TRANS_SOCKET
++
++#include "NX.h"
++#include "NXvars.h"
++
++#endif
++
++#ifdef NX_TRANS_EXIT
++
++void (*OsVendorStartRedirectErrorFProc)() = NULL;
++void (*OsVendorEndRedirectErrorFProc)() = NULL;
++
++#endif
++
+ Bool CoreDump;
+
+ #ifdef PANORAMIX
+@@ -543,6 +574,10 @@
+ {
+ int olderrno = errno;
+
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "GiveUp: Called with signal [%d].\n", sig);
++#endif
++
+ dispatchException |= DE_TERMINATE;
+ isItTimeToYield = TRUE;
+ #if defined(SYSV) && defined(X_NOT_POSIX)
+@@ -1548,12 +1583,21 @@
+ #define SMART_SCHEDULE_TIMER ITIMER_REAL
+ #endif
+
++#ifdef NX_TRANS_SOCKET
++void
++SmartScheduleStopTimer (void)
++#else
+ static void
+ SmartScheduleStopTimer (void)
++#endif
+ {
+ #ifdef SMART_SCHEDULE_POSSIBLE
+ struct itimerval timer;
+-
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "SmartScheduleStopTimer: Stopping timer.\n");
++ #endif
++
+ timer.it_interval.tv_sec = 0;
+ timer.it_interval.tv_usec = 0;
+ timer.it_value.tv_sec = 0;
+@@ -1568,7 +1612,21 @@
+ {
+ #ifdef SMART_SCHEDULE_POSSIBLE
+ struct itimerval timer;
+-
++
++ #ifdef NX_TRANS_SOCKET
++
++ if (SmartScheduleDisable)
++ {
++ return FALSE;
++ }
++
++ #endif
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "SmartScheduleStartTimer: Starting timer with [%ld] ms.\n",
++ SmartScheduleInterval);
++ #endif
++
+ SmartScheduleTimerStopped = FALSE;
+ timer.it_interval.tv_sec = 0;
+ timer.it_interval.tv_usec = SmartScheduleInterval * 1000;
+@@ -1586,6 +1644,12 @@
+ int olderrno = errno;
+
+ SmartScheduleTime += SmartScheduleInterval;
++
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "SmartScheduleTimer: Got timer with time [%ld] ms.\n",
++ SmartScheduleTime);
++ #endif
++
+ if (SmartScheduleIdle)
+ {
+ SmartScheduleStopTimer ();
+@@ -1603,6 +1667,10 @@
+ if (SmartScheduleDisable)
+ return TRUE;
+
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "SmartScheduleInit: Initializing the smart scheduler.\n");
++ #endif
++
+ bzero ((char *) &act, sizeof(struct sigaction));
+
+ /* Set up the timer signal function */
+@@ -1714,6 +1782,11 @@
+ ErrorF("System: `%s'\n", command);
+ #endif
+
++#ifdef NX_TRANS_EXIT
++ if (OsVendorStartRedirectErrorFProc != NULL) {
++ OsVendorStartRedirectErrorFProc();
++ }
++#endif
+ switch (pid = fork()) {
+ case -1: /* error */
+ p = -1;
+@@ -1730,6 +1803,11 @@
+ } while (p == -1 && errno == EINTR);
+
+ }
++#ifdef NX_TRANS_EXIT
++ if (OsVendorEndRedirectErrorFProc != NULL) {
++ OsVendorEndRedirectErrorFProc();
++ }
++#endif
+
+ #ifdef SIGCHLD
+ signal(SIGCHLD, csig);
+@@ -1765,11 +1843,23 @@
+ return NULL;
+ }
+
++#ifdef NX_TRANS_EXIT
++ if (OsVendorStartRedirectErrorFProc != NULL) {
++ OsVendorStartRedirectErrorFProc();
++ }
++ OsBlockSignals ();
++#endif
+ switch (pid = fork()) {
+ case -1: /* error */
+ close(pdes[0]);
+ close(pdes[1]);
+ xfree(cur);
++#ifdef NX_TRANS_EXIT
++ if (OsVendorEndRedirectErrorFProc != NULL) {
++ OsVendorEndRedirectErrorFProc();
++ }
++ OsReleaseSignals ();
++#endif
+ return NULL;
+ case 0: /* child */
+ if (setgid(getgid()) == -1)
+@@ -1791,12 +1881,61 @@
+ }
+ close(pdes[1]);
+ }
++
++ #ifdef NX_TRANS_SOCKET
++
++ /*
++ * Check if the child process should not
++ * use the parent's libraries.
++ */
++
++ if (_NXUnsetLibraryPath)
++ {
++ #ifndef __sun
++
++ unsetenv ("LD_LIBRARY_PATH");
++
++ #else
++
++ extern char **environ;
++
++ char **ep = environ;
++
++ ep = environ;
++
++ while (*ep)
++ {
++ if (!strncmp("LD_LIBRARY_PATH=", *ep, strlen("LD_LIBRARY_PATH=")))
++ {
++ break;
++ }
++
++ *ep++;
++ }
++
++ while (*ep)
++ {
++ *ep = *(ep + 1);
++ ep++;
++ }
++
++ #endif
++ }
++
++ #endif
++
++ #ifdef NX_TRANS_EXIT
++ OsReleaseSignals ();
++ #endif
++
+ execl("/bin/sh", "sh", "-c", command, (char *)NULL);
+ _exit(127);
+ }
+
++#ifndef NX_TRANS_EXIT
+ /* Avoid EINTR during stdio calls */
+ OsBlockSignals ();
++#endif
+
+ /* parent */
+ if (*type == 'r') {
+@@ -1945,6 +2084,11 @@
+ /* allow EINTR again */
+ OsReleaseSignals ();
+
++#ifdef NX_TRANS_EXIT
++ if (OsVendorEndRedirectErrorFProc != NULL) {
++ OsVendorEndRedirectErrorFProc();
++ }
++#endif
+ return pid == -1 ? -1 : pstat;
+ }
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_xdmcp.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_xdmcp.c.X.original
new file mode 100644
index 000000000..47e231453
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_xdmcp.c.X.original
@@ -0,0 +1,59 @@
+--- ./nx-X11/programs/Xserver/os/xdmcp.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/os/xdmcp.c 2015-02-10 19:13:13.472698316 +0100
+@@ -59,6 +59,13 @@
+ #include <netdir.h>
+ #endif
+
++#ifndef NX_TRANS_SOCKET
++
++#define NX_TRANS_SOCKET
++#define NX_TRANS_TEST
++
++#endif
++
+ #ifdef XDMCP
+ #undef REQUEST
+
+@@ -71,6 +78,15 @@
+ #define X_INCLUDE_NETDB_H
+ #include <X11/Xos_r.h>
+
++#ifdef NX_TRANS_SOCKET
++
++xdmcp_states XdmcpState;
++
++int XdmcpStartTime;
++int XdmcpTimeOutRtx;
++
++#endif
++
+ extern char *defaultDisplayClass;
+
+ static int xdmcpSocket, sessionSocket;
+@@ -590,6 +606,12 @@
+ void
+ XdmcpInit(void)
+ {
++#ifdef NX_TRANS_SOCKET
++
++ XdmcpStartTime = GetTimeInMillis();
++
++#endif
++
+ state = XDM_INIT_STATE;
+ #ifdef HASXDMAUTH
+ if (xdmAuthCookie)
+@@ -699,6 +721,13 @@
+ fd_set* LastSelectMask = (fd_set*)pReadmask;
+ fd_set devicesReadable;
+
++#ifdef NX_TRANS_SOCKET
++
++ XdmcpState = state;
++ XdmcpTimeOutRtx = timeOutRtx;
++
++#endif
++
+ if (state == XDM_OFF)
+ return;
+ if (i > 0)
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_xprintf.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_xprintf.c.X.original
new file mode 100644
index 000000000..fa0796dc9
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_os_xprintf.c.X.original
@@ -0,0 +1,75 @@
+--- ./nx-X11/programs/Xserver/os/xprintf.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/os/xprintf.c 2015-02-10 19:13:13.480698017 +0100
+@@ -43,6 +43,63 @@
+ # endif
+ #endif
+
++#ifdef NX_TRANS_SOCKET
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
++
++#define START_SIZE 256
++#define END_SIZE 2048
++
++char *
++Xvprintf(const char *format, va_list va)
++{
++ char *ret;
++ char *newret;
++ int size;
++ int r;
++
++ size = 0;
++
++ for (;;)
++ {
++ if (size == 0)
++ {
++ ret = (char *)malloc(START_SIZE);
++ if (ret == NULL)
++ return NULL;
++ size = START_SIZE;
++ }
++ else if (size < END_SIZE &&
++ (newret = (char *) realloc(ret, 2 * size)) != NULL)
++ {
++ ret = newret;
++ size = 2 * size;
++ }
++ else
++ {
++ free(ret);
++ return NULL;
++ }
++
++ r = vsnprintf(ret, size, format, va);
++
++ if (r == -1 || r == size || r > size || r == size - 1)
++ {
++ continue;
++ }
++ else
++ {
++ ret[r] = 0;
++ return ret;
++ }
++ }
++}
++
++#else
++
+ char *
+ Xvprintf(const char *format, va_list va)
+ {
+@@ -63,6 +120,8 @@
+ return ret;
+ }
+
++#endif
++
+ char *Xprintf(const char *format, ...)
+ {
+ char *ret;
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_panoramiXproto.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_panoramiXproto.h.X.original
new file mode 100644
index 000000000..3424f2e4a
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_panoramiXproto.h.X.original
@@ -0,0 +1,195 @@
+--- ./nx-X11/programs/Xserver/randr/panoramiXproto.h.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/panoramiXproto.h 2015-02-10 19:13:13.612693075 +0100
+@@ -0,0 +1,192 @@
++/* $Xorg: panoramiXproto.h,v 1.4 2000/08/18 04:05:45 coskrey Exp $ */
++/*****************************************************************
++Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
++Permission is hereby granted, free of charge, to any person obtaining a copy
++of this software and associated documentation files (the "Software"), to deal
++in the Software without restriction, including without limitation the rights
++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++copies of the Software.
++
++The above copyright notice and this permission notice shall be included in
++all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
++BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
++WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
++IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++Except as contained in this notice, the name of Digital Equipment Corporation
++shall not be used in advertising or otherwise to promote the sale, use or other
++dealings in this Software without prior written authorization from Digital
++Equipment Corporation.
++******************************************************************/
++/* $XFree86: xc/include/extensions/panoramiXproto.h,v 3.5 2000/03/01 01:04:21 dawes Exp $ */
++
++/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */
++
++#ifndef _PANORAMIXPROTO_H_
++#define _PANORAMIXPROTO_H_
++
++#define PANORAMIX_PROTOCOL_NAME "XINERAMA"
++
++#define X_PanoramiXQueryVersion 0
++#define X_PanoramiXGetState 1
++#define X_PanoramiXGetScreenCount 2
++#define X_PanoramiXGetScreenSize 3
++
++#define X_XineramaIsActive 4
++#define X_XineramaQueryScreens 5
++
++typedef struct _PanoramiXQueryVersion {
++ CARD8 reqType; /* always PanoramiXReqCode */
++ CARD8 panoramiXReqType; /* always X_PanoramiXQueryVersion */
++ CARD16 length B16;
++ CARD8 clientMajor;
++ CARD8 clientMinor;
++ CARD16 unused B16;
++} xPanoramiXQueryVersionReq;
++
++#define sz_xPanoramiXQueryVersionReq 8
++
++typedef struct {
++ CARD8 type; /* must be X_Reply */
++ CARD8 pad1; /* unused */
++ CARD16 sequenceNumber B16; /* last sequence number */
++ CARD32 length B32; /* 0 */
++ CARD16 majorVersion B16;
++ CARD16 minorVersion B16;
++ CARD32 pad2 B32; /* unused */
++ CARD32 pad3 B32; /* unused */
++ CARD32 pad4 B32; /* unused */
++ CARD32 pad5 B32; /* unused */
++ CARD32 pad6 B32; /* unused */
++} xPanoramiXQueryVersionReply;
++
++#define sz_xPanoramiXQueryVersionReply 32
++
++
++typedef struct _PanoramiXGetState {
++ CARD8 reqType; /* always PanoramiXReqCode */
++ CARD8 panoramiXReqType; /* always X_PanoramiXGetState */
++ CARD16 length B16;
++ CARD32 window B32;
++} xPanoramiXGetStateReq;
++#define sz_xPanoramiXGetStateReq 8
++
++typedef struct {
++ BYTE type;
++ BYTE state;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD32 window B32;
++ CARD32 pad1 B32; /* unused */
++ CARD32 pad2 B32; /* unused */
++ CARD32 pad3 B32; /* unused */
++ CARD32 pad4 B32; /* unused */
++ CARD32 pad5 B32; /* unused */
++} xPanoramiXGetStateReply;
++
++#define sz_panoramiXGetStateReply 32
++
++typedef struct _PanoramiXGetScreenCount {
++ CARD8 reqType; /* always PanoramiXReqCode */
++ CARD8 panoramiXReqType; /* always X_PanoramiXGetScreenCount */
++ CARD16 length B16;
++ CARD32 window B32;
++} xPanoramiXGetScreenCountReq;
++#define sz_xPanoramiXGetScreenCountReq 8
++
++typedef struct {
++ BYTE type;
++ BYTE ScreenCount;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD32 window B32;
++ CARD32 pad1 B32; /* unused */
++ CARD32 pad2 B32; /* unused */
++ CARD32 pad3 B32; /* unused */
++ CARD32 pad4 B32; /* unused */
++ CARD32 pad5 B32; /* unused */
++} xPanoramiXGetScreenCountReply;
++#define sz_panoramiXGetScreenCountReply 32
++
++typedef struct _PanoramiXGetScreenSize {
++ CARD8 reqType; /* always PanoramiXReqCode */
++ CARD8 panoramiXReqType; /* always X_PanoramiXGetState */
++ CARD16 length B16;
++ CARD32 window B32;
++ CARD32 screen B32;
++} xPanoramiXGetScreenSizeReq;
++#define sz_xPanoramiXGetScreenSizeReq 12
++
++typedef struct {
++ BYTE type;
++ CARD8 pad1;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD32 width B32;
++ CARD32 height B32;
++ CARD32 window B32;
++ CARD32 screen B32;
++ CARD32 pad2 B32; /* unused */
++ CARD32 pad3 B32; /* unused */
++} xPanoramiXGetScreenSizeReply;
++#define sz_panoramiXGetScreenSizeReply 32
++
++/************ Alternate protocol ******************/
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 panoramiXReqType;
++ CARD16 length B16;
++} xXineramaIsActiveReq;
++#define sz_xXineramaIsActiveReq 4
++
++typedef struct {
++ BYTE type;
++ CARD8 pad1;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD32 state B32;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++ CARD32 pad5 B32;
++ CARD32 pad6 B32;
++} xXineramaIsActiveReply;
++#define sz_XineramaIsActiveReply 32
++
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 panoramiXReqType;
++ CARD16 length B16;
++} xXineramaQueryScreensReq;
++#define sz_xXineramaQueryScreensReq 4
++
++typedef struct {
++ BYTE type;
++ CARD8 pad1;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD32 number B32;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++ CARD32 pad5 B32;
++ CARD32 pad6 B32;
++} xXineramaQueryScreensReply;
++#define sz_XineramaQueryScreensReply 32
++
++typedef struct {
++ INT16 x_org B16;
++ INT16 y_org B16;
++ CARD16 width B16;
++ CARD16 height B16;
++} xXineramaScreenInfo;
++#define sz_XineramaScreenInfo 8
++
++#endif
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randr.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randr.c.X.original
new file mode 100644
index 000000000..d19f82022
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randr.c.X.original
@@ -0,0 +1,72 @@
+--- ./nx-X11/programs/Xserver/randr/randr.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/randr.c 2015-02-10 19:13:13.616692925 +0100
+@@ -25,6 +25,23 @@
+ * Keith Packard, Intel Corporation
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #define NEED_REPLIES
+ #define NEED_EVENTS
+ #ifdef HAVE_DIX_CONFIG_H
+@@ -56,9 +73,14 @@
+ int RREventBase;
+ int RRErrorBase;
+ RESTYPE RRClientType, RREventType; /* resource types for event masks */
+-DevPrivateKey RRClientPrivateKey = &RRClientPrivateKey;
+
++#ifndef NXAGENT_SERVER
++DevPrivateKey RRClientPrivateKey = &RRClientPrivateKey;
+ DevPrivateKey rrPrivKey = &rrPrivKey;
++#else
++int RRClientPrivateIndex;
++int rrPrivIndex = -1;
++#endif
+
+ static void
+ RRClientCallback (CallbackListPtr *list,
+@@ -203,6 +225,10 @@
+ {
+ if (RRGeneration != serverGeneration)
+ {
++ #ifdef NXAGENT_SERVER
++ if ((rrPrivIndex = AllocateScreenPrivateIndex()) < 0)
++ return FALSE;
++ #endif
+ if (!RRModeInit ())
+ return FALSE;
+ if (!RRCrtcInit ())
+@@ -324,10 +350,18 @@
+
+ if (RRNScreens == 0) return;
+
++ #ifndef NXAGENT_SERVER
+ if (!dixRequestPrivate(RRClientPrivateKey,
+ sizeof (RRClientRec) +
+ screenInfo.numScreens * sizeof (RRTimesRec)))
+ return;
++ #else
++ RRClientPrivateIndex = AllocateClientPrivateIndex ();
++ if (!AllocateClientPrivate (RRClientPrivateIndex,
++ sizeof (RRClientRec) +
++ screenInfo.numScreens * sizeof (RRTimesRec)))
++ return;
++ #endif
+ if (!AddCallback (&ClientStateCallback, RRClientCallback, 0))
+ return;
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randr.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randr.h.X.original
new file mode 100644
index 000000000..a6f2d9c95
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randr.h.X.original
@@ -0,0 +1,144 @@
+--- ./nx-X11/programs/Xserver/randr/randr.h.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/randr.h 2015-02-10 19:13:13.628692476 +0100
+@@ -0,0 +1,141 @@
++/*
++ * Copyright © 2000 Compaq Computer Corporation
++ * Copyright © 2002 Hewlett Packard Company
++ * Copyright © 2006 Intel Corporation
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that copyright
++ * notice and this permission notice appear in supporting documentation, and
++ * that the name of the copyright holders not be used in advertising or
++ * publicity pertaining to distribution of the software without specific,
++ * written prior permission. The copyright holders make no representations
++ * about the suitability of this software for any purpose. It is provided "as
++ * is" without express or implied warranty.
++ *
++ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
++ * OF THIS SOFTWARE.
++ *
++ * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc.
++ * Keith Packard, Intel Corporation
++ */
++
++#ifndef _RANDR_H_
++#define _RANDR_H_
++
++typedef unsigned short Rotation;
++typedef unsigned short SizeID;
++typedef unsigned short SubpixelOrder;
++typedef unsigned short Connection;
++typedef unsigned short XRandrRotation;
++typedef unsigned short XRandrSizeID;
++typedef unsigned short XRandrSubpixelOrder;
++typedef unsigned long XRandrModeFlags;
++
++#define RANDR_NAME "RANDR"
++#define RANDR_MAJOR 1
++#define RANDR_MINOR 2
++
++#define RRNumberErrors 3
++#define RRNumberEvents 2
++#define RRNumberRequests 25
++
++#define X_RRQueryVersion 0
++/* we skip 1 to make old clients fail pretty immediately */
++#define X_RROldGetScreenInfo 1
++#define X_RR1_0SetScreenConfig 2
++/* V1.0 apps share the same set screen config request id */
++#define X_RRSetScreenConfig 2
++#define X_RROldScreenChangeSelectInput 3
++/* 3 used to be ScreenChangeSelectInput; deprecated */
++#define X_RRSelectInput 4
++#define X_RRGetScreenInfo 5
++
++/* V1.2 additions */
++#define X_RRGetScreenSizeRange 6
++#define X_RRSetScreenSize 7
++#define X_RRGetScreenResources 8
++#define X_RRGetOutputInfo 9
++#define X_RRListOutputProperties 10
++#define X_RRQueryOutputProperty 11
++#define X_RRConfigureOutputProperty 12
++#define X_RRChangeOutputProperty 13
++#define X_RRDeleteOutputProperty 14
++#define X_RRGetOutputProperty 15
++#define X_RRCreateMode 16
++#define X_RRDestroyMode 17
++#define X_RRAddOutputMode 18
++#define X_RRDeleteOutputMode 19
++#define X_RRGetCrtcInfo 20
++#define X_RRSetCrtcConfig 21
++#define X_RRGetCrtcGammaSize 22
++#define X_RRGetCrtcGamma 23
++#define X_RRSetCrtcGamma 24
++
++/* Event selection bits */
++#define RRScreenChangeNotifyMask (1L << 0)
++/* V1.2 additions */
++#define RRCrtcChangeNotifyMask (1L << 1)
++#define RROutputChangeNotifyMask (1L << 2)
++#define RROutputPropertyNotifyMask (1L << 3)
++
++/* Event codes */
++#define RRScreenChangeNotify 0
++/* V1.2 additions */
++#define RRNotify 1
++/* RRNotify Subcodes */
++#define RRNotify_CrtcChange 0
++#define RRNotify_OutputChange 1
++#define RRNotify_OutputProperty 2
++
++/* used in the rotation field; rotation and reflection in 0.1 proto. */
++#define RR_Rotate_0 1
++#define RR_Rotate_90 2
++#define RR_Rotate_180 4
++#define RR_Rotate_270 8
++
++/* new in 1.0 protocol, to allow reflection of screen */
++
++#define RR_Reflect_X 16
++#define RR_Reflect_Y 32
++
++#define RRSetConfigSuccess 0
++#define RRSetConfigInvalidConfigTime 1
++#define RRSetConfigInvalidTime 2
++#define RRSetConfigFailed 3
++
++/* new in 1.2 protocol */
++
++#define RR_HSyncPositive 0x00000001
++#define RR_HSyncNegative 0x00000002
++#define RR_VSyncPositive 0x00000004
++#define RR_VSyncNegative 0x00000008
++#define RR_Interlace 0x00000010
++#define RR_DoubleScan 0x00000020
++#define RR_CSync 0x00000040
++#define RR_CSyncPositive 0x00000080
++#define RR_CSyncNegative 0x00000100
++#define RR_HSkewPresent 0x00000200
++#define RR_BCast 0x00000400
++#define RR_PixelMultiplex 0x00000800
++#define RR_DoubleClock 0x00001000
++#define RR_ClockDivideBy2 0x00002000
++
++#define RR_Connected 0
++#define RR_Disconnected 1
++#define RR_UnknownConnection 2
++
++#define BadRROutput 0
++#define BadRRCrtc 1
++#define BadRRMode 2
++
++/* Conventional RandR output properties */
++
++#define RR_PROPERTY_RANDR_EDID "RANDR_EDID"
++
++#endif /* _RANDR_H_ */
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randrproto.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randrproto.h.X.original
new file mode 100644
index 000000000..5c4ed74eb
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_randrproto.h.X.original
@@ -0,0 +1,658 @@
+--- ./nx-X11/programs/Xserver/randr/randrproto.h.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/randrproto.h 2015-02-10 19:13:13.632692326 +0100
+@@ -0,0 +1,655 @@
++/*
++ * Copyright © 2000 Compaq Computer Corporation
++ * Copyright © 2002 Hewlett-Packard Company
++ * Copyright © 2006 Intel Corporation
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that copyright
++ * notice and this permission notice appear in supporting documentation, and
++ * that the name of the copyright holders not be used in advertising or
++ * publicity pertaining to distribution of the software without specific,
++ * written prior permission. The copyright holders make no representations
++ * about the suitability of this software for any purpose. It is provided "as
++ * is" without express or implied warranty.
++ *
++ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
++ * OF THIS SOFTWARE.
++ *
++ * Author: Jim Gettys, Hewlett-Packard Company, Inc.
++ * Keith Packard, Intel Corporation
++ */
++
++/* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */
++/* V1.0 removes depth switching from the protocol */
++#ifndef _XRANDRP_H_
++#define _XRANDRP_H_
++
++/*#include <X11/extensions/randr.h>*/
++#include "randr.h"
++
++#define Window CARD32
++#define Drawable CARD32
++#define Font CARD32
++#define Pixmap CARD32
++#define Cursor CARD32
++#define Colormap CARD32
++#define GContext CARD32
++#define Atom CARD32
++#define Time CARD32
++#define KeyCode CARD8
++#define KeySym CARD32
++#define RROutput CARD32
++#define RRMode CARD32
++#define RRCrtc CARD32
++#define RRModeFlags CARD32
++
++#define Rotation CARD16
++#define SizeID CARD16
++#define SubpixelOrder CARD16
++
++/*
++ * data structures
++ */
++
++typedef struct {
++ CARD16 widthInPixels B16;
++ CARD16 heightInPixels B16;
++ CARD16 widthInMillimeters B16;
++ CARD16 heightInMillimeters B16;
++} xScreenSizes;
++#define sz_xScreenSizes 8
++
++/*
++ * requests and replies
++ */
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ CARD32 majorVersion B32;
++ CARD32 minorVersion B32;
++} xRRQueryVersionReq;
++#define sz_xRRQueryVersionReq 12
++
++typedef struct {
++ BYTE type; /* X_Reply */
++ BYTE pad1;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD32 majorVersion B32;
++ CARD32 minorVersion B32;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++ CARD32 pad5 B32;
++} xRRQueryVersionReply;
++#define sz_xRRQueryVersionReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ Window window B32;
++} xRRGetScreenInfoReq;
++#define sz_xRRGetScreenInfoReq 8
++
++/*
++ * the xRRScreenInfoReply structure is followed by:
++ *
++ * the size information
++ */
++
++
++typedef struct {
++ BYTE type; /* X_Reply */
++ BYTE setOfRotations;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ Window root B32;
++ Time timestamp B32;
++ Time configTimestamp B32;
++ CARD16 nSizes B16;
++ SizeID sizeID B16;
++ Rotation rotation B16;
++ CARD16 rate B16;
++ CARD16 nrateEnts B16;
++ CARD16 pad B16;
++} xRRGetScreenInfoReply;
++#define sz_xRRGetScreenInfoReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ Drawable drawable B32;
++ Time timestamp B32;
++ Time configTimestamp B32;
++ SizeID sizeID B16;
++ Rotation rotation B16;
++} xRR1_0SetScreenConfigReq;
++#define sz_xRR1_0SetScreenConfigReq 20
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ Drawable drawable B32;
++ Time timestamp B32;
++ Time configTimestamp B32;
++ SizeID sizeID B16;
++ Rotation rotation B16;
++ CARD16 rate B16;
++ CARD16 pad B16;
++} xRRSetScreenConfigReq;
++#define sz_xRRSetScreenConfigReq 24
++
++typedef struct {
++ BYTE type; /* X_Reply */
++ CARD8 status;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ Time newTimestamp B32;
++ Time newConfigTimestamp B32;
++ Window root;
++ CARD16 subpixelOrder B16;
++ CARD16 pad4 B16;
++ CARD32 pad5 B32;
++ CARD32 pad6 B32;
++} xRRSetScreenConfigReply;
++#define sz_xRRSetScreenConfigReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ Window window B32;
++ CARD16 enable B16;
++ CARD16 pad2 B16;
++} xRRSelectInputReq;
++#define sz_xRRSelectInputReq 12
++
++/*
++ * Additions for version 1.2
++ */
++
++typedef struct _xRRModeInfo {
++ RRMode id B32;
++ CARD16 width B16;
++ CARD16 height B16;
++ CARD32 dotClock B32;
++ CARD16 hSyncStart B16;
++ CARD16 hSyncEnd B16;
++ CARD16 hTotal B16;
++ CARD16 hSkew B16;
++ CARD16 vSyncStart B16;
++ CARD16 vSyncEnd B16;
++ CARD16 vTotal B16;
++ CARD16 nameLength B16;
++ RRModeFlags modeFlags B32;
++} xRRModeInfo;
++#define sz_xRRModeInfo 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ Window window B32;
++} xRRGetScreenSizeRangeReq;
++#define sz_xRRGetScreenSizeRangeReq 8
++
++typedef struct {
++ BYTE type; /* X_Reply */
++ CARD8 pad;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD16 minWidth B16;
++ CARD16 minHeight B16;
++ CARD16 maxWidth B16;
++ CARD16 maxHeight B16;
++ CARD32 pad0 B32;
++ CARD32 pad1 B32;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++} xRRGetScreenSizeRangeReply;
++#define sz_xRRGetScreenSizeRangeReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ Window window B32;
++ CARD16 width B16;
++ CARD16 height B16;
++ CARD32 widthInMillimeters B32;
++ CARD32 heightInMillimeters B32;
++} xRRSetScreenSizeReq;
++#define sz_xRRSetScreenSizeReq 20
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ Window window B32;
++} xRRGetScreenResourcesReq;
++#define sz_xRRGetScreenResourcesReq 8
++
++typedef struct {
++ BYTE type;
++ CARD8 pad;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ Time timestamp B32;
++ Time configTimestamp B32;
++ CARD16 nCrtcs B16;
++ CARD16 nOutputs B16;
++ CARD16 nModes B16;
++ CARD16 nbytesNames B16;
++ CARD32 pad1 B32;
++ CARD32 pad2 B32;
++} xRRGetScreenResourcesReply;
++#define sz_xRRGetScreenResourcesReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RROutput output B32;
++ Time configTimestamp B32;
++} xRRGetOutputInfoReq;
++#define sz_xRRGetOutputInfoReq 12
++
++typedef struct {
++ BYTE type;
++ CARD8 status;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ Time timestamp B32;
++ RRCrtc crtc B32;
++ CARD32 mmWidth B32;
++ CARD32 mmHeight B32;
++ CARD8 connection;
++ CARD8 subpixelOrder;
++ CARD16 nCrtcs B16;
++ CARD16 nModes B16;
++ CARD16 nPreferred B16;
++ CARD16 nClones B16;
++ CARD16 nameLength B16;
++} xRRGetOutputInfoReply;
++#define sz_xRRGetOutputInfoReply 36
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RROutput output B32;
++} xRRListOutputPropertiesReq;
++#define sz_xRRListOutputPropertiesReq 8
++
++typedef struct {
++ BYTE type;
++ CARD8 pad0;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD16 nAtoms B16;
++ CARD16 pad1 B16;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++ CARD32 pad5 B32;
++ CARD32 pad6 B32;
++} xRRListOutputPropertiesReply;
++#define sz_xRRListOutputPropertiesReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RROutput output B32;
++ Atom property B32;
++} xRRQueryOutputPropertyReq;
++#define sz_xRRQueryOutputPropertyReq 12
++
++typedef struct {
++ BYTE type;
++ BYTE pad0;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ BOOL pending;
++ BOOL range;
++ BOOL immutable;
++ BYTE pad1;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++ CARD32 pad5 B32;
++ CARD32 pad6 B32;
++} xRRQueryOutputPropertyReply;
++#define sz_xRRQueryOutputPropertyReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RROutput output B32;
++ Atom property B32;
++ BOOL pending;
++ BOOL range;
++ CARD16 pad B16;
++} xRRConfigureOutputPropertyReq;
++#define sz_xRRConfigureOutputPropertyReq 16
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RROutput output B32;
++ Atom property B32;
++ Atom type B32;
++ CARD8 format;
++ CARD8 mode;
++ CARD16 pad;
++ CARD32 nUnits B32;
++} xRRChangeOutputPropertyReq;
++#define sz_xRRChangeOutputPropertyReq 24
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RROutput output B32;
++ Atom property B32;
++} xRRDeleteOutputPropertyReq;
++#define sz_xRRDeleteOutputPropertyReq 12
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RROutput output B32;
++ Atom property B32;
++ Atom type B32;
++ CARD32 longOffset B32;
++ CARD32 longLength B32;
++#ifdef __cplusplus
++ BOOL _delete;
++#else
++ BOOL delete;
++#endif
++ BOOL pending;
++ CARD16 pad1 B16;
++} xRRGetOutputPropertyReq;
++#define sz_xRRGetOutputPropertyReq 28
++
++typedef struct {
++ BYTE type;
++ CARD8 format;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ Atom propertyType B32;
++ CARD32 bytesAfter B32;
++ CARD32 nItems B32;
++ CARD32 pad1 B32;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++} xRRGetOutputPropertyReply;
++#define sz_xRRGetOutputPropertyReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ Window window B32;
++ xRRModeInfo modeInfo;
++} xRRCreateModeReq;
++#define sz_xRRCreateModeReq 40
++
++typedef struct {
++ BYTE type;
++ CARD8 pad0;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ RRMode mode B32;
++ CARD32 pad1 B32;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++ CARD32 pad5 B32;
++} xRRCreateModeReply;
++#define sz_xRRCreateModeReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RRMode mode B32;
++} xRRDestroyModeReq;
++#define sz_xRRDestroyModeReq 8
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RROutput output B32;
++ RRMode mode B32;
++} xRRAddOutputModeReq;
++#define sz_xRRAddOutputModeReq 12
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RROutput output B32;
++ RRMode mode B32;
++} xRRDeleteOutputModeReq;
++#define sz_xRRDeleteOutputModeReq 12
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RRCrtc crtc B32;
++ Time configTimestamp B32;
++} xRRGetCrtcInfoReq;
++#define sz_xRRGetCrtcInfoReq 12
++
++typedef struct {
++ BYTE type;
++ CARD8 status;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ Time timestamp B32;
++ INT16 x B16;
++ INT16 y B16;
++ CARD16 width B16;
++ CARD16 height B16;
++ RRMode mode B32;
++ Rotation rotation B16;
++ Rotation rotations B16;
++ CARD16 nOutput B16;
++ CARD16 nPossibleOutput B16;
++} xRRGetCrtcInfoReply;
++#define sz_xRRGetCrtcInfoReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RRCrtc crtc B32;
++ Time timestamp B32;
++ Time configTimestamp B32;
++ INT16 x B16;
++ INT16 y B16;
++ RRMode mode B32;
++ Rotation rotation B16;
++ CARD16 pad B16;
++} xRRSetCrtcConfigReq;
++#define sz_xRRSetCrtcConfigReq 28
++
++typedef struct {
++ BYTE type;
++ CARD8 status;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ Time newTimestamp B32;
++ CARD32 pad1 B32;
++ CARD32 pad2 B16;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++ CARD32 pad5 B32;
++} xRRSetCrtcConfigReply;
++#define sz_xRRSetCrtcConfigReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RRCrtc crtc B32;
++} xRRGetCrtcGammaSizeReq;
++#define sz_xRRGetCrtcGammaSizeReq 8
++
++typedef struct {
++ BYTE type;
++ CARD8 status;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD16 size B16;
++ CARD16 pad1 B16;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++ CARD32 pad5 B32;
++ CARD32 pad6 B32;
++} xRRGetCrtcGammaSizeReply;
++#define sz_xRRGetCrtcGammaSizeReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RRCrtc crtc B32;
++} xRRGetCrtcGammaReq;
++#define sz_xRRGetCrtcGammaReq 8
++
++typedef struct {
++ BYTE type;
++ CARD8 status;
++ CARD16 sequenceNumber B16;
++ CARD32 length B32;
++ CARD16 size B16;
++ CARD16 pad1 B16;
++ CARD32 pad2 B32;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++ CARD32 pad5 B32;
++ CARD32 pad6 B32;
++} xRRGetCrtcGammaReply;
++#define sz_xRRGetCrtcGammaReply 32
++
++typedef struct {
++ CARD8 reqType;
++ CARD8 randrReqType;
++ CARD16 length B16;
++ RRCrtc crtc B32;
++ CARD16 size B16;
++ CARD16 pad1 B16;
++} xRRSetCrtcGammaReq;
++#define sz_xRRSetCrtcGammaReq 12
++
++/*
++ * event
++ */
++typedef struct {
++ CARD8 type; /* always evBase + ScreenChangeNotify */
++ CARD8 rotation; /* new rotation */
++ CARD16 sequenceNumber B16;
++ Time timestamp B32; /* time screen was changed */
++ Time configTimestamp B32; /* time config data was changed */
++ Window root B32; /* root window */
++ Window window B32; /* window requesting notification */
++ SizeID sizeID B16; /* new size ID */
++ CARD16 subpixelOrder B16; /* subpixel order */
++ CARD16 widthInPixels B16; /* new size */
++ CARD16 heightInPixels B16;
++ CARD16 widthInMillimeters B16;
++ CARD16 heightInMillimeters B16;
++} xRRScreenChangeNotifyEvent;
++#define sz_xRRScreenChangeNotifyEvent 32
++
++typedef struct {
++ CARD8 type; /* always evBase + RRNotify */
++ CARD8 subCode; /* RRNotify_CrtcChange */
++ CARD16 sequenceNumber B16;
++ Time timestamp B32; /* time crtc was changed */
++ Window window B32; /* window requesting notification */
++ RRCrtc crtc B32; /* affected CRTC */
++ RRMode mode B32; /* current mode */
++ CARD16 rotation B16; /* rotation and reflection */
++ CARD16 pad1 B16; /* unused */
++ INT16 x B16; /* new location */
++ INT16 y B16;
++ CARD16 width B16; /* new size */
++ CARD16 height B16;
++} xRRCrtcChangeNotifyEvent;
++#define sz_xRRCrtcChangeNotifyEvent 32
++
++typedef struct {
++ CARD8 type; /* always evBase + RRNotify */
++ CARD8 subCode; /* RRNotify_OutputChange */
++ CARD16 sequenceNumber B16;
++ Time timestamp B32; /* time crtc was changed */
++ Time configTimestamp B32; /* time crtc was changed */
++ Window window B32; /* window requesting notification */
++ RROutput output B32; /* affected output */
++ RRCrtc crtc B32; /* current crtc */
++ RRMode mode B32; /* current mode */
++ CARD16 rotation B16; /* rotation and reflection */
++ CARD8 connection; /* connection status */
++ CARD8 subpixelOrder; /* subpixel order */
++} xRROutputChangeNotifyEvent;
++#define sz_xRROutputChangeNotifyEvent 32
++
++typedef struct {
++ CARD8 type; /* always evBase + RRNotify */
++ CARD8 subCode; /* RRNotify_OutputProperty */
++ CARD16 sequenceNumber B16;
++ Window window B32; /* window requesting notification */
++ RROutput output B32; /* affected output */
++ Atom atom B32; /* property name */
++ Time timestamp B32; /* time crtc was changed */
++ CARD8 state; /* NewValue or Deleted */
++ CARD8 pad1;
++ CARD16 pad2 B16;
++ CARD32 pad3 B32;
++ CARD32 pad4 B32;
++} xRROutputPropertyNotifyEvent;
++#define sz_xRROutputPropertyNotifyEvent 32
++
++#undef RRModeFlags
++#undef RRCrtc
++#undef RRMode
++#undef RROutput
++#undef RRMode
++#undef RRCrtc
++#undef Drawable
++#undef Window
++#undef Font
++#undef Pixmap
++#undef Cursor
++#undef Colormap
++#undef GContext
++#undef Atom
++#undef Time
++#undef KeyCode
++#undef KeySym
++#undef Rotation
++#undef SizeID
++#undef SubpixelOrder
++
++#endif /* _XRANDRP_H_ */
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_registry.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_registry.h.X.original
new file mode 100644
index 000000000..601bc0a98
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_registry.h.X.original
@@ -0,0 +1,67 @@
+--- ./nx-X11/programs/Xserver/randr/registry.h.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/registry.h 2015-02-10 19:13:13.616692925 +0100
+@@ -0,0 +1,64 @@
++/***********************************************************
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
++CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++******************************************************************/
++
++#ifndef DIX_REGISTRY_H
++#define DIX_REGISTRY_H
++
++/*
++ * Result returned from any unsuccessful lookup
++ */
++#define XREGISTRY_UNKNOWN "<unknown>"
++
++#ifdef XREGISTRY
++
++#include "resource.h"
++#include "extnsionst.h"
++
++/* Internal string registry - for auditing, debugging, security, etc. */
++
++/*
++ * Registration functions. The name string is not copied, so it must
++ * not be a stack variable.
++ */
++void RegisterResourceName(RESTYPE type, char *name);
++void RegisterExtensionNames(ExtensionEntry *ext);
++
++/*
++ * Lookup functions. The returned string must not be modified or freed.
++ */
++const char *LookupMajorName(int major);
++const char *LookupRequestName(int major, int minor);
++const char *LookupEventName(int event);
++const char *LookupErrorName(int error);
++const char *LookupResourceName(RESTYPE rtype);
++
++/*
++ * Setup and teardown
++ */
++void dixResetRegistry(void);
++
++#else /* XREGISTRY */
++
++/* Define calls away when the registry is not being built. */
++
++#define RegisterResourceName(a, b) { ; }
++#define RegisterExtensionNames(a) { ; }
++
++#define LookupMajorName(a) XREGISTRY_UNKNOWN
++#define LookupRequestName(a, b) XREGISTRY_UNKNOWN
++#define LookupEventName(a) XREGISTRY_UNKNOWN
++#define LookupErrorName(a) XREGISTRY_UNKNOWN
++#define LookupResourceName(a) XREGISTRY_UNKNOWN
++
++#define dixResetRegistry() { ; }
++
++#endif /* XREGISTRY */
++#endif /* DIX_REGISTRY_H */
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrcrtc.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrcrtc.c.X.original
new file mode 100644
index 000000000..6cb8359b7
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrcrtc.c.X.original
@@ -0,0 +1,48 @@
+--- ./nx-X11/programs/Xserver/randr/rrcrtc.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/rrcrtc.c 2015-02-10 19:13:13.624692625 +0100
+@@ -20,6 +20,23 @@
+ * OF THIS SOFTWARE.
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #include "randrstr.h"
+ #include "swaprep.h"
+ #include "registry.h"
+@@ -836,6 +853,9 @@
+ rep.status = RRSetConfigFailed;
+ goto sendReply;
+ }
++ #ifdef NXAGENT_SERVER /* Bug 21987 */
++ pScrPriv->lastSetTime = time;
++ #endif
+ rep.status = RRSetConfigSuccess;
+
+ sendReply:
+@@ -846,7 +866,11 @@
+ /* rep.status has already been filled in */
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
++ #ifndef NXAGENT_SERVER /* Bug 21987 */
+ rep.newTimestamp = pScrPriv->lastConfigTime.milliseconds;
++ #else
++ rep.newTimestamp = pScrPriv->lastSetTime.milliseconds;
++ #endif
+
+ if (client->swapped)
+ {
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrdispatch.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrdispatch.c.X.original
new file mode 100644
index 000000000..8a4cc1387
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrdispatch.c.X.original
@@ -0,0 +1,15 @@
+--- ./nx-X11/programs/Xserver/randr/rrdispatch.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/rrdispatch.c 2015-02-10 19:13:13.632692326 +0100
+@@ -76,7 +76,12 @@
+ int rc;
+
+ REQUEST_SIZE_MATCH(xRRSelectInputReq);
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess);
++ #else
++ pWin = SecurityLookupWindow(stuff->window, client, SecurityWriteAccess);
++ rc = pWin ? Success : BadWindow;
++ #endif
+ if (rc != Success)
+ return rc;
+ pHead = (RREventPtr *)SecurityLookupIDByType(client,
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrmode.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrmode.c.X.original
new file mode 100644
index 000000000..ddbe739b6
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrmode.c.X.original
@@ -0,0 +1,39 @@
+--- ./nx-X11/programs/Xserver/randr/rrmode.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/rrmode.c 2015-02-10 19:13:13.612693075 +0100
+@@ -20,6 +20,23 @@
+ * OF THIS SOFTWARE.
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #include "randrstr.h"
+ #include "registry.h"
+
+@@ -288,7 +305,12 @@
+ RRModePtr mode;
+
+ REQUEST_AT_LEAST_SIZE (xRRCreateModeReq);
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess);
++ #else
++ pWin = SecurityLookupWindow(stuff->window, client, SecurityReadAccess);
++ rc = pWin ? Success : BadWindow;
++ #endif
+ if (rc != Success)
+ return rc;
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrscreen.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrscreen.c.X.original
new file mode 100644
index 000000000..c5c3d4757
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrscreen.c.X.original
@@ -0,0 +1,107 @@
+--- ./nx-X11/programs/Xserver/randr/rrscreen.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/rrscreen.c 2015-02-10 19:13:13.632692326 +0100
+@@ -20,6 +20,23 @@
+ * OF THIS SOFTWARE.
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #include "randrstr.h"
+
+ extern char *ConnectionInfo;
+@@ -212,7 +229,12 @@
+ int rc;
+
+ REQUEST_SIZE_MATCH(xRRGetScreenInfoReq);
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess);
++ #else
++ pWin = SecurityLookupWindow(stuff->window, client, SecurityReadAccess);
++ rc = pWin ? Success : BadWindow;
++ #endif
+ if (rc != Success)
+ return rc;
+
+@@ -263,7 +285,12 @@
+ int i, rc;
+
+ REQUEST_SIZE_MATCH(xRRSetScreenSizeReq);
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess);
++ #else
++ pWin = SecurityLookupWindow(stuff->window, client, SecurityReadAccess);
++ rc = pWin ? Success : BadWindow;
++ #endif
+ if (rc != Success)
+ return rc;
+
+@@ -333,7 +360,12 @@
+ CARD8 *names;
+
+ REQUEST_SIZE_MATCH(xRRGetScreenResourcesReq);
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess);
++ #else
++ pWin = SecurityLookupWindow(stuff->window, client, SecurityReadAccess);
++ rc = pWin ? Success : BadWindow;
++ #endif
+ if (rc != Success)
+ return rc;
+
+@@ -582,7 +614,12 @@
+ RROutputPtr output;
+
+ REQUEST_SIZE_MATCH(xRRGetScreenInfoReq);
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess);
++ #else
++ pWin = SecurityLookupWindow(stuff->window, client, SecurityReadAccess);
++ rc = pWin ? Success : BadWindow;
++ #endif
+ if (rc != Success)
+ return rc;
+
+@@ -756,7 +793,12 @@
+ has_rate = FALSE;
+ }
+
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixWriteAccess);
++ #else
++ pDraw = SecurityLookupDrawable(stuff->drawable, client, SecurityWriteAccess);
++ rc = pDraw ? Success : BadDrawable;
++ #endif
+ if (rc != Success)
+ return rc;
+
+@@ -921,8 +963,15 @@
+
+ if (!RRCrtcSet (crtc, mode, 0, 0, stuff->rotation, 1, &output))
+ rep.status = RRSetConfigFailed;
++ #ifndef NXAGENT_SERVER /* Bug 21987 */
+ else
+ rep.status = RRSetConfigSuccess;
++ #else
++ else {
++ rep.status = RRSetConfigSuccess;
++ pScrPriv->lastSetTime = time;
++ }
++ #endif
+
+ /*
+ * XXX Configure other crtcs to mirror as much as possible
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrxinerama.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrxinerama.c.X.original
new file mode 100644
index 000000000..f95d6325a
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_randr_rrxinerama.c.X.original
@@ -0,0 +1,72 @@
+--- ./nx-X11/programs/Xserver/randr/rrxinerama.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/rrxinerama.c 2015-02-10 19:13:13.620692775 +0100
+@@ -68,9 +68,30 @@
+ * David Thomas <davtom@dream.org.uk>.
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ #include "randrstr.h"
+ #include "swaprep.h"
++#ifndef NXAGENT_SERVER
+ #include <X11/extensions/panoramiXproto.h>
++#else
++#include "panoramiXproto.h"
++#endif
+
+ #define RR_XINERAMA_MAJOR_VERSION 1
+ #define RR_XINERAMA_MINOR_VERSION 1
+@@ -122,7 +143,12 @@
+ Bool active = FALSE;
+
+ REQUEST_SIZE_MATCH(xPanoramiXGetStateReq);
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
++ #else
++ pWin = SecurityLookupWindow(stuff->window, client, SecurityReadAccess);
++ rc = pWin ? Success : BadWindow;
++ #endif
+ if(rc != Success)
+ return rc;
+
+@@ -185,7 +211,12 @@
+ register int n, rc;
+
+ REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq);
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
++ #else
++ pWin = SecurityLookupWindow(stuff->window, client, SecurityReadAccess);
++ rc = pWin ? Success : BadWindow;
++ #endif
+ if (rc != Success)
+ return rc;
+
+@@ -213,7 +244,12 @@
+ register int n, rc;
+
+ REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
++ #ifndef NXAGENT_SERVER
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
++ #else
++ pWin = SecurityLookupWindow(stuff->window, client, SecurityReadAccess);
++ rc = pWin ? Success : BadWindow;
++ #endif
+ if (rc != Success)
+ return rc;
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_render_renderedge.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_render_renderedge.c.X.original
new file mode 100644
index 000000000..3f1514250
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_render_renderedge.c.X.original
@@ -0,0 +1,10 @@
+--- ./nx-X11/programs/Xserver/render/renderedge.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/render/renderedge.c 2015-02-10 19:13:13.592693823 +0100
+@@ -143,6 +143,7 @@
+ dx = x_bot - x_top;
+ dy = y_bot - y_top;
+ e->dy = dy;
++ e->dx = 0;
+ if (dy)
+ {
+ if (dx >= 0)
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xfixes_cursor.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xfixes_cursor.c.X.original
new file mode 100644
index 000000000..faf242160
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xfixes_cursor.c.X.original
@@ -0,0 +1,12 @@
+--- ./nx-X11/programs/Xserver/xfixes/cursor.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/xfixes/cursor.c 2015-02-10 19:13:13.508696968 +0100
+@@ -96,7 +96,8 @@
+ CursorCurrent = pCursor;
+ for (e = cursorEvents; e; e = e->next)
+ {
+- if (e->eventMask & XFixesDisplayCursorNotifyMask)
++ if ((e->eventMask & XFixesDisplayCursorNotifyMask) &&
++ !e->pClient->clientGone)
+ {
+ xXFixesCursorNotifyEvent ev;
+ ev.type = XFixesEventBase + XFixesCursorNotify;
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xfixes_select.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xfixes_select.c.X.original
new file mode 100644
index 000000000..9876bf465
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xfixes_select.c.X.original
@@ -0,0 +1,13 @@
+--- ./nx-X11/programs/Xserver/xfixes/select.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/xfixes/select.c 2015-02-10 19:13:13.504697118 +0100
+@@ -78,7 +78,9 @@
+ }
+ for (e = selectionEvents; e; e = e->next)
+ {
+- if (e->selection == selection->selection && (e->eventMask & eventMask))
++ if (e->selection == selection->selection &&
++ (e->eventMask & eventMask) &&
++ !e->pClient->clientGone)
+ {
+ xXFixesSelectionNotifyEvent ev;
+
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_ddxKillSrv.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_ddxKillSrv.c.X.original
new file mode 100644
index 000000000..a6acd7c04
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_ddxKillSrv.c.X.original
@@ -0,0 +1,21 @@
+--- ./nx-X11/programs/Xserver/xkb/ddxKillSrv.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/xkb/ddxKillSrv.c 2015-02-10 19:13:13.736688433 +0100
+@@ -52,10 +52,18 @@
+ int
+ XkbDDXTerminateServer(DeviceIntPtr dev,KeyCode key,XkbAction *act)
+ {
++#ifdef NXAGENT_SERVER
++
++ return 0;
++
++#else
++
+ #ifdef XF86DDXACTIONS
+ xf86ProcessActionEvent(ACTION_TERMINATE, NULL);
+ #else
+ GiveUp(1);
+ #endif
+ return 0;
++
++#endif /* NXAGENT_SERVER */
+ }
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_ddxLoad.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_ddxLoad.c.X.original
new file mode 100644
index 000000000..3c2eda498
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_ddxLoad.c.X.original
@@ -0,0 +1,443 @@
+--- ./nx-X11/programs/Xserver/xkb/ddxLoad.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/xkb/ddxLoad.c 2015-02-13 14:03:44.792440567 +0100
+@@ -34,6 +34,7 @@
+ #include <xkb-config.h>
+ #endif
+
++#include <errno.h>
+ #include <stdio.h>
+ #include <ctype.h>
+ #define NEED_EVENTS 1
+@@ -175,6 +176,310 @@
+ # endif
+ #endif
+
++#ifdef NXAGENT_SERVER
++
++#define NX_XKB_BASE_DIRECTORY "/usr/lib/X11/xkb"
++#define NX_XKB_ALTERNATE_BASE_DIRECTORY "/usr/share/X11/xkb"
++#define NX_KEYMAP_DIR_FILE "keymap.dir"
++#define NX_ALT_XKBCOMP_PATH "/usr/bin"
++
++static char _NXXkbBasePath[PATH_MAX];
++static char _NXXkbCompPath[PATH_MAX];
++
++static int NXVerifyXkbBaseDirectory(const char *dirPath)
++{
++ int size;
++ char *keymapDirFilePath;
++ struct stat keymapDirFileStat;
++
++ /*
++ * If keymap.dir file
++ * is not present into
++ * Xkb Base Directory,
++ * we suppose that the
++ * path is not valid.
++ */
++
++ size = strlen(dirPath) + strlen("/") +
++ strlen(NX_KEYMAP_DIR_FILE) + 1;
++
++ if ((keymapDirFilePath = malloc((size + 1) * sizeof(char))) == NULL)
++ {
++ FatalError("NXVerifyXkbBaseDirectory: malloc failed.\n");
++ }
++
++ strcpy(keymapDirFilePath, dirPath);
++ strcat(keymapDirFilePath, "/");
++ strcat(keymapDirFilePath, NX_KEYMAP_DIR_FILE);
++
++ #ifdef TEST
++ fprintf(stderr, "NXVerifyXkbBaseDirectory: Looking for [%s] file.\n",
++ keymapDirFilePath);
++ #endif
++
++ if (stat(keymapDirFilePath, &keymapDirFileStat) != 0)
++ {
++
++ #ifdef TEST
++ fprintf(stderr, "NXVerifyXkbBaseDirectory: Can't find the keymap.dir file [%s].\n",
++ keymapDirFilePath);
++ #endif
++
++ free(keymapDirFilePath);
++
++ return 0;
++ }
++
++ #ifdef TEST
++ fprintf(stderr, "NXVerifyXkbBaseDirectory: Xkb Base Directory [%s] is valid.\n",
++ dirPath);
++ #endif
++
++ free(keymapDirFilePath);
++
++ return 1;
++}
++
++/*
++ * This function returns the directory
++ * containing the configuration files.
++ * This directory is referred by Xkb-
++ * BaseDirectory variable (generally
++ * it contains the hardcoded path at
++ * compile time). If the directory
++ * does not exist, the function will
++ * try a set of well known directories.
++ */
++
++char *_NXGetXkbBasePath(const char *path)
++{
++ /*
++ * Check the xkb base directory only once.
++ */
++
++ if (*_NXXkbBasePath != '\0')
++ {
++ return _NXXkbBasePath;
++ }
++
++ if (NXVerifyXkbBaseDirectory(XkbBaseDirectory) == 1)
++ {
++ if (strlen(XkbBaseDirectory) + 1 > PATH_MAX)
++ {
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbBasePath: WARNING! Maximum length of xkb base path exceeded.\n");
++ #endif
++
++ goto _NXGetXkbBasePathError;
++ }
++
++ strcpy(_NXXkbBasePath, XkbBaseDirectory);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbBasePath: Using NX xkb base directory path [%s].\n",
++ _NXXkbBasePath);
++ #endif
++
++ return _NXXkbBasePath;
++ }
++
++ if (NXVerifyXkbBaseDirectory(NX_XKB_BASE_DIRECTORY) == 1)
++ {
++ if (strlen(NX_XKB_BASE_DIRECTORY) + 1 > PATH_MAX)
++ {
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbBasePath: WARNING! Maximum length of xkb base path exceeded.\n");
++ #endif
++
++ goto _NXGetXkbBasePathError;
++ }
++
++ strcpy(_NXXkbBasePath, NX_XKB_BASE_DIRECTORY);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbBasePath: Using NX xkb base directory path [%s].\n",
++ _NXXkbBasePath);
++ #endif
++
++ return _NXXkbBasePath;
++ }
++
++ if (NXVerifyXkbBaseDirectory(NX_XKB_ALTERNATE_BASE_DIRECTORY) == 1)
++ {
++ if (strlen(NX_XKB_ALTERNATE_BASE_DIRECTORY) + 1 > PATH_MAX)
++ {
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbBasePath: WARNING! Maximum length of xkb base path exceeded.\n");
++ #endif
++
++ goto _NXGetXkbBasePathError;
++ }
++
++ strcpy(_NXXkbBasePath, NX_XKB_ALTERNATE_BASE_DIRECTORY);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbBasePath: Using NX xkb base directory path [%s].\n",
++ _NXXkbBasePath);
++ #endif
++
++ return _NXXkbBasePath;
++ }
++
++_NXGetXkbBasePathError:
++
++ if (strlen(path) + 1 > PATH_MAX)
++ {
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbBasePath: WARNING! Maximum length of xkb base path exceeded.\n");
++ #endif
++ }
++
++ strcpy(_NXXkbBasePath, path);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbBasePath: Using default xkb base path [%s].\n",
++ _NXXkbBasePath);
++ #endif
++
++ return _NXXkbBasePath;
++}
++
++static int NXVerifyXkbCompPath(char *path)
++{
++ char *xkbCompPath;
++ int xkbCompPathSize;
++ struct stat xkbCompPathStat;
++
++ if (path == NULL)
++ {
++ return 0;
++ }
++
++ xkbCompPathSize = strlen(path) + strlen("/") +
++ strlen("xkbcomp") + 1;
++
++ if ((xkbCompPath = malloc((xkbCompPathSize + 1) * sizeof(char))) == NULL)
++ {
++ FatalError("NXVerifyXkbCompPath: WARNING! malloc failed.\n");
++
++ return 0;
++ }
++
++ strcpy(xkbCompPath, path);
++ strcat(xkbCompPath, "/");
++ strcat(xkbCompPath, "xkbcomp");
++
++ if (stat(xkbCompPath, &xkbCompPathStat) != 0)
++ {
++ #ifdef NX_TRANS_TEST
++ fprintf(stderr, "NXVerifyXkbCompPath: WARNING! Failed to stat xkbcomp path [%s].\n",
++ xkbCompPath);
++ #endif
++
++ free(xkbCompPath);
++
++ return 0;
++ }
++
++ free(xkbCompPath);
++
++ return 1;
++}
++
++/*
++ * This function returns the directory
++ * containing the xkbcomp executable.
++ * The function will first try to locate
++ * the executable in the hardcoded path
++ * (the same path as the "base" xkb one)
++ * and, if the xkbcomp file couldn't be
++ * found, the function will not include
++ * an explicit path and will rely on the
++ * PATH environment to list the directory.
++ */
++
++char *_NXGetXkbCompPath(const char *path)
++{
++
++ char * xkbCompPath;
++
++ /*
++ * Check the xkbcomp executable
++ * directory only once.
++ */
++
++ if (*_NXXkbCompPath != '\0')
++ {
++ return _NXXkbCompPath;
++ }
++
++ xkbCompPath = _NXGetXkbBasePath(path);
++
++ if (NXVerifyXkbCompPath(xkbCompPath) == 1)
++ {
++ if (strlen(xkbCompPath) + 1 > PATH_MAX)
++ {
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbCompPath: WARNING! Maximum length of xkbcomp path exceeded.\n");
++ #endif
++
++ goto _NXGetXkbCompPathError;
++ }
++
++ strcpy(_NXXkbCompPath, xkbCompPath);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbCompPath: Using xkbcomp path [%s].\n",
++ _NXXkbCompPath);
++ #endif
++
++ return _NXXkbCompPath;
++ }
++
++ xkbCompPath = NX_ALT_XKBCOMP_PATH;
++
++ if (NXVerifyXkbCompPath(xkbCompPath) == 1)
++ {
++ if (strlen(xkbCompPath) + 1 > PATH_MAX)
++ {
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbCompPath: WARNING! Maximum length of xkbcomp path exceeded.\n");
++ #endif
++
++ goto _NXGetXkbCompPathError;
++ }
++
++ strcpy(_NXXkbCompPath, xkbCompPath);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbCompPath: Using NX xkbcomp path [%s].\n",
++ _NXXkbCompPath);
++ #endif
++
++ return _NXXkbCompPath;
++ }
++
++_NXGetXkbCompPathError:
++
++ if (strlen(path) + 1 > PATH_MAX)
++ {
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbCompPath: WARNING! Maximum length of xkbcomp path exceeded.\n");
++ #endif
++ }
++
++ strcpy(_NXXkbCompPath, path);
++
++ #ifdef TEST
++ fprintf(stderr, "_NXGetXkbCompPath: Using default xkbcomp path [%s].\n",
++ _NXXkbCompPath);
++ #endif
++
++ return _NXXkbCompPath;
++}
++
++#endif
++
+ static void
+ OutputDirectory(
+ char* outdir,
+@@ -240,14 +545,36 @@
+ XkbEnsureSafeMapName(outFile);
+ OutputDirectory(xkm_output_dir, sizeof(xkm_output_dir));
+
++#ifdef NXAGENT_SERVER
++
++ if (_NXGetXkbCompPath(XkbBaseDirectory) != NULL)
++ {
++
++#else
++
+ if (XkbBaseDirectory!=NULL) {
++
++#endif
++
+ #ifndef __UNIXOS2__
++
++#ifdef NXAGENT_SERVER
++ char *xkbbasedir = _NXGetXkbBasePath(XkbBaseDirectory);
++ char *xkbbindir = _NXGetXkbCompPath(XkbBinDirectory);
++#else
+ char *xkbbasedir = XkbBaseDirectory;
+ char *xkbbindir = XkbBinDirectory;
++#endif
++
+ #else
+ /* relocate the basedir and replace the slashes with backslashes */
++#ifdef NXAGENT_SERVER
++ char *xkbbasedir = (char*)__XOS2RedirRoot(_NXGetXkbBasePath(XkbBaseDirectory));
++ char *xkbbindir = (char*)__XOS2RedirRoot(_NXGetXkbCompPath(XkbBinDirectory));
++#else
+ char *xkbbasedir = (char*)__XOS2RedirRoot(XkbBaseDirectory);
+ char *xkbbindir = (char*)__XOS2RedirRoot(XkbBinDirectory);
++#endif
+ int i;
+
+ for (i=0; i<strlen(xkbbasedir); i++)
+@@ -332,7 +659,13 @@
+ strcat(tmpname, "\\xkb_XXXXXX");
+ (void) mktemp(tmpname);
+ #endif
++
++#ifdef NXAGENT_SERVER
++ if (_NXGetXkbCompPath(XkbBaseDirectory)!=NULL) {
++#else
+ if (XkbBaseDirectory!=NULL) {
++#endif
++
+ #ifndef WIN32
+ char *xkmfile = "-";
+ #else
+@@ -341,12 +674,22 @@
+ char *xkmfile = tmpname;
+ #endif
+ #ifndef __UNIXOS2__
++#ifdef NXAGENT_SERVER
++ char *xkbbasedir = _NXGetXkbBasePath(XkbBaseDirectory);
++ char *xkbbindir = _NXGetXkbCompPath(XkbBinDirectory);
++#else
+ char *xkbbasedir = XkbBaseDirectory;
+ char *xkbbindir = XkbBinDirectory;
++#endif
+ #else
+ int i;
++#ifdef NXAGENT_SERVER
++ char *xkbbasedir = (char*)__XOS2RedirRoot(_NXGetXkbBasePath(XkbBaseDirectory));
++ char *xkbbindir = (char*)__XOS2RedirRoot(_NXGetXkbCompPath(XkbBinDirectory));
++#else
+ char *xkbbasedir = (char*)__XOS2RedirRoot(XkbBaseDirectory);
+ char *xkbbindir = (char*)__XOS2RedirRoot(XkbBinDirectory);
++#endif
+ for (i=0; i<strlen(xkbbasedir); i++)
+ if (xkbbasedir[i]=='/') xkbbasedir[i]='\\';
+ for (i=0; i<strlen(xkbbindir); i++)
+@@ -375,6 +718,15 @@
+ xkm_output_dir,keymap);
+ }
+
++ #ifdef TEST
++ if (buf != NULL)
++ fprintf(stderr, "XkbDDXCompileKeymapByNames: "
++ "Executing command [%s].\n", buf);
++ else
++ fprintf(stderr, "XkbDDXCompileKeymapByNames: "
++ "Callin Popen() with null command.\n");
++ #endif
++
+ #ifndef WIN32
+ out= Popen(buf,"w");
+ #else
+@@ -390,7 +742,15 @@
+ #endif
+ XkbWriteXKBKeymapForNames(out,names,NULL,xkb,want,need);
+ #ifndef WIN32
++#ifdef __sun
++ if (Pclose(out) != 0)
++ {
++ ErrorF("Warning: Spurious failure reported in Pclose() runnning 'xkbcomp'.\n");
++ }
++ if (1)
++#else
+ if (Pclose(out)==0)
++#endif
+ #else
+ if (fclose(out)==0 && System(buf) >= 0)
+ #endif
+@@ -415,9 +775,15 @@
+ {
+ int i;
+ char name[PATH_MAX];
++#ifdef NXAGENT_SERVER
++ if (_NXGetXkbCompPath(XkbBaseDirectory)!=NULL)
++ sprintf(name,"%s/%s%s.xkm", _NXGetXkbCompPath(XkbBaseDirectory)
++ ,xkm_output_dir, keymap);
++#else
+ if (XkbBaseDirectory!=NULL)
+ sprintf(name,"%s/%s%s.xkm", XkbBaseDirectory
+ ,xkm_output_dir, keymap);
++#endif
+ else
+ sprintf(name,"%s%s.xkm", xkm_output_dir, keymap);
+ for (i = 0; i < 10; i++) {
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_xkbDflts.h.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_xkbDflts.h.X.original
new file mode 100644
index 000000000..41ef7091e
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_Xserver_xkb_xkbDflts.h.X.original
@@ -0,0 +1,24 @@
+--- ./nx-X11/programs/Xserver/xkb/xkbDflts.h.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/xkb/xkbDflts.h 2015-02-10 19:13:13.736688433 +0100
+@@ -417,10 +417,21 @@
+ XkbSI_AnyOfOrNone, 0xff,
+ 255,
+ { XkbSA_LockControls, { 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00 } } },
++
++#ifndef NX_TRANS_SOCKET
++
++ /*
++ * Make sure that the server can't be killed
++ * by pressing this key-sequence.
++ */
++
+ { XK_Terminate_Server, 0x0000,
+ XkbSI_AnyOfOrNone, 0xff,
+ 255,
+ { XkbSA_Terminate, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
++
++#endif
++
+ { XK_ISO_Group_Latch, 0x0000,
+ XkbSI_LevelOneOnly|XkbSI_AnyOfOrNone, 0xff,
+ 3,
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_xterm_charproc.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_xterm_charproc.c.X.original
new file mode 100644
index 000000000..ecd0f67bb
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_xterm_charproc.c.X.original
@@ -0,0 +1,40 @@
+--- ./nx-X11/programs/xterm/charproc.c.X.original 2015-02-13 14:03:44.800440409 +0100
++++ ./nx-X11/programs/xterm/charproc.c 2015-02-13 14:03:44.796440488 +0100
+@@ -82,6 +82,23 @@
+ * SOFTWARE.
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* charproc.c */
+
+ #include <version.h>
+@@ -3177,6 +3194,13 @@
+ }
+ if (need_cleanup)
+ Cleanup(0);
++
++#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
++ fprintf(stderr, "xterm::in_put: Select called with [%d][%p][%p][%p][%p].\n",
++ max_plus1, (void *) &select_mask, (void *) &write_mask, (void *) 0,
++ (void *) (time_select ? &select_timeout : 0));
++#endif
++
+ i = Select(max_plus1, &select_mask, &write_mask, 0,
+ (time_select ? &select_timeout : 0));
+ if (i < 0) {
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_xterm_main.c.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_xterm_main.c.X.original
new file mode 100644
index 000000000..2ee26838e
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_programs_xterm_main.c.X.original
@@ -0,0 +1,42 @@
+--- ./nx-X11/programs/xterm/main.c.X.original 2015-02-13 14:03:44.804440330 +0100
++++ ./nx-X11/programs/xterm/main.c 2015-02-13 14:03:44.804440330 +0100
+@@ -91,8 +91,39 @@
+
+ ******************************************************************/
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
++
+ /* $XFree86: xc/programs/xterm/main.c,v 3.199 2005/11/13 23:10:36 dickey Exp $ */
+
++#ifdef NX_TRANS_EXIT
++
++/*
++ * Redefine the libc exit() function to be
++ * sure we get rid of proxy and detect any
++ * abnormal termination.
++ */
++
++extern void NXTransExit(int code) __attribute__((noreturn));
++
++#define exit(code) NXTransExit(code)
++
++#endif /* #ifdef NX_TRANS_EXIT */
++
+ /* main.c */
+
+ #define RES_OFFSET(field) XtOffsetOf(XTERM_RESOURCE, field)
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/randr.NX.diff b/doc/_attic_/nx-X11_vs_XOrg69_patches/randr.NX.diff
new file mode 100644
index 000000000..835577944
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/randr.NX.diff
@@ -0,0 +1,2704 @@
+diff -u ./nx-X11/programs/Xserver/randr.X.original/Imakefile ./nx-X11/programs/Xserver/randr/Imakefile
+--- ./nx-X11/programs/Xserver/randr.X.original/Imakefile 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/Imakefile 2015-02-10 19:13:13.636692176 +0100
+@@ -1,15 +1,33 @@
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
+ XCOMM $XFree86: xc/programs/Xserver/randr/Imakefile,v 1.1 2001/05/23 03:29:44 keithp Exp $
+ #include <Server.tmpl>
+
+- SRCS = randr.c mirandr.c
++ SRCS = mirandr.c randr.c rrcrtc.c rrdispatch.c rrinfo.c rrmode.c rroutput.c rrpointer.c rrproperty.c rrscreen.c rrsdispatch.c rrxinerama.c
+
+- OBJS = randr.o mirandr.o
++ OBJS = mirandr.o randr.o rrcrtc.o rrdispatch.o rrinfo.o rrmode.o rroutput.o rrpointer.o rrproperty.o rrscreen.o rrsdispatch.o rrxinerama.o
+
+ INCLUDES = -I../include -I../mi -I../../../include/fonts \
+ -I../fb -I../hw/kdrive -I$(EXTINCSRC) -I$(XINCLUDESRC) \
+ -I$(FONTINCSRC) -I../render
+ LINTLIBS = ../dix/llib-ldix.ln ../os/llib-los.ln
+
++ DEFINES = -DNXAGENT_SERVER
++
+ NormalLibraryTarget(randr,$(OBJS))
+ NormalLibraryObjectRule()
+ LintLibraryTarget(randr,$(SRCS))
+Only in ./nx-X11/programs/Xserver/randr: Imakefile.NX.original
+Only in ./nx-X11/programs/Xserver/randr: Imakefile.X.original
+Only in ./nx-X11/programs/Xserver/randr: Makefile.am
+Only in ./nx-X11/programs/Xserver/randr: Makefile.in
+diff -u ./nx-X11/programs/Xserver/randr.X.original/mirandr.c ./nx-X11/programs/Xserver/randr/mirandr.c
+--- ./nx-X11/programs/Xserver/randr.X.original/mirandr.c 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/mirandr.c 2015-02-10 19:13:13.616692925 +0100
+@@ -1,76 +1,42 @@
+ /*
+- * $XFree86: xc/programs/Xserver/randr/mirandr.c,v 1.5 2001/06/04 09:45:40 keithp Exp $
+- *
+- * Copyright © 2000, Compaq Computer Corporation,
+- * Copyright © 2002, Hewlett Packard, Inc.
++ * Copyright © 2000 Compaq Computer Corporation
++ * Copyright © 2002 Hewlett-Packard Company
++ * Copyright © 2006 Intel Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+- * the above copyright notice appear in all copies and that both that
+- * copyright notice and this permission notice appear in supporting
+- * documentation, and that the name of Compaq or HP not be used in advertising
+- * or publicity pertaining to distribution of the software without specific,
+- * written prior permission. HP makes no representations about the
+- * suitability of this software for any purpose. It is provided "as is"
+- * without express or implied warranty.
++ * the above copyright notice appear in all copies and that both that copyright
++ * notice and this permission notice appear in supporting documentation, and
++ * that the name of the copyright holders not be used in advertising or
++ * publicity pertaining to distribution of the software without specific,
++ * written prior permission. The copyright holders make no representations
++ * about the suitability of this software for any purpose. It is provided "as
++ * is" without express or implied warranty.
+ *
+- * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL HP
+- * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
++ * OF THIS SOFTWARE.
+ *
+- * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc.
++ * Author: Jim Gettys, Hewlett-Packard Company, Inc.
++ * Keith Packard, Intel Corporation
+ */
+
+-
+ #ifdef HAVE_DIX_CONFIG_H
+ #include <dix-config.h>
+ #endif
+
+ #include "scrnintstr.h"
+ #include "mi.h"
+-#include <X11/extensions/randr.h>
+ #include "randrstr.h"
+ #include <stdio.h>
+
+-/*
+- * This function assumes that only a single depth can be
+- * displayed at a time, but that all visuals of that depth
+- * can be displayed simultaneously. It further assumes that
+- * only a single size is available. Hardware providing
+- * additional capabilties should use different code.
+- * XXX what to do here....
+- */
+-
+ Bool
+ miRRGetInfo (ScreenPtr pScreen, Rotation *rotations)
+ {
+- int i;
+- Bool setConfig = FALSE;
+-
+- *rotations = RR_Rotate_0;
+- for (i = 0; i < pScreen->numDepths; i++)
+- {
+- if (pScreen->allowedDepths[i].numVids)
+- {
+- RRScreenSizePtr pSize;
+-
+- pSize = RRRegisterSize (pScreen,
+- pScreen->width,
+- pScreen->height,
+- pScreen->mmWidth,
+- pScreen->mmHeight);
+- if (!pSize)
+- return FALSE;
+- if (!setConfig)
+- {
+- RRSetCurrentConfig (pScreen, RR_Rotate_0, 0, pSize);
+- setConfig = TRUE;
+- }
+- }
+- }
+ return TRUE;
+ }
+
+@@ -79,24 +45,110 @@
+ * different here
+ */
+ Bool
+-miRRSetConfig (ScreenPtr pScreen,
+- Rotation rotation,
+- int rate,
+- RRScreenSizePtr pSize)
++miRRCrtcSet (ScreenPtr pScreen,
++ RRCrtcPtr crtc,
++ RRModePtr mode,
++ int x,
++ int y,
++ Rotation rotation,
++ int numOutput,
++ RROutputPtr *outputs)
+ {
+ return TRUE;
+ }
+
++static Bool
++miRRCrtcSetGamma (ScreenPtr pScreen,
++ RRCrtcPtr crtc)
++{
++ return TRUE;
++}
++
++Bool
++miRROutputSetProperty (ScreenPtr pScreen,
++ RROutputPtr output,
++ Atom property,
++ RRPropertyValuePtr value)
++{
++ return TRUE;
++}
++
++Bool
++miRROutputValidateMode (ScreenPtr pScreen,
++ RROutputPtr output,
++ RRModePtr mode)
++{
++ return FALSE;
++}
++
++void
++miRRModeDestroy (ScreenPtr pScreen,
++ RRModePtr mode)
++{
++}
++
++/*
++ * This function assumes that only a single depth can be
++ * displayed at a time, but that all visuals of that depth
++ * can be displayed simultaneously. It further assumes that
++ * only a single size is available. Hardware providing
++ * additional capabilties should use different code.
++ * XXX what to do here....
++ */
+
+ Bool
+ miRandRInit (ScreenPtr pScreen)
+ {
+- rrScrPrivPtr rp;
++ rrScrPrivPtr pScrPriv;
++#if RANDR_12_INTERFACE
++ RRModePtr mode;
++ RRCrtcPtr crtc;
++ RROutputPtr output;
++ xRRModeInfo modeInfo;
++ char name[64];
++#endif
+
+ if (!RRScreenInit (pScreen))
+ return FALSE;
+- rp = rrGetScrPriv(pScreen);
+- rp->rrGetInfo = miRRGetInfo;
+- rp->rrSetConfig = miRRSetConfig;
++ pScrPriv = rrGetScrPriv(pScreen);
++ pScrPriv->rrGetInfo = miRRGetInfo;
++#if RANDR_12_INTERFACE
++ pScrPriv->rrCrtcSet = miRRCrtcSet;
++ pScrPriv->rrCrtcSetGamma = miRRCrtcSetGamma;
++ pScrPriv->rrOutputSetProperty = miRROutputSetProperty;
++ pScrPriv->rrOutputValidateMode = miRROutputValidateMode;
++ pScrPriv->rrModeDestroy = miRRModeDestroy;
++
++ RRScreenSetSizeRange (pScreen,
++ pScreen->width, pScreen->height,
++ pScreen->width, pScreen->height);
++
++ sprintf (name, "%dx%d", pScreen->width, pScreen->height);
++ memset (&modeInfo, '\0', sizeof (modeInfo));
++ modeInfo.width = pScreen->width;
++ modeInfo.height = pScreen->height;
++ modeInfo.nameLength = strlen (name);
++
++ mode = RRModeGet (&modeInfo, name);
++ if (!mode)
++ return FALSE;
++
++ crtc = RRCrtcCreate (pScreen, NULL);
++ if (!crtc)
++ return FALSE;
++
++ output = RROutputCreate (pScreen, "screen", 6, NULL);
++ if (!output)
++ return FALSE;
++ if (!RROutputSetClones (output, NULL, 0))
++ return FALSE;
++ if (!RROutputSetModes (output, &mode, 1, 0))
++ return FALSE;
++ if (!RROutputSetCrtcs (output, &crtc, 1))
++ return FALSE;
++ if (!RROutputSetConnection (output, RR_Connected))
++ return FALSE;
++ RRCrtcNotify (crtc, mode, 0, 0, RR_Rotate_0, 1, &output);
++#endif
+ return TRUE;
+ }
+Only in ./nx-X11/programs/Xserver/randr: panoramiXproto.h
+Only in ./nx-X11/programs/Xserver/randr: panoramiXproto.h.NX.original
+Only in ./nx-X11/programs/Xserver/randr: panoramiXproto.h.X.original
+diff -u ./nx-X11/programs/Xserver/randr.X.original/randr.c ./nx-X11/programs/Xserver/randr/randr.c
+--- ./nx-X11/programs/Xserver/randr.X.original/randr.c 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/randr.c 2015-02-10 19:13:13.616692925 +0100
+@@ -1,29 +1,46 @@
+ /*
+- * $XFree86: xc/programs/Xserver/randr/randr.c,v 1.21tsi Exp $
+- *
+- * Copyright © 2000, Compaq Computer Corporation,
+- * Copyright © 2002, Hewlett Packard, Inc.
++ * Copyright © 2000 Compaq Computer Corporation
++ * Copyright © 2002 Hewlett-Packard Company
++ * Copyright © 2006 Intel Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+- * the above copyright notice appear in all copies and that both that
+- * copyright notice and this permission notice appear in supporting
+- * documentation, and that the name of Compaq or HP not be used in advertising
+- * or publicity pertaining to distribution of the software without specific,
+- * written prior permission. HP makes no representations about the
+- * suitability of this software for any purpose. It is provided "as is"
+- * without express or implied warranty.
++ * the above copyright notice appear in all copies and that both that copyright
++ * notice and this permission notice appear in supporting documentation, and
++ * that the name of the copyright holders not be used in advertising or
++ * publicity pertaining to distribution of the software without specific,
++ * written prior permission. The copyright holders make no representations
++ * about the suitability of this software for any purpose. It is provided "as
++ * is" without express or implied warranty.
+ *
+- * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL HP
+- * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
++ * OF THIS SOFTWARE.
+ *
+- * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc.
++ * Author: Jim Gettys, Hewlett-Packard Company, Inc.
++ * Keith Packard, Intel Corporation
+ */
+
++/**************************************************************************/
++/* */
++/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
++/* */
++/* NX-X11, NX protocol compression and NX extensions to this software */
++/* are copyright of NoMachine. Redistribution and use of the present */
++/* software is allowed according to terms specified in the file LICENSE */
++/* which comes in the source distribution. */
++/* */
++/* Check http://www.nomachine.com/licensing.html for applicability. */
++/* */
++/* NX and NoMachine are trademarks of Medialogic S.p.A. */
++/* */
++/* All rights reserved. */
++/* */
++/**************************************************************************/
+
+ #define NEED_REPLIES
+ #define NEED_EVENTS
+@@ -31,28 +48,7 @@
+ #include <dix-config.h>
+ #endif
+
+-#include <X11/X.h>
+-#include <X11/Xproto.h>
+-#include "misc.h"
+-#include "os.h"
+-#include "dixstruct.h"
+-#include "resource.h"
+-#include "scrnintstr.h"
+-#include "windowstr.h"
+-#include "pixmapstr.h"
+-#include "extnsionst.h"
+-#include "servermd.h"
+-#include <X11/extensions/randr.h>
+-#include <X11/extensions/randrproto.h>
+ #include "randrstr.h"
+-#ifdef RENDER
+-#include <X11/extensions/render.h> /* we share subpixel order information */
+-#include "picturestr.h"
+-#endif
+-#include <X11/Xfuncproto.h>
+-#ifdef EXTMODULE
+-#include "xf86_ansic.h"
+-#endif
+
+ /* From render.h */
+ #ifndef SubPixelUnknown
+@@ -60,13 +56,7 @@
+ #endif
+
+ #define RR_VALIDATE
+-int RRGeneration;
+-int RRNScreens;
+-
+-static int ProcRRQueryVersion (ClientPtr pClient);
+-static int ProcRRDispatch (ClientPtr pClient);
+-static int SProcRRDispatch (ClientPtr pClient);
+-static int SProcRRQueryVersion (ClientPtr pClient);
++static int RRNScreens;
+
+ #define wrap(priv,real,mem,func) {\
+ priv->mem = real->mem; \
+@@ -77,56 +67,20 @@
+ real->mem = priv->mem; \
+ }
+
+-#if 0
+-static CARD8 RRReqCode;
+-static int RRErrBase;
+-#endif
+-static int RREventBase;
+-static RESTYPE ClientType, EventType; /* resource types for event masks */
+-static int RRClientPrivateIndex;
+-
+-typedef struct _RRTimes {
+- TimeStamp setTime;
+- TimeStamp configTime;
+-} RRTimesRec, *RRTimesPtr;
+-
+-typedef struct _RRClient {
+- int major_version;
+- int minor_version;
+-/* RRTimesRec times[0]; */
+-} RRClientRec, *RRClientPtr;
+-
+-/*
+- * each window has a list of clients requesting
+- * RRNotify events. Each client has a resource
+- * for each window it selects RRNotify input for,
+- * this resource is used to delete the RRNotifyRec
+- * entry from the per-window queue.
+- */
+-
+-typedef struct _RREvent *RREventPtr;
+-
+-typedef struct _RREvent {
+- RREventPtr next;
+- ClientPtr client;
+- WindowPtr window;
+- XID clientResource;
+- int mask;
+-} RREventRec;
++static int ProcRRDispatch (ClientPtr pClient);
++static int SProcRRDispatch (ClientPtr pClient);
+
++int RREventBase;
++int RRErrorBase;
++RESTYPE RRClientType, RREventType; /* resource types for event masks */
++
++#ifndef NXAGENT_SERVER
++DevPrivateKey RRClientPrivateKey = &RRClientPrivateKey;
++DevPrivateKey rrPrivKey = &rrPrivKey;
++#else
++int RRClientPrivateIndex;
+ int rrPrivIndex = -1;
+-
+-#define GetRRClient(pClient) ((RRClientPtr) (pClient)->devPrivates[RRClientPrivateIndex].ptr)
+-#define rrClientPriv(pClient) RRClientPtr pRRClient = GetRRClient(pClient)
+-
+-static Bool
+-RRClientKnowsRates (ClientPtr pClient)
+-{
+- rrClientPriv(pClient);
+-
+- return (pRRClient->major_version > 1 ||
+- (pRRClient->major_version == 1 && pRRClient->minor_version >= 1));
+-}
++#endif
+
+ static void
+ RRClientCallback (CallbackListPtr *list,
+@@ -163,10 +117,14 @@
+ RRCloseScreen (int i, ScreenPtr pScreen)
+ {
+ rrScrPriv(pScreen);
++ int j;
+
+ unwrap (pScrPriv, pScreen, CloseScreen);
+- if (pScrPriv->pSizes)
+- xfree (pScrPriv->pSizes);
++ for (j = pScrPriv->numCrtcs - 1; j >= 0; j--)
++ RRCrtcDestroy (pScrPriv->crtcs[j]);
++ for (j = pScrPriv->numOutputs - 1; j >= 0; j--)
++ RROutputDestroy (pScrPriv->outputs[j]);
++
+ xfree (pScrPriv);
+ RRNScreens -= 1; /* ok, one fewer screen with RandR running */
+ return (*pScreen->CloseScreen) (i, pScreen);
+@@ -191,18 +149,105 @@
+ cpswaps(from->subpixelOrder, to->subpixelOrder);
+ }
+
+-Bool RRScreenInit(ScreenPtr pScreen)
++static void
++SRRCrtcChangeNotifyEvent(xRRCrtcChangeNotifyEvent *from,
++ xRRCrtcChangeNotifyEvent *to)
+ {
+- rrScrPrivPtr pScrPriv;
++ to->type = from->type;
++ to->subCode = from->subCode;
++ cpswaps(from->sequenceNumber, to->sequenceNumber);
++ cpswapl(from->timestamp, to->timestamp);
++ cpswapl(from->window, to->window);
++ cpswapl(from->crtc, to->crtc);
++ cpswapl(from->mode, to->mode);
++ cpswapl(from->window, to->window);
++ cpswaps(from->rotation, to->rotation);
++ cpswaps(from->x, to->x);
++ cpswaps(from->y, to->y);
++ cpswaps(from->width, to->width);
++ cpswaps(from->height, to->height);
++}
++
++static void
++SRROutputChangeNotifyEvent(xRROutputChangeNotifyEvent *from,
++ xRROutputChangeNotifyEvent *to)
++{
++ to->type = from->type;
++ to->subCode = from->subCode;
++ cpswaps(from->sequenceNumber, to->sequenceNumber);
++ cpswapl(from->timestamp, to->timestamp);
++ cpswapl(from->configTimestamp, to->configTimestamp);
++ cpswapl(from->window, to->window);
++ cpswapl(from->output, to->output);
++ cpswapl(from->crtc, to->crtc);
++ cpswapl(from->mode, to->mode);
++ cpswaps(from->rotation, to->rotation);
++}
+
++static void
++SRROutputPropertyNotifyEvent(xRROutputPropertyNotifyEvent *from,
++ xRROutputPropertyNotifyEvent *to)
++{
++ to->type = from->type;
++ to->subCode = from->subCode;
++ cpswaps(from->sequenceNumber, to->sequenceNumber);
++ cpswapl(from->window, to->window);
++ cpswapl(from->output, to->output);
++ cpswapl(from->atom, to->atom);
++ cpswapl(from->timestamp, to->timestamp);
++}
++
++static void
++SRRNotifyEvent (xEvent *from,
++ xEvent *to)
++{
++ switch (from->u.u.detail) {
++ case RRNotify_CrtcChange:
++ SRRCrtcChangeNotifyEvent ((xRRCrtcChangeNotifyEvent *) from,
++ (xRRCrtcChangeNotifyEvent *) to);
++ break;
++ case RRNotify_OutputChange:
++ SRROutputChangeNotifyEvent ((xRROutputChangeNotifyEvent *) from,
++ (xRROutputChangeNotifyEvent *) to);
++ break;
++ case RRNotify_OutputProperty:
++ SRROutputPropertyNotifyEvent ((xRROutputPropertyNotifyEvent *) from,
++ (xRROutputPropertyNotifyEvent *) to);
++ break;
++ default:
++ break;
++ }
++}
++
++static int RRGeneration;
++
++Bool RRInit (void)
++{
+ if (RRGeneration != serverGeneration)
+ {
++ #ifdef NXAGENT_SERVER
+ if ((rrPrivIndex = AllocateScreenPrivateIndex()) < 0)
+ return FALSE;
++ #endif
++ if (!RRModeInit ())
++ return FALSE;
++ if (!RRCrtcInit ())
++ return FALSE;
++ if (!RROutputInit ())
++ return FALSE;
+ RRGeneration = serverGeneration;
+ }
++ return TRUE;
++}
++
++Bool RRScreenInit(ScreenPtr pScreen)
++{
++ rrScrPrivPtr pScrPriv;
++
++ if (!RRInit ())
++ return FALSE;
+
+- pScrPriv = (rrScrPrivPtr) xalloc (sizeof (rrScrPrivRec));
++ pScrPriv = (rrScrPrivPtr) calloc (1, sizeof (rrScrPrivRec));
+ if (!pScrPriv)
+ return FALSE;
+
+@@ -211,8 +256,31 @@
+ /*
+ * Calling function best set these function vectors
+ */
+- pScrPriv->rrSetConfig = 0;
+ pScrPriv->rrGetInfo = 0;
++ pScrPriv->maxWidth = pScrPriv->minWidth = pScreen->width;
++ pScrPriv->maxHeight = pScrPriv->minHeight = pScreen->height;
++
++ pScrPriv->width = pScreen->width;
++ pScrPriv->height = pScreen->height;
++ pScrPriv->mmWidth = pScreen->mmWidth;
++ pScrPriv->mmHeight = pScreen->mmHeight;
++#if RANDR_12_INTERFACE
++ pScrPriv->rrScreenSetSize = NULL;
++ pScrPriv->rrCrtcSet = NULL;
++ pScrPriv->rrCrtcSetGamma = NULL;
++#endif
++#if RANDR_10_INTERFACE
++ pScrPriv->rrSetConfig = 0;
++ pScrPriv->rotations = RR_Rotate_0;
++ pScrPriv->reqWidth = pScreen->width;
++ pScrPriv->reqHeight = pScreen->height;
++ pScrPriv->nSizes = 0;
++ pScrPriv->pSizes = NULL;
++ pScrPriv->rotation = RR_Rotate_0;
++ pScrPriv->rate = 0;
++ pScrPriv->size = 0;
++#endif
++
+ /*
+ * This value doesn't really matter -- any client must call
+ * GetScreenInfo before reading it which will automatically update
+@@ -223,14 +291,10 @@
+
+ wrap (pScrPriv, pScreen, CloseScreen, RRCloseScreen);
+
+- pScrPriv->rotations = RR_Rotate_0;
+-
+- pScrPriv->nSizes = 0;
+- pScrPriv->nSizesInUse = 0;
+- pScrPriv->pSizes = 0;
+-
+- pScrPriv->rotation = RR_Rotate_0;
+- pScrPriv->size = -1;
++ pScrPriv->numOutputs = 0;
++ pScrPriv->outputs = NULL;
++ pScrPriv->numCrtcs = 0;
++ pScrPriv->crtcs = NULL;
+
+ RRNScreens += 1; /* keep count of screens that implement randr */
+ return TRUE;
+@@ -246,7 +310,7 @@
+
+ pRREvent = (RREventPtr) data;
+ pWin = pRREvent->window;
+- pHead = (RREventPtr *) LookupIDByType(pWin->drawable.id, EventType);
++ pHead = (RREventPtr *) LookupIDByType(pWin->drawable.id, RREventType);
+ if (pHead) {
+ pPrev = 0;
+ for (pCur = *pHead; pCur && pCur != pRREvent; pCur=pCur->next)
+@@ -272,7 +336,7 @@
+ pHead = (RREventPtr *) data;
+ for (pCur = *pHead; pCur; pCur = pNext) {
+ pNext = pCur->next;
+- FreeResource (pCur->clientResource, ClientType);
++ FreeResource (pCur->clientResource, RRClientType);
+ xfree ((pointer) pCur);
+ }
+ xfree ((pointer) pHead);
+@@ -286,1034 +350,172 @@
+
+ if (RRNScreens == 0) return;
+
++ #ifndef NXAGENT_SERVER
++ if (!dixRequestPrivate(RRClientPrivateKey,
++ sizeof (RRClientRec) +
++ screenInfo.numScreens * sizeof (RRTimesRec)))
++ return;
++ #else
+ RRClientPrivateIndex = AllocateClientPrivateIndex ();
+ if (!AllocateClientPrivate (RRClientPrivateIndex,
+ sizeof (RRClientRec) +
+ screenInfo.numScreens * sizeof (RRTimesRec)))
+ return;
++ #endif
+ if (!AddCallback (&ClientStateCallback, RRClientCallback, 0))
+ return;
+
+- ClientType = CreateNewResourceType(RRFreeClient);
+- if (!ClientType)
++ RRClientType = CreateNewResourceType(RRFreeClient);
++ if (!RRClientType)
+ return;
+- EventType = CreateNewResourceType(RRFreeEvents);
+- if (!EventType)
++ RREventType = CreateNewResourceType(RRFreeEvents);
++ if (!RREventType)
+ return;
+ extEntry = AddExtension (RANDR_NAME, RRNumberEvents, RRNumberErrors,
+ ProcRRDispatch, SProcRRDispatch,
+ RRResetProc, StandardMinorOpcode);
+ if (!extEntry)
+ return;
+-#if 0
+- RRReqCode = (CARD8) extEntry->base;
+- RRErrBase = extEntry->errorBase;
+-#endif
++ RRErrorBase = extEntry->errorBase;
+ RREventBase = extEntry->eventBase;
+ EventSwapVector[RREventBase + RRScreenChangeNotify] = (EventSwapPtr)
+- SRRScreenChangeNotifyEvent;
+-
+- return;
++ SRRScreenChangeNotifyEvent;
++ EventSwapVector[RREventBase + RRNotify] = (EventSwapPtr)
++ SRRNotifyEvent;
++#ifdef PANORAMIX
++ RRXineramaExtensionInit();
++#endif
+ }
+-
++
+ static int
+ TellChanged (WindowPtr pWin, pointer value)
+ {
+ RREventPtr *pHead, pRREvent;
+ ClientPtr client;
+- xRRScreenChangeNotifyEvent se;
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+ rrScrPriv(pScreen);
+- RRScreenSizePtr pSize;
+- WindowPtr pRoot = WindowTable[pScreen->myNum];
++ int i;
+
+- pHead = (RREventPtr *) LookupIDByType (pWin->drawable.id, EventType);
++ pHead = (RREventPtr *) LookupIDByType (pWin->drawable.id, RREventType);
+ if (!pHead)
+ return WT_WALKCHILDREN;
+
+- se.type = RRScreenChangeNotify + RREventBase;
+- se.rotation = (CARD8) pScrPriv->rotation;
+- se.timestamp = pScrPriv->lastSetTime.milliseconds;
+- se.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
+- se.root = pRoot->drawable.id;
+- se.window = pWin->drawable.id;
+-#ifdef RENDER
+- se.subpixelOrder = PictureGetSubpixelOrder (pScreen);
+-#else
+- se.subpixelOrder = SubPixelUnknown;
+-#endif
+- if (pScrPriv->size >= 0)
+- {
+- pSize = &pScrPriv->pSizes[pScrPriv->size];
+- se.sizeID = pSize->id;
+- se.widthInPixels = pSize->width;
+- se.heightInPixels = pSize->height;
+- se.widthInMillimeters = pSize->mmWidth;
+- se.heightInMillimeters = pSize->mmHeight;
+- }
+- else
+- {
+- /*
+- * This "shouldn't happen", but a broken DDX can
+- * forget to set the current configuration on GetInfo
+- */
+- se.sizeID = 0xffff;
+- se.widthInPixels = 0;
+- se.heightInPixels = 0;
+- se.widthInMillimeters = 0;
+- se.heightInMillimeters = 0;
+- }
+ for (pRREvent = *pHead; pRREvent; pRREvent = pRREvent->next)
+ {
+ client = pRREvent->client;
+ if (client == serverClient || client->clientGone)
+ continue;
+- se.sequenceNumber = client->sequence;
+- if(pRREvent->mask & RRScreenChangeNotifyMask)
+- WriteEventsToClient (client, 1, (xEvent *) &se);
+- }
+- return WT_WALKCHILDREN;
+-}
+
+-static Bool
+-RRGetInfo (ScreenPtr pScreen)
+-{
+- rrScrPriv (pScreen);
+- int i, j, k, l;
+- Bool changed;
+- Rotation rotations;
+- RRScreenSizePtr pSize;
+- RRScreenRatePtr pRate;
+-
+- for (i = 0; i < pScrPriv->nSizes; i++)
+- {
+- pSize = &pScrPriv->pSizes[i];
+- pSize->oldReferenced = pSize->referenced;
+- pSize->referenced = FALSE;
+- for (k = 0; k < pSize->nRates; k++)
++ if (pRREvent->mask & RRScreenChangeNotifyMask)
++ RRDeliverScreenEvent (client, pWin, pScreen);
++
++ if (pRREvent->mask & RRCrtcChangeNotifyMask)
+ {
+- pRate = &pSize->pRates[k];
+- pRate->oldReferenced = pRate->referenced;
+- pRate->referenced = FALSE;
+- }
+- }
+- if (!(*pScrPriv->rrGetInfo) (pScreen, &rotations))
+- return FALSE;
+-
+- changed = FALSE;
+-
+- /*
+- * Check whether anything changed and simultaneously generate
+- * the protocol id values for the objects
+- */
+- if (rotations != pScrPriv->rotations)
+- {
+- pScrPriv->rotations = rotations;
+- changed = TRUE;
+- }
+-
+- j = 0;
+- for (i = 0; i < pScrPriv->nSizes; i++)
+- {
+- pSize = &pScrPriv->pSizes[i];
+- if (pSize->oldReferenced != pSize->referenced)
+- changed = TRUE;
+- if (pSize->referenced)
+- pSize->id = j++;
+- l = 0;
+- for (k = 0; k < pSize->nRates; k++)
+- {
+- pRate = &pSize->pRates[k];
+- if (pRate->oldReferenced != pRate->referenced)
+- changed = TRUE;
+- if (pRate->referenced)
+- l++;
+- }
+- pSize->nRatesInUse = l;
+- }
+- pScrPriv->nSizesInUse = j;
+- if (changed)
+- {
+- UpdateCurrentTime ();
+- pScrPriv->lastConfigTime = currentTime;
+- WalkTree (pScreen, TellChanged, (pointer) pScreen);
+- }
+- return TRUE;
+-}
+-
+-static void
+-RRSendConfigNotify (ScreenPtr pScreen)
+-{
+- WindowPtr pWin = WindowTable[pScreen->myNum];
+- xEvent event;
+-
+- event.u.u.type = ConfigureNotify;
+- event.u.configureNotify.window = pWin->drawable.id;
+- event.u.configureNotify.aboveSibling = None;
+- event.u.configureNotify.x = 0;
+- event.u.configureNotify.y = 0;
+-
+- /* XXX xinerama stuff ? */
+-
+- event.u.configureNotify.width = pWin->drawable.width;
+- event.u.configureNotify.height = pWin->drawable.height;
+- event.u.configureNotify.borderWidth = wBorderWidth (pWin);
+- event.u.configureNotify.override = pWin->overrideRedirect;
+- DeliverEvents(pWin, &event, 1, NullWindow);
+-}
+-
+-static int
+-ProcRRQueryVersion (ClientPtr client)
+-{
+- xRRQueryVersionReply rep;
+- register int n;
+- REQUEST(xRRQueryVersionReq);
+- rrClientPriv(client);
+-
+- REQUEST_SIZE_MATCH(xRRQueryVersionReq);
+- pRRClient->major_version = stuff->majorVersion;
+- pRRClient->minor_version = stuff->minorVersion;
+- rep.type = X_Reply;
+- rep.length = 0;
+- rep.sequenceNumber = client->sequence;
+- rep.majorVersion = RANDR_MAJOR;
+- rep.minorVersion = RANDR_MINOR;
+- if (client->swapped) {
+- swaps(&rep.sequenceNumber, n);
+- swapl(&rep.length, n);
+- swapl(&rep.majorVersion, n);
+- swapl(&rep.minorVersion, n);
+- }
+- WriteToClient(client, sizeof(xRRQueryVersionReply), (char *)&rep);
+- return (client->noClientException);
+-}
+-
+-
+-extern char *ConnectionInfo;
+-
+-static int padlength[4] = {0, 3, 2, 1};
+-
+-static void
+-RREditConnectionInfo (ScreenPtr pScreen)
+-{
+- xConnSetup *connSetup;
+- char *vendor;
+- xPixmapFormat *formats;
+- xWindowRoot *root;
+- xDepth *depth;
+- xVisualType *visual;
+- int screen = 0;
+- int d;
+-
+- connSetup = (xConnSetup *) ConnectionInfo;
+- vendor = (char *) connSetup + sizeof (xConnSetup);
+- formats = (xPixmapFormat *) ((char *) vendor +
+- connSetup->nbytesVendor +
+- padlength[connSetup->nbytesVendor & 3]);
+- root = (xWindowRoot *) ((char *) formats +
+- sizeof (xPixmapFormat) * screenInfo.numPixmapFormats);
+- while (screen != pScreen->myNum)
+- {
+- depth = (xDepth *) ((char *) root +
+- sizeof (xWindowRoot));
+- for (d = 0; d < root->nDepths; d++)
+- {
+- visual = (xVisualType *) ((char *) depth +
+- sizeof (xDepth));
+- depth = (xDepth *) ((char *) visual +
+- depth->nVisuals * sizeof (xVisualType));
+- }
+- root = (xWindowRoot *) ((char *) depth);
+- screen++;
+- }
+- root->pixWidth = pScreen->width;
+- root->pixHeight = pScreen->height;
+- root->mmWidth = pScreen->mmWidth;
+- root->mmHeight = pScreen->mmHeight;
+-}
+-
+-static int
+-ProcRRGetScreenInfo (ClientPtr client)
+-{
+- REQUEST(xRRGetScreenInfoReq);
+- xRRGetScreenInfoReply rep;
+- WindowPtr pWin;
+- int n;
+- ScreenPtr pScreen;
+- rrScrPrivPtr pScrPriv;
+- CARD8 *extra;
+- unsigned long extraLen;
+-
+- REQUEST_SIZE_MATCH(xRRGetScreenInfoReq);
+- pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client,
+- SecurityReadAccess);
+-
+- if (!pWin)
+- return BadWindow;
+-
+- pScreen = pWin->drawable.pScreen;
+- pScrPriv = rrGetScrPriv(pScreen);
+- rep.pad = 0;
+- if (!pScrPriv)
+- {
+- rep.type = X_Reply;
+- rep.setOfRotations = RR_Rotate_0;;
+- rep.sequenceNumber = client->sequence;
+- rep.length = 0;
+- rep.root = WindowTable[pWin->drawable.pScreen->myNum]->drawable.id;
+- rep.timestamp = currentTime.milliseconds;
+- rep.configTimestamp = currentTime.milliseconds;
+- rep.nSizes = 0;
+- rep.sizeID = 0;
+- rep.rotation = RR_Rotate_0;
+- rep.rate = 0;
+- rep.nrateEnts = 0;
+- extra = 0;
+- extraLen = 0;
+- }
+- else
+- {
+- int i, j;
+- xScreenSizes *size;
+- CARD16 *rates;
+- CARD8 *data8;
+- Bool has_rate = RRClientKnowsRates (client);
+-
+- RRGetInfo (pScreen);
+-
+- rep.type = X_Reply;
+- rep.setOfRotations = pScrPriv->rotations;
+- rep.sequenceNumber = client->sequence;
+- rep.length = 0;
+- rep.root = WindowTable[pWin->drawable.pScreen->myNum]->drawable.id;
+- rep.timestamp = pScrPriv->lastSetTime.milliseconds;
+- rep.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
+- rep.rotation = pScrPriv->rotation;
+- rep.nSizes = pScrPriv->nSizesInUse;
+- rep.rate = pScrPriv->rate;
+- rep.nrateEnts = 0;
+- if (has_rate)
+- {
+- for (i = 0; i < pScrPriv->nSizes; i++)
++ for (i = 0; i < pScrPriv->numCrtcs; i++)
+ {
+- RRScreenSizePtr pSize = &pScrPriv->pSizes[i];
+- if (pSize->referenced)
+- {
+- rep.nrateEnts += (1 + pSize->nRatesInUse);
+- }
++ RRCrtcPtr crtc = pScrPriv->crtcs[i];
++ if (crtc->changed)
++ RRDeliverCrtcEvent (client, pWin, crtc);
+ }
+ }
+-
+- if (pScrPriv->size >= 0)
+- rep.sizeID = pScrPriv->pSizes[pScrPriv->size].id;
+- else
+- return BadImplementation;
+-
+- extraLen = (rep.nSizes * sizeof (xScreenSizes) +
+- rep.nrateEnts * sizeof (CARD16));
+-
+- extra = (CARD8 *) xalloc (extraLen);
+- if (!extra)
+- return BadAlloc;
+- /*
+- * First comes the size information
+- */
+- size = (xScreenSizes *) extra;
+- rates = (CARD16 *) (size + rep.nSizes);
+- for (i = 0; i < pScrPriv->nSizes; i++)
++
++ if (pRREvent->mask & RROutputChangeNotifyMask)
+ {
+- RRScreenSizePtr pSize = &pScrPriv->pSizes[i];
+- if (pSize->referenced)
++ for (i = 0; i < pScrPriv->numOutputs; i++)
+ {
+- size->widthInPixels = pSize->width;
+- size->heightInPixels = pSize->height;
+- size->widthInMillimeters = pSize->mmWidth;
+- size->heightInMillimeters = pSize->mmHeight;
+- if (client->swapped)
+- {
+- swaps (&size->widthInPixels, n);
+- swaps (&size->heightInPixels, n);
+- swaps (&size->widthInMillimeters, n);
+- swaps (&size->heightInMillimeters, n);
+- }
+- size++;
+- if (has_rate)
+- {
+- *rates = pSize->nRatesInUse;
+- if (client->swapped)
+- {
+- swaps (rates, n);
+- }
+- rates++;
+- for (j = 0; j < pSize->nRates; j++)
+- {
+- RRScreenRatePtr pRate = &pSize->pRates[j];
+- if (pRate->referenced)
+- {
+- *rates = pRate->rate;
+- if (client->swapped)
+- {
+- swaps (rates, n);
+- }
+- rates++;
+- }
+- }
+- }
++ RROutputPtr output = pScrPriv->outputs[i];
++ if (output->changed)
++ RRDeliverOutputEvent (client, pWin, output);
+ }
+ }
+- data8 = (CARD8 *) rates;
+-
+- if (data8 - (CARD8 *) extra != extraLen)
+- FatalError ("RRGetScreenInfo bad extra len %ld != %ld\n",
+- (unsigned long)(data8 - (CARD8 *) extra), extraLen);
+- rep.length = (extraLen + 3) >> 2;
+- }
+- if (client->swapped) {
+- swaps(&rep.sequenceNumber, n);
+- swapl(&rep.length, n);
+- swapl(&rep.timestamp, n);
+- swaps(&rep.rotation, n);
+- swaps(&rep.nSizes, n);
+- swaps(&rep.sizeID, n);
+- swaps(&rep.rate, n);
+- swaps(&rep.nrateEnts, n);
+- }
+- WriteToClient(client, sizeof(xRRGetScreenInfoReply), (char *)&rep);
+- if (extraLen)
+- {
+- WriteToClient (client, extraLen, (char *) extra);
+- xfree (extra);
+ }
+- return (client->noClientException);
++ return WT_WALKCHILDREN;
+ }
+
+-static int
+-ProcRRSetScreenConfig (ClientPtr client)
++/*
++ * Something changed; send events and adjust pointer position
++ */
++void
++RRTellChanged (ScreenPtr pScreen)
+ {
+- REQUEST(xRRSetScreenConfigReq);
+- xRRSetScreenConfigReply rep;
+- DrawablePtr pDraw;
+- int n;
+- ScreenPtr pScreen;
+- rrScrPrivPtr pScrPriv;
+- TimeStamp configTime;
+- TimeStamp time;
+- RRScreenSizePtr pSize;
+- int i;
+- Rotation rotation;
+- int rate;
+- short oldWidth, oldHeight;
+- Bool has_rate;
+-
+- UpdateCurrentTime ();
+-
+- if (RRClientKnowsRates (client))
+- {
+- REQUEST_SIZE_MATCH (xRRSetScreenConfigReq);
+- has_rate = TRUE;
+- }
+- else
+- {
+- REQUEST_SIZE_MATCH (xRR1_0SetScreenConfigReq);
+- has_rate = FALSE;
+- }
+-
+- SECURITY_VERIFY_DRAWABLE(pDraw, stuff->drawable, client,
+- SecurityWriteAccess);
+-
+- pScreen = pDraw->pScreen;
+-
+- pScrPriv = rrGetScrPriv(pScreen);
+-
+- time = ClientTimeToServerTime(stuff->timestamp);
+- configTime = ClientTimeToServerTime(stuff->configTimestamp);
+-
+- oldWidth = pScreen->width;
+- oldHeight = pScreen->height;
+-
+- if (!pScrPriv)
+- {
+- time = currentTime;
+- rep.status = RRSetConfigFailed;
+- goto sendReply;
+- }
+- if (!RRGetInfo (pScreen))
+- return BadAlloc;
+-
+- /*
+- * if the client's config timestamp is not the same as the last config
+- * timestamp, then the config information isn't up-to-date and
+- * can't even be validated
+- */
+- if (CompareTimeStamps (configTime, pScrPriv->lastConfigTime) != 0)
+- {
+- rep.status = RRSetConfigInvalidConfigTime;
+- goto sendReply;
+- }
+-
+- /*
+- * Search for the requested size
+- */
+- pSize = 0;
+- for (i = 0; i < pScrPriv->nSizes; i++)
+- {
+- pSize = &pScrPriv->pSizes[i];
+- if (pSize->referenced && pSize->id == stuff->sizeID)
+- {
+- break;
+- }
+- }
+- if (i == pScrPriv->nSizes)
+- {
+- /*
+- * Invalid size ID
+- */
+- client->errorValue = stuff->sizeID;
+- return BadValue;
+- }
++ rrScrPriv (pScreen);
++ int i;
+
+- /*
+- * Validate requested rotation
+- */
+- rotation = (Rotation) stuff->rotation;
+-
+- /* test the rotation bits only! */
+- switch (rotation & 0xf) {
+- case RR_Rotate_0:
+- case RR_Rotate_90:
+- case RR_Rotate_180:
+- case RR_Rotate_270:
+- break;
+- default:
+- /*
+- * Invalid rotation
+- */
+- client->errorValue = stuff->rotation;
+- return BadValue;
+- }
+-
+- if ((~pScrPriv->rotations) & rotation)
++ if (pScrPriv->changed)
+ {
+- /*
+- * requested rotation or reflection not supported by screen
+- */
+- client->errorValue = stuff->rotation;
+- return BadMatch;
+- }
+-
+- /*
+- * Validate requested refresh
+- */
+- if (has_rate)
+- rate = (int) stuff->rate;
+- else
+- rate = 0;
+-
+- if (rate)
+- {
+- for (i = 0; i < pSize->nRates; i++)
++ UpdateCurrentTime ();
++ if (pScrPriv->configChanged)
+ {
+- RRScreenRatePtr pRate = &pSize->pRates[i];
+- if (pRate->referenced && pRate->rate == rate)
+- break;
++ pScrPriv->lastConfigTime = currentTime;
++ pScrPriv->configChanged = FALSE;
+ }
+- if (i == pSize->nRates)
+- {
+- /*
+- * Invalid rate
+- */
+- client->errorValue = rate;
+- return BadValue;
++ pScrPriv->changed = FALSE;
++ WalkTree (pScreen, TellChanged, (pointer) pScreen);
++ for (i = 0; i < pScrPriv->numOutputs; i++)
++ pScrPriv->outputs[i]->changed = FALSE;
++ for (i = 0; i < pScrPriv->numCrtcs; i++)
++ pScrPriv->crtcs[i]->changed = FALSE;
++ if (pScrPriv->layoutChanged)
++ {
++ pScrPriv->layoutChanged = FALSE;
++ RRPointerScreenConfigured (pScreen);
++ RRSendConfigNotify (pScreen);
+ }
+ }
+-
+- /*
+- * Make sure the requested set-time is not older than
+- * the last set-time
+- */
+- if (CompareTimeStamps (time, pScrPriv->lastSetTime) < 0)
+- {
+- rep.status = RRSetConfigInvalidTime;
+- goto sendReply;
+- }
+-
+- /*
+- * call out to ddx routine to effect the change
+- */
+- if (!(*pScrPriv->rrSetConfig) (pScreen, rotation, rate,
+- pSize))
+- {
+- /*
+- * unknown DDX failure, report to client
+- */
+- rep.status = RRSetConfigFailed;
+- goto sendReply;
+- }
+-
+- /*
+- * set current extension configuration pointers
+- */
+- RRSetCurrentConfig (pScreen, rotation, rate, pSize);
+-
+- /*
+- * Deliver ScreenChangeNotify events whenever
+- * the configuration is updated
+- */
+- WalkTree (pScreen, TellChanged, (pointer) pScreen);
+-
+- /*
+- * Deliver ConfigureNotify events when root changes
+- * pixel size
+- */
+- if (oldWidth != pScreen->width || oldHeight != pScreen->height)
+- RRSendConfigNotify (pScreen);
+- RREditConnectionInfo (pScreen);
+-
+- /*
+- * Fix pointer bounds and location
+- */
+- ScreenRestructured (pScreen);
+- pScrPriv->lastSetTime = time;
+-
+- /*
+- * Report Success
+- */
+- rep.status = RRSetConfigSuccess;
+-
+-sendReply:
+-
+- rep.type = X_Reply;
+- /* rep.status has already been filled in */
+- rep.length = 0;
+- rep.sequenceNumber = client->sequence;
+-
+- rep.newTimestamp = pScrPriv->lastSetTime.milliseconds;
+- rep.newConfigTimestamp = pScrPriv->lastConfigTime.milliseconds;
+- rep.root = WindowTable[pDraw->pScreen->myNum]->drawable.id;
+-
+- if (client->swapped)
+- {
+- swaps(&rep.sequenceNumber, n);
+- swapl(&rep.length, n);
+- swapl(&rep.newTimestamp, n);
+- swapl(&rep.newConfigTimestamp, n);
+- swapl(&rep.root, n);
+- }
+- WriteToClient(client, sizeof(xRRSetScreenConfigReply), (char *)&rep);
+-
+- return (client->noClientException);
+ }
+
+-int
+-RRSetScreenConfig (ScreenPtr pScreen,
+- Rotation rotation,
+- int rate,
+- RRScreenSizePtr pSize)
++/*
++ * Return the first output which is connected to an active CRTC
++ * Used in emulating 1.0 behaviour
++ */
++RROutputPtr
++RRFirstOutput (ScreenPtr pScreen)
+ {
+- rrScrPrivPtr pScrPriv;
+- int i;
+- short oldWidth, oldHeight;
+-
+- pScrPriv = rrGetScrPriv(pScreen);
+-
+- oldWidth = pScreen->width;
+- oldHeight = pScreen->height;
+-
+- if (!RRGetInfo (pScreen))
+- return BadAlloc;
++ rrScrPriv(pScreen);
++ RROutputPtr output;
++ int i, j;
+
+- /*
+- * Validate requested rotation
+- */
+-
+- /* test the rotation bits only! */
+- switch (rotation & 0xf) {
+- case RR_Rotate_0:
+- case RR_Rotate_90:
+- case RR_Rotate_180:
+- case RR_Rotate_270:
+- break;
+- default:
+- /*
+- * Invalid rotation
+- */
+- return BadValue;
+- }
+-
+- if ((~pScrPriv->rotations) & rotation)
+- {
+- /*
+- * requested rotation or reflection not supported by screen
+- */
+- return BadMatch;
+- }
+-
+- /*
+- * Validate requested refresh
+- */
+- if (rate)
++ for (i = 0; i < pScrPriv->numCrtcs; i++)
+ {
+- for (i = 0; i < pSize->nRates; i++)
+- {
+- RRScreenRatePtr pRate = &pSize->pRates[i];
+- if (pRate->referenced && pRate->rate == rate)
+- break;
+- }
+- if (i == pSize->nRates)
++ RRCrtcPtr crtc = pScrPriv->crtcs[i];
++ for (j = 0; j < pScrPriv->numOutputs; j++)
+ {
+- /*
+- * Invalid rate
+- */
+- return BadValue;
++ output = pScrPriv->outputs[j];
++ if (output->crtc == crtc)
++ return output;
+ }
+ }
+-
+- /*
+- * call out to ddx routine to effect the change
+- */
+- if (!(*pScrPriv->rrSetConfig) (pScreen, rotation, rate,
+- pSize))
+- {
+- /*
+- * unknown DDX failure, report to client
+- */
+- return BadImplementation;
+- }
+-
+- /*
+- * set current extension configuration pointers
+- */
+- RRSetCurrentConfig (pScreen, rotation, rate, pSize);
+-
+- /*
+- * Deliver ScreenChangeNotify events whenever
+- * the configuration is updated
+- */
+- WalkTree (pScreen, TellChanged, (pointer) pScreen);
+-
+- /*
+- * Deliver ConfigureNotify events when root changes
+- * pixel size
+- */
+- if (oldWidth != pScreen->width || oldHeight != pScreen->height)
+- RRSendConfigNotify (pScreen);
+- RREditConnectionInfo (pScreen);
+-
+- /*
+- * Fix pointer bounds and location
+- */
+- ScreenRestructured (pScreen);
+-
+- return Success;
++ return NULL;
+ }
+
+-static int
+-ProcRRSelectInput (ClientPtr client)
++CARD16
++RRVerticalRefresh (xRRModeInfo *mode)
+ {
+- REQUEST(xRRSelectInputReq);
+- rrClientPriv(client);
+- RRTimesPtr pTimes;
+- WindowPtr pWin;
+- RREventPtr pRREvent, pNewRREvent, *pHead;
+- XID clientResource;
+-
+- REQUEST_SIZE_MATCH(xRRSelectInputReq);
+- pWin = SecurityLookupWindow (stuff->window, client, SecurityWriteAccess);
+- if (!pWin)
+- return BadWindow;
+- pHead = (RREventPtr *)SecurityLookupIDByType(client,
+- pWin->drawable.id, EventType,
+- SecurityWriteAccess);
+-
+- if (stuff->enable & (RRScreenChangeNotifyMask))
+- {
+- ScreenPtr pScreen = pWin->drawable.pScreen;
+- rrScrPriv (pScreen);
+-
+- if (pHead)
+- {
+- /* check for existing entry. */
+- for (pRREvent = *pHead; pRREvent; pRREvent = pRREvent->next)
+- if (pRREvent->client == client)
+- return Success;
+- }
+-
+- /* build the entry */
+- pNewRREvent = (RREventPtr) xalloc (sizeof (RREventRec));
+- if (!pNewRREvent)
+- return BadAlloc;
+- pNewRREvent->next = 0;
+- pNewRREvent->client = client;
+- pNewRREvent->window = pWin;
+- pNewRREvent->mask = stuff->enable;
+- /*
+- * add a resource that will be deleted when
+- * the client goes away
+- */
+- clientResource = FakeClientID (client->index);
+- pNewRREvent->clientResource = clientResource;
+- if (!AddResource (clientResource, ClientType, (pointer)pNewRREvent))
+- return BadAlloc;
+- /*
+- * create a resource to contain a pointer to the list
+- * of clients selecting input. This must be indirect as
+- * the list may be arbitrarily rearranged which cannot be
+- * done through the resource database.
+- */
+- if (!pHead)
+- {
+- pHead = (RREventPtr *) xalloc (sizeof (RREventPtr));
+- if (!pHead ||
+- !AddResource (pWin->drawable.id, EventType, (pointer)pHead))
+- {
+- FreeResource (clientResource, RT_NONE);
+- return BadAlloc;
+- }
+- *pHead = 0;
+- }
+- pNewRREvent->next = *pHead;
+- *pHead = pNewRREvent;
+- /*
+- * Now see if the client needs an event
+- */
+- if (pScrPriv)
+- {
+- pTimes = &((RRTimesPtr) (pRRClient + 1))[pScreen->myNum];
+- if (CompareTimeStamps (pTimes->setTime,
+- pScrPriv->lastSetTime) != 0 ||
+- CompareTimeStamps (pTimes->configTime,
+- pScrPriv->lastConfigTime) != 0)
+- {
+- TellChanged (pWin, (pointer) pScreen);
+- }
+- }
+- }
+- else if (stuff->enable == xFalse)
+- {
+- /* delete the interest */
+- if (pHead) {
+- pNewRREvent = 0;
+- for (pRREvent = *pHead; pRREvent; pRREvent = pRREvent->next) {
+- if (pRREvent->client == client)
+- break;
+- pNewRREvent = pRREvent;
+- }
+- if (pRREvent) {
+- FreeResource (pRREvent->clientResource, ClientType);
+- if (pNewRREvent)
+- pNewRREvent->next = pRREvent->next;
+- else
+- *pHead = pRREvent->next;
+- xfree (pRREvent);
+- }
+- }
+- }
+- else
+- {
+- client->errorValue = stuff->enable;
+- return BadValue;
+- }
+- return Success;
++ CARD32 refresh;
++ CARD32 dots = mode->hTotal * mode->vTotal;
++ if (!dots)
++ return 0;
++ refresh = (mode->dotClock + dots/2) / dots;
++ if (refresh > 0xffff)
++ refresh = 0xffff;
++ return (CARD16) refresh;
+ }
+
+-
+ static int
+ ProcRRDispatch (ClientPtr client)
+ {
+ REQUEST(xReq);
+- switch (stuff->data)
+- {
+- case X_RRQueryVersion:
+- return ProcRRQueryVersion(client);
+- case X_RRSetScreenConfig:
+- return ProcRRSetScreenConfig(client);
+- case X_RRSelectInput:
+- return ProcRRSelectInput(client);
+- case X_RRGetScreenInfo:
+- return ProcRRGetScreenInfo(client);
+- default:
++ if (stuff->data >= RRNumberRequests || !ProcRandrVector[stuff->data])
+ return BadRequest;
+- }
+-}
+-
+-static int
+-SProcRRQueryVersion (ClientPtr client)
+-{
+- register int n;
+- REQUEST(xRRQueryVersionReq);
+-
+- swaps(&stuff->length, n);
+- swapl(&stuff->majorVersion, n);
+- swapl(&stuff->minorVersion, n);
+- return ProcRRQueryVersion(client);
+-}
+-
+-static int
+-SProcRRGetScreenInfo (ClientPtr client)
+-{
+- register int n;
+- REQUEST(xRRGetScreenInfoReq);
+-
+- swaps(&stuff->length, n);
+- swapl(&stuff->window, n);
+- return ProcRRGetScreenInfo(client);
+-}
+-
+-static int
+-SProcRRSetScreenConfig (ClientPtr client)
+-{
+- register int n;
+- REQUEST(xRRSetScreenConfigReq);
+-
+- if (RRClientKnowsRates (client))
+- {
+- REQUEST_SIZE_MATCH (xRRSetScreenConfigReq);
+- swaps (&stuff->rate, n);
+- }
+- else
+- {
+- REQUEST_SIZE_MATCH (xRR1_0SetScreenConfigReq);
+- }
+-
+- swaps(&stuff->length, n);
+- swapl(&stuff->drawable, n);
+- swapl(&stuff->timestamp, n);
+- swaps(&stuff->sizeID, n);
+- swaps(&stuff->rotation, n);
+- return ProcRRSetScreenConfig(client);
+-}
+-
+-static int
+-SProcRRSelectInput (ClientPtr client)
+-{
+- register int n;
+- REQUEST(xRRSelectInputReq);
+-
+- swaps(&stuff->length, n);
+- swapl(&stuff->window, n);
+- return ProcRRSelectInput(client);
++ return (*ProcRandrVector[stuff->data]) (client);
+ }
+
+-
+ static int
+ SProcRRDispatch (ClientPtr client)
+ {
+ REQUEST(xReq);
+- switch (stuff->data)
+- {
+- case X_RRQueryVersion:
+- return SProcRRQueryVersion(client);
+- case X_RRSetScreenConfig:
+- return SProcRRSetScreenConfig(client);
+- case X_RRSelectInput:
+- return SProcRRSelectInput(client);
+- case X_RRGetScreenInfo:
+- return SProcRRGetScreenInfo(client);
+- default:
++ if (stuff->data >= RRNumberRequests || !ProcRandrVector[stuff->data])
+ return BadRequest;
+- }
+-}
+-
+-
+-static Bool
+-RRScreenSizeMatches (RRScreenSizePtr a,
+- RRScreenSizePtr b)
+-{
+- if (a->width != b->width)
+- return FALSE;
+- if (a->height != b->height)
+- return FALSE;
+- if (a->mmWidth != b->mmWidth)
+- return FALSE;
+- if (a->mmHeight != b->mmHeight)
+- return FALSE;
+- return TRUE;
+-}
+-
+-RRScreenSizePtr
+-RRRegisterSize (ScreenPtr pScreen,
+- short width,
+- short height,
+- short mmWidth,
+- short mmHeight)
+-{
+- rrScrPriv (pScreen);
+- int i;
+- RRScreenSize tmp;
+- RRScreenSizePtr pNew;
+-
+- if (!pScrPriv)
+- return 0;
+-
+- tmp.width = width;
+- tmp.height= height;
+- tmp.mmWidth = mmWidth;
+- tmp.mmHeight = mmHeight;
+- tmp.pRates = 0;
+- tmp.nRates = 0;
+- tmp.nRatesInUse = 0;
+- tmp.referenced = TRUE;
+- tmp.oldReferenced = FALSE;
+- for (i = 0; i < pScrPriv->nSizes; i++)
+- if (RRScreenSizeMatches (&tmp, &pScrPriv->pSizes[i]))
+- {
+- pScrPriv->pSizes[i].referenced = TRUE;
+- return &pScrPriv->pSizes[i];
+- }
+- pNew = xrealloc (pScrPriv->pSizes,
+- (pScrPriv->nSizes + 1) * sizeof (RRScreenSize));
+- if (!pNew)
+- return 0;
+- pNew[pScrPriv->nSizes++] = tmp;
+- pScrPriv->pSizes = pNew;
+- return &pNew[pScrPriv->nSizes-1];
+-}
+-
+-Bool RRRegisterRate (ScreenPtr pScreen,
+- RRScreenSizePtr pSize,
+- int rate)
+-{
+- rrScrPriv(pScreen);
+- int i;
+- RRScreenRatePtr pNew, pRate;
+-
+- if (!pScrPriv)
+- return FALSE;
+-
+- for (i = 0; i < pSize->nRates; i++)
+- {
+- pRate = &pSize->pRates[i];
+- if (pRate->rate == rate)
+- {
+- pRate->referenced = TRUE;
+- return TRUE;
+- }
+- }
+-
+- pNew = xrealloc (pSize->pRates,
+- (pSize->nRates + 1) * sizeof (RRScreenRate));
+- if (!pNew)
+- return FALSE;
+- pRate = &pNew[pSize->nRates++];
+- pRate->rate = rate;
+- pRate->referenced = TRUE;
+- pRate->oldReferenced = FALSE;
+- pSize->pRates = pNew;
+- return TRUE;
++ return (*SProcRandrVector[stuff->data]) (client);
+ }
+
+-void
+-RRSetCurrentConfig (ScreenPtr pScreen,
+- Rotation rotation,
+- int rate,
+- RRScreenSizePtr pSize)
+-{
+- rrScrPriv (pScreen);
+-
+- if (!pScrPriv)
+- return;
+-
+- pScrPriv->rotation = rotation;
+- pScrPriv->size = pSize - pScrPriv->pSizes;
+- pScrPriv->rate = rate;
+-}
+Only in ./nx-X11/programs/Xserver/randr: randr.c.NX.original
+Only in ./nx-X11/programs/Xserver/randr: randr.c.X.original
+Only in ./nx-X11/programs/Xserver/randr: randr.h
+Only in ./nx-X11/programs/Xserver/randr: randr.h.NX.original
+Only in ./nx-X11/programs/Xserver/randr: randr.h.X.original
+Only in ./nx-X11/programs/Xserver/randr: randrproto.h
+Only in ./nx-X11/programs/Xserver/randr: randrproto.h.NX.original
+Only in ./nx-X11/programs/Xserver/randr: randrproto.h.X.original
+diff -u ./nx-X11/programs/Xserver/randr.X.original/randrstr.h ./nx-X11/programs/Xserver/randr/randrstr.h
+--- ./nx-X11/programs/Xserver/randr.X.original/randrstr.h 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/randr/randrstr.h 2015-02-10 19:13:13.636692176 +0100
+@@ -1,25 +1,28 @@
+ /*
+- * $XFree86: xc/programs/Xserver/randr/randrstr.h,v 1.5 2002/09/29 23:39:45 keithp Exp $
+- *
+ * Copyright © 2000 Compaq Computer Corporation
++ * Copyright © 2002 Hewlett-Packard Company
++ * Copyright © 2006 Intel Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+- * the above copyright notice appear in all copies and that both that
+- * copyright notice and this permission notice appear in supporting
+- * documentation, and that the name of Compaq not be used in
+- * advertising or publicity pertaining to distribution of the software without
+- * specific, written prior permission. Compaq makes no
+- * representations about the suitability of this software for any purpose. It
+- * is provided "as is" without express or implied warranty.
++ * the above copyright notice appear in all copies and that both that copyright
++ * notice and this permission notice appear in supporting documentation, and
++ * that the name of the copyright holders not be used in advertising or
++ * publicity pertaining to distribution of the software without specific,
++ * written prior permission. The copyright holders make no representations
++ * about the suitability of this software for any purpose. It is provided "as
++ * is" without express or implied warranty.
+ *
+- * COMPAQ DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+- * EVENT SHALL COMPAQ BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+- * PERFORMANCE OF THIS SOFTWARE.
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
++ * OF THIS SOFTWARE.
++ *
++ * Author: Jim Gettys, Hewlett-Packard Company, Inc.
++ * Keith Packard, Intel Corporation
+ */
+
+ #ifdef HAVE_DIX_CONFIG_H
+@@ -29,68 +32,456 @@
+ #ifndef _RANDRSTR_H_
+ #define _RANDRSTR_H_
+
++#include <X11/X.h>
++#include <X11/Xproto.h>
++#include "misc.h"
++#include "os.h"
++#include "dixstruct.h"
++#include "resource.h"
++#include "scrnintstr.h"
++#include "windowstr.h"
++#include "pixmapstr.h"
++#include "extnsionst.h"
++#include "servermd.h"
++#ifndef NXAGENT_SERVER
+ #include <X11/extensions/randr.h>
++#include <X11/extensions/randrproto.h>
++#else
++#include "randr.h"
++#include "randrproto.h"
++#endif
++#ifdef RENDER
++#include <X11/extensions/render.h> /* we share subpixel order information */
++#include "picturestr.h"
++#endif
++#include <X11/Xfuncproto.h>
++
++/* required for ABI compatibility for now */
++#define RANDR_10_INTERFACE 1
++#define RANDR_12_INTERFACE 1
++
++typedef XID RRMode;
++typedef XID RROutput;
++typedef XID RRCrtc;
++
++extern int RREventBase, RRErrorBase;
++
++extern int (*ProcRandrVector[RRNumberRequests])(ClientPtr);
++extern int (*SProcRandrVector[RRNumberRequests])(ClientPtr);
++
++/*
++ * Modeline for a monitor. Name follows directly after this struct
++ */
++
++#define RRModeName(pMode) ((char *) (pMode + 1))
++typedef struct _rrMode RRModeRec, *RRModePtr;
++typedef struct _rrPropertyValue RRPropertyValueRec, *RRPropertyValuePtr;
++typedef struct _rrProperty RRPropertyRec, *RRPropertyPtr;
++typedef struct _rrCrtc RRCrtcRec, *RRCrtcPtr;
++typedef struct _rrOutput RROutputRec, *RROutputPtr;
++
++struct _rrMode {
++ int refcnt;
++ xRRModeInfo mode;
++ char *name;
++ ScreenPtr userScreen;
++};
++
++struct _rrPropertyValue {
++ Atom type; /* ignored by server */
++ short format; /* format of data for swapping - 8,16,32 */
++ long size; /* size of data in (format/8) bytes */
++ pointer data; /* private to client */
++};
++
++struct _rrProperty {
++ RRPropertyPtr next;
++ ATOM propertyName;
++ Bool is_pending;
++ Bool range;
++ Bool immutable;
++ int num_valid;
++ INT32 *valid_values;
++ RRPropertyValueRec current, pending;
++};
++
++struct _rrCrtc {
++ RRCrtc id;
++ ScreenPtr pScreen;
++ RRModePtr mode;
++ int x, y;
++ Rotation rotation;
++ Rotation rotations;
++ Bool changed;
++ int numOutputs;
++ RROutputPtr *outputs;
++ int gammaSize;
++ CARD16 *gammaRed;
++ CARD16 *gammaBlue;
++ CARD16 *gammaGreen;
++ void *devPrivate;
++};
++
++struct _rrOutput {
++ RROutput id;
++ ScreenPtr pScreen;
++ char *name;
++ int nameLength;
++ CARD8 connection;
++ CARD8 subpixelOrder;
++ int mmWidth;
++ int mmHeight;
++ RRCrtcPtr crtc;
++ int numCrtcs;
++ RRCrtcPtr *crtcs;
++ int numClones;
++ RROutputPtr *clones;
++ int numModes;
++ int numPreferred;
++ RRModePtr *modes;
++ int numUserModes;
++ RRModePtr *userModes;
++ Bool changed;
++ RRPropertyPtr properties;
++ Bool pendingProperties;
++ void *devPrivate;
++};
++
++#if RANDR_12_INTERFACE
++typedef Bool (*RRScreenSetSizeProcPtr) (ScreenPtr pScreen,
++ CARD16 width,
++ CARD16 height,
++ CARD32 mmWidth,
++ CARD32 mmHeight);
++
++typedef Bool (*RRCrtcSetProcPtr) (ScreenPtr pScreen,
++ RRCrtcPtr crtc,
++ RRModePtr mode,
++ int x,
++ int y,
++ Rotation rotation,
++ int numOutputs,
++ RROutputPtr *outputs);
++
++typedef Bool (*RRCrtcSetGammaProcPtr) (ScreenPtr pScreen,
++ RRCrtcPtr crtc);
++
++typedef Bool (*RROutputSetPropertyProcPtr) (ScreenPtr pScreen,
++ RROutputPtr output,
++ Atom property,
++ RRPropertyValuePtr value);
++
++typedef Bool (*RROutputValidateModeProcPtr) (ScreenPtr pScreen,
++ RROutputPtr output,
++ RRModePtr mode);
++
++typedef void (*RRModeDestroyProcPtr) (ScreenPtr pScreen,
++ RRModePtr mode);
++
++#endif
++
++typedef Bool (*RRGetInfoProcPtr) (ScreenPtr pScreen, Rotation *rotations);
++typedef Bool (*RRCloseScreenProcPtr) ( int i, ScreenPtr pscreen);
+
+-typedef struct _rrScreenRate {
+- int rate;
+- Bool referenced;
+- Bool oldReferenced;
++/* These are for 1.0 compatibility */
++
++typedef struct _rrRefresh {
++ CARD16 rate;
++ RRModePtr mode;
+ } RRScreenRate, *RRScreenRatePtr;
+
+ typedef struct _rrScreenSize {
+ int id;
+ short width, height;
+ short mmWidth, mmHeight;
+- RRScreenRatePtr pRates;
+ int nRates;
+- int nRatesInUse;
+- Bool referenced;
+- Bool oldReferenced;
++ RRScreenRatePtr pRates;
+ } RRScreenSize, *RRScreenSizePtr;
+
++#ifdef RANDR_10_INTERFACE
++
+ typedef Bool (*RRSetConfigProcPtr) (ScreenPtr pScreen,
+ Rotation rotation,
+ int rate,
+ RRScreenSizePtr pSize);
+
+-typedef Bool (*RRGetInfoProcPtr) (ScreenPtr pScreen, Rotation *rotations);
+-typedef Bool (*RRCloseScreenProcPtr) ( int i, ScreenPtr pscreen);
++#endif
+
++
+ typedef struct _rrScrPriv {
++ /*
++ * 'public' part of the structure; DDXen fill this in
++ * as they initialize
++ */
++#if RANDR_10_INTERFACE
+ RRSetConfigProcPtr rrSetConfig;
++#endif
+ RRGetInfoProcPtr rrGetInfo;
++#if RANDR_12_INTERFACE
++ RRScreenSetSizeProcPtr rrScreenSetSize;
++ RRCrtcSetProcPtr rrCrtcSet;
++ RRCrtcSetGammaProcPtr rrCrtcSetGamma;
++ RROutputSetPropertyProcPtr rrOutputSetProperty;
++ RROutputValidateModeProcPtr rrOutputValidateMode;
++ RRModeDestroyProcPtr rrModeDestroy;
++#endif
+
++ /*
++ * Private part of the structure; not considered part of the ABI
++ */
+ TimeStamp lastSetTime; /* last changed by client */
+ TimeStamp lastConfigTime; /* possible configs changed */
+ RRCloseScreenProcPtr CloseScreen;
+
++ Bool changed; /* some config changed */
++ Bool configChanged; /* configuration changed */
++ Bool layoutChanged; /* screen layout changed */
++
++ CARD16 minWidth, minHeight;
++ CARD16 maxWidth, maxHeight;
++ CARD16 width, height; /* last known screen size */
++ CARD16 mmWidth, mmHeight; /* last known screen size */
++
++ int numOutputs;
++ RROutputPtr *outputs;
++
++ int numCrtcs;
++ RRCrtcPtr *crtcs;
++
++ /* Last known pointer position */
++ RRCrtcPtr pointerCrtc;
++
++#ifdef RANDR_10_INTERFACE
+ /*
+ * Configuration information
+ */
+ Rotation rotations;
++ CARD16 reqWidth, reqHeight;
+
+ int nSizes;
+- int nSizesInUse;
+ RRScreenSizePtr pSizes;
+-
+- /*
+- * Current state
+- */
++
+ Rotation rotation;
+- int size;
+ int rate;
++ int size;
++#endif
+ } rrScrPrivRec, *rrScrPrivPtr;
+
++#ifndef NXAGENT_SERVER
++extern DevPrivateKey rrPrivKey;
++#else
+ extern int rrPrivIndex;
++#endif
++
++#ifndef NXAGENT_SERVER
++
++#define rrGetScrPriv(pScr) ((rrScrPrivPtr)dixLookupPrivate(&(pScr)->devPrivates, rrPrivKey))
++#define rrScrPriv(pScr) rrScrPrivPtr pScrPriv = rrGetScrPriv(pScr)
++#define SetRRScreen(s,p) dixSetPrivate(&(s)->devPrivates, rrPrivKey, p)
++
++#else
+
+ #define rrGetScrPriv(pScr) ((rrScrPrivPtr) (pScr)->devPrivates[rrPrivIndex].ptr)
+ #define rrScrPriv(pScr) rrScrPrivPtr pScrPriv = rrGetScrPriv(pScr)
+ #define SetRRScreen(s,p) ((s)->devPrivates[rrPrivIndex].ptr = (pointer) (p))
+
++#endif
++
++/*
++ * each window has a list of clients requesting
++ * RRNotify events. Each client has a resource
++ * for each window it selects RRNotify input for,
++ * this resource is used to delete the RRNotifyRec
++ * entry from the per-window queue.
++ */
++
++typedef struct _RREvent *RREventPtr;
++
++typedef struct _RREvent {
++ RREventPtr next;
++ ClientPtr client;
++ WindowPtr window;
++ XID clientResource;
++ int mask;
++} RREventRec;
++
++typedef struct _RRTimes {
++ TimeStamp setTime;
++ TimeStamp configTime;
++} RRTimesRec, *RRTimesPtr;
++
++typedef struct _RRClient {
++ int major_version;
++ int minor_version;
++/* RRTimesRec times[0]; */
++} RRClientRec, *RRClientPtr;
++
++extern RESTYPE RRClientType, RREventType; /* resource types for event masks */
++#ifndef NXAGENT_SERVER
++extern DevPrivateKey RRClientPrivateKey;
++#else
++extern int RRClientPrivateIndex;
++#endif
++extern RESTYPE RRCrtcType, RRModeType, RROutputType;
++
++#define LookupOutput(client,id,a) ((RROutputPtr) \
++ (SecurityLookupIDByType (client, id, \
++ RROutputType, a)))
++#define LookupCrtc(client,id,a) ((RRCrtcPtr) \
++ (SecurityLookupIDByType (client, id, \
++ RRCrtcType, a)))
++#define LookupMode(client,id,a) ((RRModePtr) \
++ (SecurityLookupIDByType (client, id, \
++ RRModeType, a)))
++#ifndef NXAGENT_SERVER
++
++#define GetRRClient(pClient) ((RRClientPtr)dixLookupPrivate(&(pClient)->devPrivates, RRClientPrivateKey))
++#define rrClientPriv(pClient) RRClientPtr pRRClient = GetRRClient(pClient)
++
++#else
++
++#define GetRRClient(pClient) ((RRClientPtr) (pClient)->devPrivates[RRClientPrivateIndex].ptr)
++#define rrClientPriv(pClient) RRClientPtr pRRClient = GetRRClient(pClient)
++
++#define DixUnknownAccess SecurityUnknownAccess
++#define DixReadAccess SecurityReadAccess
++#define DixWriteAccess SecurityWriteAccess
++#define DixDestroyAccess SecurityDestroyAccess
++
++#endif
++
+ /* Initialize the extension */
+ void
+ RRExtensionInit (void);
+
++#ifdef RANDR_12_INTERFACE
++/*
++ * Set the range of sizes for the screen
++ */
++void
++RRScreenSetSizeRange (ScreenPtr pScreen,
++ CARD16 minWidth,
++ CARD16 minHeight,
++ CARD16 maxWidth,
++ CARD16 maxHeight);
++#endif
++
++/* rrscreen.c */
++/*
++ * Notify the extension that the screen size has been changed.
++ * The driver is responsible for calling this whenever it has changed
++ * the size of the screen
++ */
++void
++RRScreenSizeNotify (ScreenPtr pScreen);
++
++/*
++ * Request that the screen be resized
++ */
++Bool
++RRScreenSizeSet (ScreenPtr pScreen,
++ CARD16 width,
++ CARD16 height,
++ CARD32 mmWidth,
++ CARD32 mmHeight);
++
++/*
++ * Send ConfigureNotify event to root window when 'something' happens
++ */
++void
++RRSendConfigNotify (ScreenPtr pScreen);
++
++/*
++ * screen dispatch
++ */
++int
++ProcRRGetScreenSizeRange (ClientPtr client);
++
++int
++ProcRRSetScreenSize (ClientPtr client);
++
++int
++ProcRRGetScreenResources (ClientPtr client);
++
++int
++ProcRRSetScreenConfig (ClientPtr client);
++
++int
++ProcRRGetScreenInfo (ClientPtr client);
++
++/*
++ * Deliver a ScreenNotify event
++ */
++void
++RRDeliverScreenEvent (ClientPtr client, WindowPtr pWin, ScreenPtr pScreen);
++
++/* mirandr.c */
++Bool
++miRandRInit (ScreenPtr pScreen);
++
++Bool
++miRRGetInfo (ScreenPtr pScreen, Rotation *rotations);
++
++Bool
++miRRGetScreenInfo (ScreenPtr pScreen);
++
++Bool
++miRRCrtcSet (ScreenPtr pScreen,
++ RRCrtcPtr crtc,
++ RRModePtr mode,
++ int x,
++ int y,
++ Rotation rotation,
++ int numOutput,
++ RROutputPtr *outputs);
++
++Bool
++miRROutputSetProperty (ScreenPtr pScreen,
++ RROutputPtr output,
++ Atom property,
++ RRPropertyValuePtr value);
++
++Bool
++miRROutputValidateMode (ScreenPtr pScreen,
++ RROutputPtr output,
++ RRModePtr mode);
++
++void
++miRRModeDestroy (ScreenPtr pScreen,
++ RRModePtr mode);
++
++/* randr.c */
++/*
++ * Send all pending events
++ */
++void
++RRTellChanged (ScreenPtr pScreen);
++
++/*
++ * Poll the driver for changed information
++ */
++Bool
++RRGetInfo (ScreenPtr pScreen);
++
++Bool RRInit (void);
++
++Bool RRScreenInit(ScreenPtr pScreen);
++
++RROutputPtr
++RRFirstOutput (ScreenPtr pScreen);
++
++Rotation
++RRGetRotation (ScreenPtr pScreen);
++
++CARD16
++RRVerticalRefresh (xRRModeInfo *mode);
++
++#ifdef RANDR_10_INTERFACE
++/*
++ * This is the old interface, deprecated but left
++ * around for compatibility
++ */
++
+ /*
+ * Then, register the specific size with the screen
+ */
+@@ -116,7 +507,10 @@
+ int rate,
+ RRScreenSizePtr pSize);
+
+-Bool RRScreenInit(ScreenPtr pScreen);
++Bool RRScreenInit (ScreenPtr pScreen);
++
++Rotation
++RRGetRotation (ScreenPtr pScreen);
+
+ int
+ RRSetScreenConfig (ScreenPtr pScreen,
+@@ -124,19 +518,371 @@
+ int rate,
+ RRScreenSizePtr pSize);
+
++#endif
++
++/* rrcrtc.c */
++
++/*
++ * Notify the CRTC of some change; layoutChanged indicates that
++ * some position or size element changed
++ */
++void
++RRCrtcChanged (RRCrtcPtr crtc, Bool layoutChanged);
++
++/*
++ * Create a CRTC
++ */
++RRCrtcPtr
++RRCrtcCreate (ScreenPtr pScreen, void *devPrivate);
++
++/*
++ * Set the allowed rotations on a CRTC
++ */
++void
++RRCrtcSetRotations (RRCrtcPtr crtc, Rotation rotations);
++
++/*
++ * Notify the extension that the Crtc has been reconfigured,
++ * the driver calls this whenever it has updated the mode
++ */
++Bool
++RRCrtcNotify (RRCrtcPtr crtc,
++ RRModePtr mode,
++ int x,
++ int y,
++ Rotation rotation,
++ int numOutputs,
++ RROutputPtr *outputs);
++
++void
++RRDeliverCrtcEvent (ClientPtr client, WindowPtr pWin, RRCrtcPtr crtc);
++
++/*
++ * Request that the Crtc be reconfigured
++ */
+ Bool
+-miRandRInit (ScreenPtr pScreen);
++RRCrtcSet (RRCrtcPtr crtc,
++ RRModePtr mode,
++ int x,
++ int y,
++ Rotation rotation,
++ int numOutput,
++ RROutputPtr *outputs);
++
++/*
++ * Request that the Crtc gamma be changed
++ */
+
+ Bool
+-miRRGetInfo (ScreenPtr pScreen, Rotation *rotations);
++RRCrtcGammaSet (RRCrtcPtr crtc,
++ CARD16 *red,
++ CARD16 *green,
++ CARD16 *blue);
++
++/*
++ * Notify the extension that the Crtc gamma has been changed
++ * The driver calls this whenever it has changed the gamma values
++ * in the RRCrtcRec
++ */
+
+ Bool
+-miRRSetConfig (ScreenPtr pScreen,
+- Rotation rotation,
+- int rate,
+- RRScreenSizePtr size);
++RRCrtcGammaNotify (RRCrtcPtr crtc);
++
++/*
++ * Set the size of the gamma table at server startup time
++ */
+
+ Bool
+-miRRGetScreenInfo (ScreenPtr pScreen);
++RRCrtcGammaSetSize (RRCrtcPtr crtc,
++ int size);
++
++/*
++ * Return the area of the frame buffer scanned out by the crtc,
++ * taking into account the current mode and rotation
++ */
++
++void
++RRCrtcGetScanoutSize(RRCrtcPtr crtc, int *width, int *height);
++
++/*
++ * Destroy a Crtc at shutdown
++ */
++void
++RRCrtcDestroy (RRCrtcPtr crtc);
++
++/*
++ * Initialize crtc type
++ */
++Bool
++RRCrtcInit (void);
++
++/*
++ * Crtc dispatch
++ */
++
++int
++ProcRRGetCrtcInfo (ClientPtr client);
++
++int
++ProcRRSetCrtcConfig (ClientPtr client);
++
++int
++ProcRRGetCrtcGammaSize (ClientPtr client);
++
++int
++ProcRRGetCrtcGamma (ClientPtr client);
++
++int
++ProcRRSetCrtcGamma (ClientPtr client);
++
++/* rrdispatch.c */
++Bool
++RRClientKnowsRates (ClientPtr pClient);
++
++/* rrmode.c */
++/*
++ * Find, and if necessary, create a mode
++ */
++
++RRModePtr
++RRModeGet (xRRModeInfo *modeInfo,
++ const char *name);
++
++void
++RRModePruneUnused (ScreenPtr pScreen);
++
++/*
++ * Destroy a mode.
++ */
++
++void
++RRModeDestroy (RRModePtr mode);
++
++/*
++ * Return a list of modes that are valid for some output in pScreen
++ */
++RRModePtr *
++RRModesForScreen (ScreenPtr pScreen, int *num_ret);
++
++/*
++ * Initialize mode type
++ */
++Bool
++RRModeInit (void);
++
++int
++ProcRRCreateMode (ClientPtr client);
++
++int
++ProcRRDestroyMode (ClientPtr client);
++
++int
++ProcRRAddOutputMode (ClientPtr client);
++
++int
++ProcRRDeleteOutputMode (ClientPtr client);
++
++/* rroutput.c */
++
++/*
++ * Notify the output of some change. configChanged indicates whether
++ * any external configuration (mode list, clones, connected status)
++ * has changed, or whether the change was strictly internal
++ * (which crtc is in use)
++ */
++void
++RROutputChanged (RROutputPtr output, Bool configChanged);
++
++/*
++ * Create an output
++ */
++
++RROutputPtr
++RROutputCreate (ScreenPtr pScreen,
++ const char *name,
++ int nameLength,
++ void *devPrivate);
++
++/*
++ * Notify extension that output parameters have been changed
++ */
++Bool
++RROutputSetClones (RROutputPtr output,
++ RROutputPtr *clones,
++ int numClones);
++
++Bool
++RROutputSetModes (RROutputPtr output,
++ RRModePtr *modes,
++ int numModes,
++ int numPreferred);
++
++int
++RROutputAddUserMode (RROutputPtr output,
++ RRModePtr mode);
++
++int
++RROutputDeleteUserMode (RROutputPtr output,
++ RRModePtr mode);
++
++Bool
++RROutputSetCrtcs (RROutputPtr output,
++ RRCrtcPtr *crtcs,
++ int numCrtcs);
++
++Bool
++RROutputSetConnection (RROutputPtr output,
++ CARD8 connection);
++
++Bool
++RROutputSetSubpixelOrder (RROutputPtr output,
++ int subpixelOrder);
++
++Bool
++RROutputSetPhysicalSize (RROutputPtr output,
++ int mmWidth,
++ int mmHeight);
++
++void
++RRDeliverOutputEvent(ClientPtr client, WindowPtr pWin, RROutputPtr output);
++
++void
++RROutputDestroy (RROutputPtr output);
++
++int
++ProcRRGetOutputInfo (ClientPtr client);
++
++/*
++ * Initialize output type
++ */
++Bool
++RROutputInit (void);
++
++/* rrpointer.c */
++void
++RRPointerMoved (ScreenPtr pScreen, int x, int y);
++
++void
++RRPointerScreenConfigured (ScreenPtr pScreen);
++
++/* rrproperty.c */
++
++void
++RRDeleteAllOutputProperties (RROutputPtr output);
++
++RRPropertyValuePtr
++RRGetOutputProperty (RROutputPtr output, Atom property, Bool pending);
++
++RRPropertyPtr
++RRQueryOutputProperty (RROutputPtr output, Atom property);
++
++void
++RRDeleteOutputProperty (RROutputPtr output, Atom property);
++
++Bool
++RRPostPendingProperties (RROutputPtr output);
++
++int
++RRChangeOutputProperty (RROutputPtr output, Atom property, Atom type,
++ int format, int mode, unsigned long len,
++ pointer value, Bool sendevent, Bool pending);
++
++int
++RRConfigureOutputProperty (RROutputPtr output, Atom property,
++ Bool pending, Bool range, Bool immutable,
++ int num_values, INT32 *values);
++int
++ProcRRChangeOutputProperty (ClientPtr client);
++
++int
++ProcRRGetOutputProperty (ClientPtr client);
++
++int
++ProcRRListOutputProperties (ClientPtr client);
++
++int
++ProcRRQueryOutputProperty (ClientPtr client);
++
++int
++ProcRRConfigureOutputProperty (ClientPtr client);
++
++int
++ProcRRDeleteOutputProperty (ClientPtr client);
++
++/* rrxinerama.c */
++void
++RRXineramaExtensionInit(void);
+
+ #endif /* _RANDRSTR_H_ */
++
++/*
++
++randr extension implementation structure
++
++Query state:
++ ProcRRGetScreenInfo/ProcRRGetScreenResources
++ RRGetInfo
++
++ • Request configuration from driver, either 1.0 or 1.2 style
++ • These functions only record state changes, all
++ other actions are pended until RRTellChanged is called
++
++ ->rrGetInfo
++ 1.0:
++ RRRegisterSize
++ RRRegisterRate
++ RRSetCurrentConfig
++ 1.2:
++ RRScreenSetSizeRange
++ RROutputSetCrtcs
++ RRModeGet
++ RROutputSetModes
++ RROutputSetConnection
++ RROutputSetSubpixelOrder
++ RROutputSetClones
++ RRCrtcNotify
++
++ • Must delay scanning configuration until after ->rrGetInfo returns
++ because some drivers will call SetCurrentConfig in the middle
++ of the ->rrGetInfo operation.
++
++ 1.0:
++
++ • Scan old configuration, mirror to new structures
++
++ RRScanOldConfig
++ RRCrtcCreate
++ RROutputCreate
++ RROutputSetCrtcs
++ RROutputSetConnection
++ RROutputSetSubpixelOrder
++ RROldModeAdd • This adds modes one-at-a-time
++ RRModeGet
++ RRCrtcNotify
++
++ • send events, reset pointer if necessary
++
++ RRTellChanged
++ WalkTree (sending events)
++
++ • when layout has changed:
++ RRPointerScreenConfigured
++ RRSendConfigNotify
++
++Asynchronous state setting (1.2 only)
++ When setting state asynchronously, the driver invokes the
++ ->rrGetInfo function and then calls RRTellChanged to flush
++ the changes to the clients and reset pointer if necessary
++
++Set state
++
++ ProcRRSetScreenConfig
++ RRCrtcSet
++ 1.2:
++ ->rrCrtcSet
++ RRCrtcNotify
++ 1.0:
++ ->rrSetConfig
++ RRCrtcNotify
++ RRTellChanged
++ */
+Only in ./nx-X11/programs/Xserver/randr: registry.h
+Only in ./nx-X11/programs/Xserver/randr: registry.h.NX.original
+Only in ./nx-X11/programs/Xserver/randr: registry.h.X.original
+Only in ./nx-X11/programs/Xserver/randr: rrcrtc.c
+Only in ./nx-X11/programs/Xserver/randr: rrcrtc.c.NX.original
+Only in ./nx-X11/programs/Xserver/randr: rrcrtc.c.X.original
+Only in ./nx-X11/programs/Xserver/randr: rrdispatch.c
+Only in ./nx-X11/programs/Xserver/randr: rrdispatch.c.X.original
+Only in ./nx-X11/programs/Xserver/randr: rrinfo.c
+Only in ./nx-X11/programs/Xserver/randr: rrmode.c
+Only in ./nx-X11/programs/Xserver/randr: rrmode.c.NX.original
+Only in ./nx-X11/programs/Xserver/randr: rrmode.c.X.original
+Only in ./nx-X11/programs/Xserver/randr: rroutput.c
+Only in ./nx-X11/programs/Xserver/randr: rrpointer.c
+Only in ./nx-X11/programs/Xserver/randr: rrproperty.c
+Only in ./nx-X11/programs/Xserver/randr: rrscreen.c
+Only in ./nx-X11/programs/Xserver/randr: rrscreen.c.NX.original
+Only in ./nx-X11/programs/Xserver/randr: rrscreen.c.X.original
+Only in ./nx-X11/programs/Xserver/randr: rrsdispatch.c
+Only in ./nx-X11/programs/Xserver/randr: rrxinerama.c
+Only in ./nx-X11/programs/Xserver/randr: rrxinerama.c.NX.original
+Only in ./nx-X11/programs/Xserver/randr: rrxinerama.c.X.original