allow spurious notifications
authorroot <root>
Fri, 23 Nov 2007 07:59:14 +0000 (07:59 +0000)
committerroot <root>
Fri, 23 Nov 2007 07:59:14 +0000 (07:59 +0000)
Changes
src/rxvttoolkit.C

diff --git a/Changes b/Changes
index 5ede126d879eceb3e7b96d59a4f7dfe9e9a95a0f..b571a39e2c5204193bda9a44d4eb6060224a6b11 100644 (file)
--- a/Changes
+++ b/Changes
@@ -19,6 +19,9 @@ DUMB: support tex fonts
 
         - upgrade libev to disable kqueue on anything but netbsd as it
           seems to be broken everywhere else w.r.t. ptys.
+        - allow for spurious event notifications, as at least epoll and
+          especially solaris ports like to lie about them (symptoms:
+          urxvt "hangs" until there is some x11 related activity).
 
 8.5a Wed Nov 21 10:16:33 CET 2007
        - make it compile with --disable-transparency.
index 626c7104a16b43b3b50f31e89d253cdbdf545bec..5779905fa411324c1d8dc8889ad60e3df992c6ef 100644 (file)
@@ -542,7 +542,7 @@ void rxvt_display::im_change_check ()
 
 void rxvt_display::x_cb (ev::io &w, int revents)
 {
-  do
+  while (XEventsQueued (dpy, QueuedAfterReading))
     {
       XEvent xev;
       XNextEvent (dpy, &xev);
@@ -569,17 +569,13 @@ void rxvt_display::x_cb (ev::io &w, int revents)
         }
 #endif
     }
-  while (XEventsQueued (dpy, QueuedAlready));
 
   XFlush (dpy);
 }
 
 void rxvt_display::flush ()
 {
-  if (XEventsQueued (dpy, QueuedAlready))
-    x_cb (x_ev, ev::READ);
-
-  XFlush (dpy);
+  x_cb (x_ev, ev::READ);
 }
 
 void rxvt_display::reg (xevent_watcher *w)