--- rxvt-unicode/src/rxvttoolkit.C 2008/01/26 10:03:35 1.91 +++ rxvt-unicode/src/rxvttoolkit.C 2008/01/26 12:03:36 1.95 @@ -550,8 +550,6 @@ XEvent xev; XNextEvent (dpy, &xev); - flush_ev.start (); - #ifdef USE_XIM if (!XFilterEvent (&xev, None)) #endif @@ -560,6 +558,7 @@ && xev.xany.window == root && xev.xproperty.atom == xa[XA_XIM_SERVERS]) im_change_check (); + if (xev.type == MappingNotify) XRefreshKeyboardMapping (&xev.xmapping); @@ -572,12 +571,15 @@ } } } + + flush_ev.start (); } void rxvt_display::flush_cb (ev::prepare &w, int revents) { - w.stop (); + x_cb(x_ev,0);//D XFlush (dpy); + w.stop (); } void rxvt_display::reg (xevent_watcher *w)