aboutsummaryrefslogtreecommitdiff
path: root/nx-X11
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11')
-rw-r--r--nx-X11/lib/X11/IfEvent.c1
-rw-r--r--nx-X11/lib/X11/MaskEvent.c1
-rw-r--r--nx-X11/lib/X11/NextEvent.c6
-rw-r--r--nx-X11/lib/X11/PeekEvent.c6
-rw-r--r--nx-X11/lib/X11/PeekIfEv.c1
-rw-r--r--nx-X11/lib/X11/WinEvent.c6
6 files changed, 21 insertions, 0 deletions
diff --git a/nx-X11/lib/X11/IfEvent.c b/nx-X11/lib/X11/IfEvent.c
index a7c0cb188..9cf07f56d 100644
--- a/nx-X11/lib/X11/IfEvent.c
+++ b/nx-X11/lib/X11/IfEvent.c
@@ -73,6 +73,7 @@ XIfEvent (dpy, event, predicate, arg)
prev = NULL;
#ifdef NX_TRANS_SOCKET
if (_XGetIOError(dpy)) {
+ UnlockDisplay(dpy);
return 0;
}
#endif
diff --git a/nx-X11/lib/X11/MaskEvent.c b/nx-X11/lib/X11/MaskEvent.c
index c48a960d2..a46766685 100644
--- a/nx-X11/lib/X11/MaskEvent.c
+++ b/nx-X11/lib/X11/MaskEvent.c
@@ -77,6 +77,7 @@ XMaskEvent (dpy, mask, event)
prev = NULL;
#ifdef NX_TRANS_SOCKET
if (_XGetIOError(dpy)) {
+ UnlockDisplay(dpy);
return 0;
}
#endif
diff --git a/nx-X11/lib/X11/NextEvent.c b/nx-X11/lib/X11/NextEvent.c
index 1c9080651..71d84223e 100644
--- a/nx-X11/lib/X11/NextEvent.c
+++ b/nx-X11/lib/X11/NextEvent.c
@@ -48,6 +48,12 @@ XNextEvent (dpy, event)
if (dpy->head == NULL)
_XReadEvents(dpy);
+#ifdef NX_TRANS_SOCKET
+ if (_XGetIOError(dpy)) {
+ UnlockDisplay(dpy);
+ return 0;
+ }
+#endif
qelt = dpy->head;
*event = qelt->event;
_XDeq(dpy, NULL, qelt);
diff --git a/nx-X11/lib/X11/PeekEvent.c b/nx-X11/lib/X11/PeekEvent.c
index b89c6c95e..b8d755f0a 100644
--- a/nx-X11/lib/X11/PeekEvent.c
+++ b/nx-X11/lib/X11/PeekEvent.c
@@ -46,6 +46,12 @@ XPeekEvent (dpy, event)
LockDisplay(dpy);
if (dpy->head == NULL)
_XReadEvents(dpy);
+#ifdef NX_TRANS_SOCKET
+ if (_XGetIOError(dpy)) {
+ UnlockDisplay(dpy);
+ return 1;
+ }
+#endif
*event = (dpy->head)->event;
UnlockDisplay(dpy);
return 1;
diff --git a/nx-X11/lib/X11/PeekIfEv.c b/nx-X11/lib/X11/PeekIfEv.c
index a8da27932..93a725b49 100644
--- a/nx-X11/lib/X11/PeekIfEv.c
+++ b/nx-X11/lib/X11/PeekIfEv.c
@@ -73,6 +73,7 @@ XPeekIfEvent (dpy, event, predicate, arg)
prev = NULL;
#ifdef NX_TRANS_SOCKET
if (_XGetIOError(dpy)) {
+ UnlockDisplay(dpy);
return 0;
}
#endif
diff --git a/nx-X11/lib/X11/WinEvent.c b/nx-X11/lib/X11/WinEvent.c
index 67e825cb5..961fcf74b 100644
--- a/nx-X11/lib/X11/WinEvent.c
+++ b/nx-X11/lib/X11/WinEvent.c
@@ -79,5 +79,11 @@ XWindowEvent (dpy, w, mask, event)
if (prev && prev->qserial_num != qe_serial)
/* another thread has snatched this event */
prev = NULL;
+#ifdef NX_TRANS_SOCKET
+ if (_XGetIOError(dpy)) {
+ UnlockDisplay(dpy);
+ return 0;
+ }
+#endif
}
}