Updated: XFree86-xserv-4.3.0-33

Harold L Hunt II huntharo@msu.edu
Sat Jan 10 06:43:00 GMT 2004


Andrew,

Andrew Braverman wrote:
> I had not checked, but I just did.  If I remove the -clipboard and the
> sleep, all is well.  As another data point, a longer sleep is needed if the
> files are run on windows login (which is not surprising).

Your crash is possibly due to xhost being the first X Client to 
connect... when it disconnects, the X Server tries to reset.  There may 
be some problems in -clipboard that cause a crash in such a quick server 
startup followed by a reset.  I have tried to fix those problems, but it 
is going to take me a while to find all of the bugs that have krept into 
the server reset code.  Currently you can't even reset the server more 
than twice, without -clipboard and without -multiwindow, before it just 
exits without a warning or error message.  So, you are likely to have to 
work around this problem for a while if it doesn't magically go away in 
the next release.  For now, I would just drop the xhost command from 
your startup file.

> On a different note, I have noticed that the X clipboard will transfer to
> windows as long as the data is highlighted.  Once the data is unhighlighted
> (i.e. typing "clear") the text is still in the X buffer (middle button or
> shift insert pastes correctly), but the windows clipboard is empty.

That is an interesting point that I had thought of, but didn't really 
want to think hard about :)  I spent about 12 hours coding this up... 
everytime I thought I had it, I realized that more basic changes were 
needed in the clipboard code.  Now I have it working, I believe.

One of the funniest things that I fixed was that we were creating one 
clipboard thread *per* screen.  I realized, in looking at 
xc/programs/Xserver/dix/dispatch.c, that the selections are global to 
all screens running on the same display (or instance of XWin.exe).  So, 
we really only needed one clipboard client thread, no matter how many 
-screen parameters were passed to XWin.exe.  I changed the code to 
create just one clipboard client thread for the entire process... that 
really simplified the process of changing the code, since I didn't have 
to track things per-screen anymore.

I have made your request work only for the PRIMARY and CLIPBOARD 
selections.  It won't matter if the X client still has data in the 
SECONDARY selection, because we do not monitor that selection.  So, 
don't complain if you can still paste in one or two X apps but not in 
Win32 :)

Harold



More information about the Cygwin-xfree mailing list