diff options
author | mallum <mallum@f5eea0f0-44ea-0310-b729-df5b855dafe5> | 2006-08-23 20:11:51 +0000 |
---|---|---|
committer | mallum <mallum@f5eea0f0-44ea-0310-b729-df5b855dafe5> | 2006-08-23 20:11:51 +0000 |
commit | 96fb3131ff0cab2af52bdb4b84640c614c12ac70 (patch) | |
tree | b3dee2992c079185ded4dd547b10b89b3acb4b6c | |
parent | bcb55116433023f7f9907e99a3ee40ba92996d3c (diff) |
2006-08-23 Matthew Allum <mallum@openedhand.com>
* xresponse.c: (get_xevent_timed), (wait_response), (usage):
Patch from Tuukka Tolvanen to explain --wait 0 in help and
avoid potential infinite loop ( #38466 )
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | xresponse.c | 22 |
2 files changed, 18 insertions, 10 deletions
@@ -1,3 +1,9 @@ +2006-08-23 Matthew Allum <mallum@openedhand.com> + + * xresponse.c: (get_xevent_timed), (wait_response), (usage): + Patch from Tuukka Tolvanen to explain --wait 0 in help and + avoid potential infinite loop ( #38466 ) + 2005-07-07 mallum <mallum@openedhand.com> * xresponse.c: (log_action), (usage), (main): diff --git a/xresponse.c b/xresponse.c index 325423d..73e4a2f 100644 --- a/xresponse.c +++ b/xresponse.c @@ -127,7 +127,7 @@ get_xevent_timed(Display *dpy, struct timeval *tv) /* in seconds */ { - if (tv == NULL || (tv->tv_sec == 0 && tv->tv_usec == 0)) + if (tv == NULL) { XNextEvent(dpy, event_return); return True; @@ -282,12 +282,16 @@ wait_response(Display *dpy) { XEvent e; struct timeval tv; - int waitsecs, lastsecs; + struct timeval *timeout = NULL; - tv.tv_sec = lastsecs = DamageWaitSecs; - tv.tv_usec = 0; + if (DamageWaitSecs) + { + tv.tv_sec = DamageWaitSecs; + tv.tv_usec = 0; + timeout = &tv; + } - while (get_xevent_timed(dpy, &e, &tv)) + while (get_xevent_timed(dpy, &e, timeout)) { if (e.type == DamageEventNum + XDamageNotify) { @@ -302,19 +306,15 @@ wait_response(Display *dpy) dev->area.width, dev->area.height, dev->area.x, dev->area.y); } - else waitsecs = lastsecs; /* Reset */ XDamageSubtract(dpy, dev->damage, None, None); } else { - waitsecs = lastsecs; /* Reset */ fprintf(stderr, "Got unwanted event type %d\n", e.type); } fflush(LogFile); - - lastsecs = waitsecs; } return True; @@ -329,7 +329,9 @@ usage(char *progname) "-d|--drag <XxY,XxY,XxY,XxY..> Simulate mouse drag and collect damage\n" "-m|--monitor <WIDTHxHEIGHT+X+Y> Watch area for damage ( default fullscreen )\n" - "-w|--wait <seconds> Max time to wait for damage ( default 5 secs)\n" + "-w|--wait <seconds> Max time to wait for damage, set to 0 to\n" + " monitor for ever.\n" + " ( default 5 secs)\n" "-s|--stamp <string> Write 'string' to log file\n\n" "-i|--inspect Just display damage events\n" "-v|--verbose Output response to all command line options \n\n", |