diff options
author | Henrik Rydberg <rydberg@euromail.se> | 2010-08-30 03:05:38 +0200 |
---|---|---|
committer | Henrik Rydberg <rydberg@euromail.se> | 2010-08-30 03:05:38 +0200 |
commit | a1b90cb27d11c974523f39c8a11a9839851a3eed (patch) | |
tree | b9a4a31cf88d663551be52f933e6d5d6d2b89f69 | |
parent | b54a969c469bb41ae82de343b1e85f376f48f9ec (diff) |
capture close button to exit more gracefully
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
-rw-r--r-- | src/mtview.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mtview.c b/src/mtview.c index 0ea4688..afa6e2a 100644 --- a/src/mtview.c +++ b/src/mtview.c @@ -36,7 +36,6 @@ static void clear_screen(struct windata *w) { XSetForeground(w->dsp, w->gc, w->black); XFillRectangle(w->dsp, w->win, w->gc, 0, 0, w->width, w->height); - XFlush(w->dsp); } static void output_touch(struct touch_dev *dev, struct windata *w, @@ -111,16 +110,17 @@ static void event_loop(struct touch_dev *dev, int fd, struct windata *w) dev->priv = w; XSelectInput(w->dsp, w->win, - ButtonPressMask | ButtonReleaseMask | ExposureMask); + ButtonPressMask | ButtonReleaseMask | + ExposureMask | StructureNotifyMask); clear_screen(w); while (1) { - while(!touch_dev_idle(dev, fd, 1000)) + XFlush(w->dsp); + while(!touch_dev_idle(dev, fd, 100)) touch_dev_pull(dev, fd); if (XEventsQueued(w->dsp, QueuedAlready)) { XNextEvent(w->dsp, &ev); - if (ev.type == ButtonRelease) - break; + break; } } } |