public inbox for
help / color / mirror / Atom feed
* Updated: xorg-server-1.14.1-2 (TEST)
@ 2013-06-21 12:15 Jon TURNEY
  0 siblings, 0 replies; only message in thread
From: Jon TURNEY @ 2013-06-21 12:15 UTC (permalink / raw)
  To: Cygwin/X announce list

The following packages have been updated in the Cygwin distribution:

*** xorg-server-*1.14.1-2

These packages contain XWin and the other X.Org X11 servers.

The following cygwin-specific changes have been made since 1.14.1-1:

* Fix a multiwindow mode crash if a failure occurred while making a Windows
icon (Reported by Matthew D'Onofrio)
* Stop processing of _NET_WM_ICON hint if it's malformed with an icon size
bigger than the data remaining in the property
* [cygwin64] Fixed clipboard integration
* [cygwin64] Added DMX server as dependencies are now available
* [source] Fail in ./configure if yacc and lex aren't found
* [source] Check for python in ./configure
* Remove useless multimedia i2c driver modules
* Add xwinclip package

Note that GLX support is still disabled on cygwin64 as software rendering
crashes in softpipe and the dependencies for llvmpipe are missing.

These packages are currently marked as a test release because making the
clipboard work on cygwin64 involved a fair amount of changes, so there is a
probably a high risk of a regressions.

Clipboard integration and cygwin64

A little bit of explanation as to why this broke, and why it was hard to fix...

About 25 years ago, unsigned long was chosen as the C type for CARD32, a
32-bit cardinal value in the Xlib interface.  With hindsight, this is
recognized as a mistake [1].

For 64-bit code, the same type is used (I assume to preserve the API), so
sizeof(CARD32) is 8 in a 64-bit client and converted to a 32-bit protocol
value on the wire (because sizeof(CARD32) is 4 in a 32-bit client).

However special steps are taken in the server code (_XSERVER64 is defined),
which modifies the behaviour of the Xlib headers to makes sizeof(CARD32)
always 4 there.

Currently some X client code, for clipboard integration and the internal
window manager for multiwindow mode is built as part of the process of
building the XWin Xserver.

This works fine for a 32-bit XWin Xserver, but given the above issue, it's
very tricky to build this code correctly when building a 64-bit XWin Xserver.

So, I've now factored out the clipboard code as a library, which is built
separately.  Unfortunately, this involved rather a lot of tedious untangling,
so there is the risk that I've broken something.

Also, xwinclip has been restored (it seems the xwinclip package was removed
sometime ago) as a simple client which uses the same clipboard library.  This
should make working on clipboard bugs and features a lot more tractable, as
starting the XWin Xserver with -noclipboard and then running xwinclip should
behave identically, but xwinclip can be debugged and modified without having
to restart the Xserver.


55e2fb1ec3482fa32d3e290fbd41cb92 *xorg-server-1.14.1-2.tar.bz2
45f9dbbf757a97e5b0f16a62a2d285fa *xorg-server-common-1.14.1-2.tar.bz2
af7614ab7b3815a7a97592488aea8953 *xorg-server-debuginfo-1.14.1-2.tar.bz2
6b38c5f7247d59f13b9d9f6127e766f2 *xorg-server-devel-1.14.1-2.tar.bz2
7904595e8b4f4a657b9f281d1ae7c2ef *xorg-server-dmx-1.14.1-2.tar.bz2
32de633ad23849748afab6a24078719a *xorg-server-extra-1.14.1-2.tar.bz2
f1671e993fad8caba441a032f1803a53 *xwinclip-1.14.1-2.tar.bz2
cbbae348b5661d4e83f3ddd48a113466 *xorg-server-1.14.1-2-src.tar.bz2

Volunteer Cygwin/X X Server maintainer

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-06-21 12:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-21 12:15 Updated: xorg-server-1.14.1-2 (TEST) Jon TURNEY

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).