Here's a couple of patches provoked by a problem report on IRC the last week, where a user had some kind of firewall problem which prevented the X server from accepting connections from it's internal clients (which use a hard-coded DISPLAY of 127.0.0.1:0.0 at the moment), which in -multwindow mode, results in windows with no frame or decoration (as the window styling is done by the internal WM thread) and no explanation.
However, I'm not terribly happy with either of them, so more polish needed. Problems: [01/02] libxtrans provides a TransNoListen method to set the 'don't listen' flag for a particular transport, but there is no interface to query the state of that flag, so I had to resort to grovelling around in the server's list of listeners [02/02] Calling FatalError from an internal client thread is a no-no, so these failures are silent at the moment (in the sense that no pop-up occurs to tell the user that we are terminating or why). Also, I'm just noticing I should be using pthread_kill() to ensure the signal is delivered to the thread which is running the main dispatch loop so that will exit the select() it may be blocked in and notice that DE_TERMINATE is set. Jon TURNEY (2): Cygwin/X: Improve choice of display name used by internal clients Cygwin/X: Cause the X server to terminate if clipboard or WM internal client threads exit due to an error hw/xwin/Makefile.am | 1 + hw/xwin/win.h | 7 +++++ hw/xwin/winclipboardthread.c | 22 +++++++++++++--- hw/xwin/windisplay.c | 55 ++++++++++++++++++++++++++++++++++++++++++ hw/xwin/winmultiwindowwm.c | 32 +++++++++++++++++------- hw/xwin/winprefs.c | 11 ++------ include/os.h | 2 + os/connection.c | 17 +++++++++++++ 8 files changed, 126 insertions(+), 21 deletions(-) create mode 100644 hw/xwin/windisplay.c -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/