Hello. There was a problem in the latest Xvnc CoRRE implementation: the code refused to check return values after writing data to clients; this caused Xvnc crashes after next write operation on closed descriptor. The fix is included below. -- With Best Wishes, Constantin diff -urN vnc_unixsrc.orig/Xvnc/programs/Xserver/hw/vnc/corre.c vnc_unixsrc/Xvnc/programs/Xserver/hw/vnc/corre.c --- vnc_unixsrc.orig/Xvnc/programs/Xserver/hw/vnc/corre.c Sun Jun 11 20:00:52 2000 +++ vnc_unixsrc/Xvnc/programs/Xserver/hw/vnc/corre.c Wed Jan 17 05:23:14 2001 @@ -60,20 +60,18 @@ int x, y, w, h; { if (h > cl->correMaxHeight) { - rfbSendRectEncodingCoRRE(cl, x, y, w, cl->correMaxHeight ); - rfbSendRectEncodingCoRRE(cl, x, y + cl->correMaxHeight, w, - h - cl->correMaxHeight); - return; + return (rfbSendRectEncodingCoRRE(cl, x, y, w, cl->correMaxHeight) && + rfbSendRectEncodingCoRRE(cl, x, y + cl->correMaxHeight, + w, h - cl->correMaxHeight)); } if (w > cl->correMaxWidth) { - rfbSendRectEncodingCoRRE(cl, x, y, cl->correMaxWidth, h); - rfbSendRectEncodingCoRRE(cl, x + cl->correMaxWidth, y, - w - cl->correMaxWidth, h); - return; + return (rfbSendRectEncodingCoRRE(cl, x, y, cl->correMaxWidth, h) && + rfbSendRectEncodingCoRRE(cl, x + cl->correMaxWidth, y, + w - cl->correMaxWidth, h)); } - rfbSendSmallRectEncodingCoRRE(cl, x, y, w, h); + return rfbSendSmallRectEncodingCoRRE(cl, x, y, w, h); } --------------------------------------------------------------------- To unsubscribe, send a message with the line: unsubscribe vnc-list to [EMAIL PROTECTED] See also: http://www.uk.research.att.com/vnc/intouch.html ---------------------------------------------------------------------