summaryrefslogtreecommitdiff
path: root/src/xcb_in.c
diff options
context:
space:
mode:
authorJamey Sharp <jamey@minilop.net>2007-06-02 18:29:37 -0700
committerJamey Sharp <jamey@minilop.net>2007-06-02 18:29:37 -0700
commite20a31d72b8838cdf31b568431b5ad78492c1481 (patch)
tree2d2445f3158b091904d3c3a8bdf6bad8996ae717 /src/xcb_in.c
parent2ec1383a68bf9f4baf7125a7d6544167f38d8d62 (diff)
xcb_poll_for_event: Return already-read events before read(2)ing again.
Diffstat (limited to 'src/xcb_in.c')
-rw-r--r--src/xcb_in.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/xcb_in.c b/src/xcb_in.c
index 1cb6b69..2997de4 100644
--- a/src/xcb_in.c
+++ b/src/xcb_in.c
@@ -403,7 +403,8 @@ xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t *c)
{
_xcb_lock_io(c);
/* FIXME: follow X meets Z architecture changes. */
- if(_xcb_in_read(c)) /* _xcb_in_read shuts down the connection on error */
+ ret = get_event(c);
+ if(!ret && _xcb_in_read(c)) /* _xcb_in_read shuts down the connection on error */
ret = get_event(c);
_xcb_unlock_io(c);
}