diff options
Diffstat (limited to 'video/out')
-rw-r--r-- | video/out/x11_common.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/video/out/x11_common.c b/video/out/x11_common.c index f041d594ec..054557189f 100644 --- a/video/out/x11_common.c +++ b/video/out/x11_common.c @@ -1286,11 +1286,13 @@ void vo_x11_check_events(struct vo *vo) break; case GenericEvent: { XGenericEventCookie *cookie = (XGenericEventCookie *)&Event.xcookie; - if (cookie->extension == x11->present_code && x11->have_present && - x11->has_mesa && !x11->has_nvidia) + if (cookie->extension == x11->present_code && x11->have_present) { + int present = x11->opts->x11_present; + bool use_present = (x11->has_mesa && !x11->has_nvidia && + present) || present == 2; XGetEventData(x11->display, cookie); - if (cookie->evtype == PresentCompleteNotify) { + if (cookie->evtype == PresentCompleteNotify && use_present) { XPresentCompleteNotifyEvent *present_event; present_event = (XPresentCompleteNotifyEvent *)cookie->data; present_update_sync_values(x11->present, present_event->ust, |