xserver-multidpi/hw/xwin
Jon TURNEY 95b1391fe3 hw/xwin: Chain IOError handlers to avoid longjmp across threads
Avoid crashes on shutdown due to the undefined behaviour of calling longjmp() on the
result of setjmp() from a different thread, by chaining IOError handlers and only
jumping back up to the frame for this thread

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2012-01-26 14:10:24 +00:00
..
glx glx: Remove a few lingering traces of __GLXscreen.GLXVersion 2011-07-07 18:09:21 +01:00
man XWinrc.man: fix warning: tab character in unquoted macro argument #35054 2011-10-19 17:22:26 -07:00
.gitignore XWin: build XWin man pages using XORG_MANPAGE_SECTIONS 2011-01-18 15:10:21 -08:00
ddraw.h hw/xwin: Fix a typo in ddraw.h 2011-11-02 14:10:41 +00:00
InitInput.c hw/xwin: Remove no-longer needed tricks used to prevent the clipboard client from being killed 2012-01-26 14:09:35 +00:00
InitOutput.c hw/xwin: Stop pretending we work on NT4 2011-11-02 14:08:06 +00:00
Makefile.am hw/xwin: Include manifest file in the dist tarball 2012-01-07 22:50:48 +00:00
README Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
system.XWinrc Cygwin/X: Tidy up system.Xwinrc 2010-02-05 19:15:04 +00:00
win.h Move to autoconf standard function name checks & defines 2011-12-05 14:32:45 -08:00
winallpriv.c XWin: Fixes for devPrivates API change 2010-06-22 11:06:30 -07:00
winauth.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
winblock.c Cygwin/X: Move duplicate extern variable declarations from various .c files to a new header file 2010-10-19 15:02:00 +01:00
winclip.c Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
winclipboard.h hw/xwin: Automatically restart clipboard thread 2012-01-26 14:09:02 +00:00
winclipboardinit.c xserver: delete pervasively use of DISPATCH_PROC 2010-09-28 16:45:05 +03:00
winclipboardtextconv.c Cygwin/X: Clearly diagnose a timeout while waiting for SelectionNotify event 2009-11-09 20:33:38 +00:00
winclipboardthread.c hw/xwin: Chain IOError handlers to avoid longjmp across threads 2012-01-26 14:10:24 +00:00
winclipboardunicode.c Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
winclipboardwndproc.c hw/xwin: Revert "Fix bug #5735, Serious flaw in CygwinX clipboard" 2011-11-02 14:08:34 +00:00
winclipboardwrappers.c hw/xwin: Remove no-longer needed tricks used to prevent the clipboard client from being killed 2012-01-26 14:09:35 +00:00
winclipboardxevents.c Cygwin/X: Cosmetic fixes to logging of result from X*TextPropertyToTextList() 2011-04-27 14:23:35 +01:00
wincmap.c Remove superfluous if(p!=NULL) checks around free(p); p=NULL; 2010-11-11 08:22:59 +10:00
winconfig.c Correctly free config file names 2011-11-24 17:47:37 -02:00
winconfig.h xfree86: Add option parsing for percent options. 2010-05-18 15:43:51 -07:00
wincreatewnd.c Cygwin/X: Add -resize command line option 2011-01-19 14:02:22 +00:00
wincursor.c Cygwin/X: Move duplicate extern variable declarations from various .c files to a new header file 2010-10-19 15:02:00 +01:00
windialogs.c Cygwin/X: Left-justify website link in About box 2011-06-29 19:14:38 +01:00
winengine.c hw/xwin: Clarify an if statement mixed with ifdef in winSetEngine() 2012-01-07 22:50:06 +00:00
winerror.c Terminate the log with one last message. 2011-07-27 09:31:02 +10:00
winfillsp.c xwin: Remove some undue paranoia about UNDRAWABLE_WINDOW 2010-10-13 09:21:27 -07:00
winfont.c Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
wingc.c Delete redundant GC initializations. 2010-09-13 15:55:17 -07:00
wingetsp.c xwin: Remove some undue paranoia about UNDRAWABLE_WINDOW 2010-10-13 09:21:27 -07:00
winglobals.c hw/xwin: Link directly to TrackMouseEvent() 2011-11-02 14:05:34 +00:00
winglobals.h Cygwin/X: Move duplicate extern variable declarations from various .c files to a new header file 2010-10-19 15:02:00 +01:00
winkeybd.c Fix XWin compilation after updates for input API changes 2011-05-24 14:08:13 +10:00
winkeybd.h Cygwin/X: Fix for Canadian Multilingual Standard keyboard layout handling 2011-02-05 20:54:49 +00:00
winkeyhook.c Cygwin/X: Better keycode debugging output 2011-02-05 20:52:19 +00:00
winkeynames.h Cygwin/X: Generate X keycodes for multimedia keys 2011-02-05 20:50:58 +00:00
winlayouts.h Cygwin/X: Add Turkish keyboard layouts to keyboard layout mapping table 2011-02-05 20:53:52 +00:00
winmessages.h Unifdef ISC 2008-10-02 17:03:54 -04:00
winmisc.c Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
winmonitors.c hw/xwin: Stop pretending we work on NT4 2011-11-02 14:08:06 +00:00
winmonitors.h Cygwin/X: Move QueryMonitor() out of windprocarg.c 2011-01-19 14:02:20 +00:00
winmouse.c Fix XWin compilation after updates for input API changes 2011-05-24 14:08:13 +10:00
winms.h Xming: Add NET_WM_ICON to native icon conversion 2009-08-12 17:56:06 +01:00
winmsg.c Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
winmsg.h Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
winmultiwindowclass.c Cygwin/X: Remove execute permission from source files 2010-10-19 14:19:29 +01:00
winmultiwindowclass.h Cygwin/X: Remove execute permission from source files 2010-10-19 14:19:29 +01:00
winmultiwindowicons.c Merge remote-tracking branch 'jturney/master' 2011-04-27 12:08:51 -07:00
winmultiwindowshape.c Clean up after removal of screen parameters from region macros. 2010-06-05 22:07:21 -07:00
winmultiwindowwindow.c hw/xwin: Report Window XIDs in Window debug messages 2011-07-07 18:03:43 +01:00
winmultiwindowwm.c hw/xwin: Chain IOError handlers to avoid longjmp across threads 2012-01-26 14:10:24 +00:00
winmultiwindowwndproc.c hw/xwin: Link directly to TrackMouseEvent() 2011-11-02 14:05:34 +00:00
winnativegdi.c hw/xwin: Fix possible null ptr deref in winActivateAppNativeGDI() 2012-01-07 22:50:08 +00:00
winpfbdd.c hw/xwin: Fix possible null ptr deref in winActivateAppPrimaryDD() 2012-01-07 22:50:09 +00:00
winpixmap.c Revert "dix: Remove usage_hint from pixmaps, store it in ->drawable.class" 2011-03-17 23:48:52 -07:00
winpolyline.c Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
winprefs.c hw/xwin: Improve XWinrc loading and error recovery 2012-01-26 14:10:12 +00:00
winprefs.h Cygwin/X: Make winOverrrideStyle() thread-safe 2011-04-27 14:24:17 +01:00
winprefslex.l hw/xwin: Improve XWinrc loading and error recovery 2012-01-26 14:10:12 +00:00
winprefsyacc.y Cygwin/X: Avoid a collision between DEBUG and a token name 2010-02-05 19:21:19 +00:00
winprocarg.c hw/xwin: Stop pretending we work on NT4 2011-11-02 14:08:06 +00:00
winrandr.c hw/xwin: Fix rrScreenSetSize function pointer mismatch 2012-01-07 22:50:04 +00:00
winregistry.c Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
winresource.h Xming: Remove unused X-boxed icon resource 2009-10-14 11:00:30 +01:00
winrop.c Revert "Removed XWin DDX" 2008-04-20 08:35:42 -07:00
winscrinit.c Cygwin/X: Handle failure during winScreenInit() 2011-04-27 14:25:16 +01:00
winsetsp.c xwin: Remove some undue paranoia about UNDRAWABLE_WINDOW 2010-10-13 09:21:27 -07:00
winshaddd.c Cygwin/X: Handle failure during winScreenInit() 2011-04-27 14:25:16 +01:00
winshadddnl.c Cygwin/X: Handle failure during winScreenInit() 2011-04-27 14:25:16 +01:00
winshadgdi.c hw/xwin: Fix double-free in error path in winQueryRGBBitsAndMasks() 2012-01-07 22:50:01 +00:00
wintrayicon.c Cygwin/X: Remove execute permission from source files 2010-10-19 14:19:29 +01:00
winvalargs.c Cygwin/X: Fix a typo in command line argument validation code 2011-01-19 14:02:30 +00:00
winvideo.c hw/xwin: remove duplicated includes 2011-04-25 10:45:29 -07:00
winwakeup.c Cygwin/X: Move duplicate extern variable declarations from various .c files to a new header file 2010-10-19 15:02:00 +01:00
winwin32rootless.c hw/xwin: Fix possible null ptr deref in winMWExtWMRestackFrame() 2012-01-07 22:50:11 +00:00
winwin32rootlesswindow.c hw/xwin: Fix possible null ptr deref in winMWExtWMDecorateWindow() 2012-01-07 22:50:13 +00:00
winwin32rootlesswndproc.c hw/xwin: Link directly to TrackMouseEvent() 2011-11-02 14:05:34 +00:00
winwindow.c Cygwin/X: Enable building of nativegdi and primaryfb engines to avoid further rusting 2011-01-19 14:02:14 +00:00
winwindow.h hw/xwin: Add a flag to track which windows have been drawn to using WGL. 2011-07-07 18:03:42 +01:00
winwindowswm.c Revert "dix: Pull client-is-local flag up to the ClientRec" 2012-01-12 12:09:59 -08:00
winwndproc.c hw/xwin: Link directly to TrackMouseEvent() 2011-11-02 14:05:34 +00:00
X.ico Cygwin/X: Update the native icon to one based on the X.Org logo 2008-12-15 12:42:10 +00:00
XWin.exe.manifest Cygwin/X: Make default DPI match native DPI 2011-11-02 13:56:22 +00:00
XWin.rc Cygwin/X: Left-justify website link in About box 2011-06-29 19:14:38 +01:00

Cygwin/X Release Notes
======================

Release X11R6.7
===============

Cygwin/X has continued its rapid pace of development that it has sustained
since Spring 2001 and this release shows it, we now have: a stable and fast
multi-window mode, seamless clipboard integration, a configurable tray menu
icon, popups on error messages pointing users to the log file and our mailing
list, the beginnings of indirect 3D acceleration for OpenGL applications,
improved non-US keyboard and clipboard support, and only a handful of bugs
that continue to be reported.

Between the XFree86 4.3.0 release and the X.Org X11R6.7 release the Cyg-
win/XFree86 project broke away from The XFree86 Project, Inc. due to a lack
of support from the XFree86 project.  As such, the Cygwin/XFree86 project was
renamed to the Cygwin/X project and the upstream source code tree that Cyg-
win/X pulls from and pushes to is now the tree managed by the X.Org Founda-
tion.  The Cygwin/X project has seen a rush of development and interest in
the project since the split; one metric showing this is that the number of
CVS committers we have has gone from zero to six.

The most outstanding features of this release are

   o Major multi-window mode improvements. (Takuma Murakami, Earle F. 
     Philhower III)

   o Initial work of accelerated OpenGL using the windows OpenGL drivers. 
     (Alexander Gottwald)

   o Massive rework of clipboard integration with windows. (Harold L Hunt II,
     Kensuke Matsuzaki)

   o Improved Japanese clipboard and keyboard support. (Kensuke Matsuzaki,
     Takuma Murakami, Alexander Gottwald)

   o Customizable tray menu icon allowing shortcuts to start programs,
     etc.(Earle F. Philhower III)

   o New icons. (Jehan Bing, Michael Bax, Benjamin Rienfenstahl)

   o Fix some multi-monitor problems.(Takuma Murakami)

   o Fix repeated key strokes. (Ivan Pascal)

   o Automatic keyboard layouts for the most frequently used keyboard lay-
     outs. (Alexander Gottwald)

   o Built in SHM support with detection of the SHM engine (cygserver).
     (Ralf Habacker, Harold L Hunt II)

   o Merged in work on the NativeGDI engine. (Alan Hourihane)

OpenGL with Cygwin/X
====================

Cygwin/X has supported GLX only with software rendering provided by the Mesa
library. Starting with X11R6.7 we add support for hardware accelerated OpenGL.

This support is still under development and still has some bigger problems. 
To provide both versions (the stable software rendering and the new hardware
accelerated) we ship to binaries. XWin.exe contains the software rendering 
and XWin_GL.exe uses the hardware acceleration provided by the windows drivers.

The known problems with hardware accelerated OpenGL are:

   o Only multiwindow mode is useful. In the other modes the OpenGL output 
     does not align with the X11 windows.

   o Using two programs which require different visuals will fail. For example
     glxgears and glxinfo will not work without restarting XWin_GL.exe.

   o OpenGL extensions and functions from OpenGL 1.2 and later should work 
     but are not completely tested.

   o The standard Windows OpenGL driver will produce no output. Use the one 
     from your video adapter vendor.  

If you notice problems with some programs please send a message with the 
logfile /tmp/XWin.log and a short error description to <cygwin-xfree@cygwin.com>

The hardware accelerated OpenGL was tested using: 

   o glxgears
   o glxinfo
   o blender
   o tuxkart
   o GLUT demos (some did fail)
   o tuxracer (currently not working)

    
Release X11R6.8
===============

Having reached a quite mature state in release X11R6.7 the development 
has slowed down a little bit. Some of the former active developers have
retired or cut their work for the Cygwin/X project due to conflicts with 
job, study and family. 

The X11R6.8 release now includes major improvements from the xserver project.
This includes the XFixes, Damage, Composite and XEVIE extension which is a 
major step towards allowing Cygwin/X to have real transparency. 

But at the current state Composite is not working with Cygwin/X. Not all code
in the Cygwin/X Server has been updated to support the Composite feature and
using it will even crash the xserver. But as a second problem nearly all
functions required for compositing are lacking acceleration in Cygwin/X so
the feature would not be very useful if it would work. So it is disabled by
default. 

OpenGL with Cygwin/X
====================

The OpenGL support has lost some of it's limitations from the last release 
and should be much more stable. But due to missing wide spread testing in 
the community it is still available in a separate program. XWin still uses 
the old software OpenGL which is known to be stable.

The known problems with hardware accelerated OpenGL are:

   o Only multiwindow mode is useful. In the other modes the OpenGL output 
     does not align with the X11 windows.

   o OpenGL extensions and functions from OpenGL 1.2 and later should work 
     but are not completely tested.

   o The standard Windows OpenGL driver will produce no output. Use the one 
     from your video adapter vendor.  

If you notice problems with some programs please send a message with the 
logfile /tmp/XWin.log and a short error description to <cygwin-xfree@cygwin.com>

The hardware accelerated OpenGL was tested using: 

   o glxgears
   o glxinfo
   o blender
   o tuxkart
   o GLUT demos (some did fail)