Updated on sourceware: XFree86-xserv-4.2.0-25

Harold L Hunt II huntharo@msu.edu
Wed Jan 29 21:13:00 GMT 2003

The XFree86-xserv-4.2.0-25 package has been updated in the Cygwin

This is a synchronization with all the fixes that have been applied
from Server Test Series - Test 69 through Server Test Series - Test 77.
These fixes are summarized below:

1) Fix memory leaks in rootless mode.  (Kensuke Matsuzaki)

2) The test releases, and all future stable releases, are now built
with GCC 3.2.  There were no problems encountered when switching to
the new compiler version.  (Harold Hunt)

3) EXPERIMENTAL: New multiwindow mode (invoked with the
"-multiwindow" command-line parameter) that creates each
top-level X window in a Microsoft Windows window.  Note that there are
still debugging options on in this release, so do not expect
multiwindow mode to be polished enough for everyday use.  (Kensuke

4) Attempt at fixing the segfault on startup that some users are
reporting.  (Kensuke Matsuzaki)

5) New "-multimonitor" command-line parameter that is used to
tell XWin.exe to display across all available displays.  (Nick

6) winmultiwindowwindow.c - Add an evil, naughty, ugly, shameless,
and worthless hack to the multi-window mode to enable the X
Non-Rectangular Shape extension.  This will need to be evaluated and
fixed by other developers.  (Harold Hunt)

7) Preliminary integration of the xwinclip functionality
into the main server executable.  This functionality is accessible via
the "-clipboard" command-line parameter.  (Harold Hunt)

8) Delay the execution of the Multi-Window Window Manager thread
until the X Server has finished starting up.  (Harold Hunt)

9) Restructure the way that the Multi-Window Window Manager handles
fatal errors.  Return FALSE when we encounter an initialization error
so that the server can make a clean exit, instead of aborting
immediately by calling exit (1).  For later errors, call pthread_exit
(NULL) instead of exit (1) so that only the Multi-Window Window
Manager aborts; there is no need to kill the X Server process since
work could still be recovered without the window manager module.
(Harold Hunt)

10) Destroy the pthread mutex and condition variables, used for
synchronization in the Multi-Window Window Manager, upon X Server
exit.  (Harold Hunt)

11) xc/lib/xtrans/Xtransutil.c - Remove Cygwin-specific defines of
fchown and fchmod to chown and chmod, respectively.  It is not clear
when these were added, but they are certainly no longer needed and are
likely the cause of the first segfault that occurs if you debug
XWin.exe under gdb.  (Takashi Sawanaka)

12) Remove the condition variable used in the startup of the threaded
clipboard manager and multi-window window manager; the condition
variable was not needed and actually caused a race condition that
could prevent either manager from starting up.  Instead, just use a
mutex to hold the threads until the server has started, at which point
the mutex is unlocked.  (Harold Hunt)

13) winmultiwindowwm.c, winclipboardthread.c - Remove calls to
_Xsetlocale and replace them with calls to setlocale, since
_Xsetlocale is just defined to be setlocale.  (Kensuke Matsuzaki)

14) Fix a problem where the server window would shrink each time the
server was reset.  This problem only happened in non-rootless,
non-fullscreen, non-nodecoration, and non-scrollbars modes.  In other
words, it only happened when you ran the X Server in a single window
that had a window border but no scrollbars.  (Harold Hunt)

15) winshaddd[nl].c/winReleasePrimarySurfaceShadowDD[NL] - Check that
pddsPrimary is not NULL before calling
IDirectDrawSurface[2|4]_SetClipper.  This most likely showed up as a
crash during video depth changes.  (Alexander Gottwald)

16) winshaddd.c - Change a few accidental IDirectDrawSurface4
references to IDirectDrawSurface2.  (Harold Hunt)

17) winshadgdi.c/winAllocateFBShadowGDI - Fix how dwStride was being
calculated, which was causing a crash on startup with both the
-engine 1 and -multiwindow command-line parameters.  (Harold Hunt)

18) Only call setlocale () once per process.  This was causing crashes
on startup when using both the -clipboard and -multiwindow
command-line parameters.  (Kensuke Matsuzaki, Harold Hunt)

Harold Hunt

To update your installation, click on the "Install Cygwin now" link
on the http://cygwin.com/ web page.  This downloads setup.exe to
your system.  Save it and run setup, answer the questions and pick
up 'XFree86-xserv' from the 'XFree86' category.  You may need to
click the "Full" button if it doesn't show up.

Note that downloads from sources.redhat.com (aka cygwin.com) aren't
allowed due to bandwidth limitations.  This means that you will need
to find a mirror which has this update.

In the US, ftp://archive.progeny.com/cygwin/
is a reliable high bandwidth connection.

In Japan, ftp://ftp.u-aizu.ac.jp/pub/gnu/gnu-win32/ is usually

In DK, http://mirrors.sunsite.dk/cygwin/ is usually up-to-date.

If one of the above doesn't have the latest version of this package
you can either wait for the site to be updated or find another

Please  send questions or comments to the Cygwin/XFree86 mailing list at:
cygwin-xfree@sources.redhat.com .  If you want to subscribe go to:
http://cygwin.com/lists.html I would appreciate if you would use
this mailing list rather than emailing me directly.  This includes
ideas and comments about the setup utility or Cygwin/XFree86 in general.

If you want to make a point or ask a question the Cygwin/XFree86 mailing
list is the appropriate place.

More information about the Cygwin-xfree mailing list