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) | |||
| 36 | { | 36 | { |
| 37 | XSetForeground(w->dsp, w->gc, w->black); | 37 | XSetForeground(w->dsp, w->gc, w->black); |
| 38 | XFillRectangle(w->dsp, w->win, w->gc, 0, 0, w->width, w->height); | 38 | XFillRectangle(w->dsp, w->win, w->gc, 0, 0, w->width, w->height); |
| 39 | XFlush(w->dsp); | ||
| 40 | } | 39 | } |
| 41 | 40 | ||
| 42 | static void output_touch(struct touch_dev *dev, struct windata *w, | 41 | 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) | |||
| 111 | dev->priv = w; | 110 | dev->priv = w; |
| 112 | 111 | ||
| 113 | XSelectInput(w->dsp, w->win, | 112 | XSelectInput(w->dsp, w->win, |
| 114 | ButtonPressMask | ButtonReleaseMask | ExposureMask); | 113 | ButtonPressMask | ButtonReleaseMask | |
| 114 | ExposureMask | StructureNotifyMask); | ||
| 115 | 115 | ||
| 116 | clear_screen(w); | 116 | clear_screen(w); |
| 117 | while (1) { | 117 | while (1) { |
| 118 | while(!touch_dev_idle(dev, fd, 1000)) | 118 | XFlush(w->dsp); |
| 119 | while(!touch_dev_idle(dev, fd, 100)) | ||
| 119 | touch_dev_pull(dev, fd); | 120 | touch_dev_pull(dev, fd); |
| 120 | if (XEventsQueued(w->dsp, QueuedAlready)) { | 121 | if (XEventsQueued(w->dsp, QueuedAlready)) { |
| 121 | XNextEvent(w->dsp, &ev); | 122 | XNextEvent(w->dsp, &ev); |
| 122 | if (ev.type == ButtonRelease) | 123 | break; |
| 123 | break; | ||
| 124 | } | 124 | } |
| 125 | } | 125 | } |
| 126 | } | 126 | } |
