diff options
author | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
---|---|---|
committer | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
commit | 1dad092caf01d733990648e6df64cbf964df5143 (patch) | |
tree | 39de0e643e76754a3e23ca9dd0350b8ba4f76250 /doc/_attic_ | |
parent | 6d70b9e3c47f27a166f4aacb522c5c1e49092dd9 (diff) | |
parent | 2b9025f797ee322e21077e100c2ee27c2e7fa0e0 (diff) | |
download | nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.gz nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.bz2 nx-libs-1dad092caf01d733990648e6df64cbf964df5143.zip |
Merge branch '3.6.x'
Diffstat (limited to 'doc/_attic_')
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 |