ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvttoolkit.C
(Generate patch)

Comparing rxvt-unicode/src/rxvttoolkit.C (file contents):
Revision 1.93 by root, Sat Jan 26 10:24:47 2008 UTC vs.
Revision 1.97 by root, Sat Jan 26 12:15:11 2008 UTC

548 while (XEventsQueued (dpy, QueuedAfterReading)) 548 while (XEventsQueued (dpy, QueuedAfterReading))
549 { 549 {
550 XEvent xev; 550 XEvent xev;
551 XNextEvent (dpy, &xev); 551 XNextEvent (dpy, &xev);
552 552
553 flush_ev.start ();
554
555#ifdef USE_XIM 553#ifdef USE_XIM
556 if (!XFilterEvent (&xev, None)) 554 if (!XFilterEvent (&xev, None))
557#endif 555#endif
558 { 556 {
559 if (xev.type == PropertyNotify 557 if (xev.type == PropertyNotify
560 && xev.xany.window == root 558 && xev.xany.window == root
561 && xev.xproperty.atom == xa[XA_XIM_SERVERS]) 559 && xev.xproperty.atom == xa[XA_XIM_SERVERS])
562 im_change_check (); 560 im_change_check ();
561
563 if (xev.type == MappingNotify) 562 if (xev.type == MappingNotify)
564 XRefreshKeyboardMapping (&xev.xmapping); 563 XRefreshKeyboardMapping (&xev.xmapping);
565 564
566 for (int i = xw.size (); i--; ) 565 for (int i = xw.size (); i--; )
567 { 566 {
570 else if (xw[i]->window == xev.xany.window) 569 else if (xw[i]->window == xev.xany.window)
571 xw[i]->call (xev); 570 xw[i]->call (xev);
572 } 571 }
573 } 572 }
574 } 573 }
575
576 XFlush (dpy);
577} 574}
578 575
579void rxvt_display::flush_cb (ev::idle &w, int revents) 576void rxvt_display::flush_cb (ev::prepare &w, int revents)
580{ 577{
581 XFlush (dpy); 578 while (XEventsQueued (dpy, QueuedAfterFlush))
579 {
580 x_cb(x_ev,0);//D
581 }
582
583 w.stop ();
582} 584}
583 585
584void rxvt_display::reg (xevent_watcher *w) 586void rxvt_display::reg (xevent_watcher *w)
585{ 587{
586 if (!w->active) 588 if (!w->active)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines