diff options
Diffstat (limited to 'src/common/events.c')
| -rw-r--r-- | src/common/events.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/common/events.c b/src/common/events.c index 9245050..b318d0c 100644 --- a/src/common/events.c +++ b/src/common/events.c @@ -60,11 +60,13 @@ void yasl_private_events_close(struct yasl_private_display *d) free(state); } +/* Reports a lost event once, so one failed allocation does not fail every later dispatch. */ int yasl_private_events_error(struct yasl_private_display *d) { if (!d->events) return 0; yasl_private_mutex_lock(&d->events->mutex); int error = d->events->error; + d->events->error = 0; yasl_private_mutex_unlock(&d->events->mutex); return error; } |
