Explorar el Código

Disregard obsolete events, fixed issue #64

master
Bert Münnich hace 12 años
padre
commit
fd519ffc40
Se han modificado 2 ficheros con 12 adiciones y 4 borrados
  1. +1
    -1
      Makefile
  2. +11
    -3
      main.c

+ 1
- 1
Makefile Ver fichero

@@ -1,4 +1,4 @@
VERSION = git-20120816 VERSION = git-20120817


PREFIX = /usr/local PREFIX = /usr/local
MANPREFIX = $(PREFIX)/share/man MANPREFIX = $(PREFIX)/share/man


+ 11
- 3
main.c Ver fichero

@@ -419,7 +419,8 @@ void run(void) {
int xfd; int xfd;
fd_set fds; fd_set fds;
struct timeval timeout; struct timeval timeout;
XEvent ev; XEvent ev, nextev;
unsigned int qlen;


redraw(); redraw();


@@ -450,7 +451,13 @@ void run(void) {
select(xfd + 1, &fds, 0, 0, &timeout); select(xfd + 1, &fds, 0, 0, &timeout);
} }


XNextEvent(win.env.dpy, &ev); do {
XNextEvent(win.env.dpy, &ev);
qlen = XEventsQueued(win.env.dpy, QueuedAlready);
if (qlen > 0)
XPeekEvent(win.env.dpy, &nextev);
} while (qlen > 0 && ev.type == nextev.type);

switch (ev.type) { switch (ev.type) {
/* handle events */ /* handle events */
case ButtonPress: case ButtonPress:
@@ -476,7 +483,8 @@ void run(void) {
} }
break; break;
case KeyPress: case KeyPress:
on_keypress(&ev.xkey); if (qlen == 0 || ev.xkey.keycode != nextev.xkey.keycode)
on_keypress(&ev.xkey);
break; break;
case MotionNotify: case MotionNotify:
if (mode == MODE_IMAGE) { if (mode == MODE_IMAGE) {


||||||
x
 
000:0
Cargando…
Cancelar
Guardar