diff options
-rw-r--r-- | src/radeon_dri2.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c index 10a614b8..fa3719d6 100644 --- a/src/radeon_dri2.c +++ b/src/radeon_dri2.c @@ -799,6 +799,9 @@ void radeon_dri2_frame_event_handler(unsigned int frame, unsigned int tv_sec, M_ANY, DixWriteAccess); if (status != Success) goto cleanup; + if (!event->crtc) + goto cleanup; + frame += radeon_get_interpolated_vblanks(event->crtc); screen = drawable->pScreen; scrn = xf86ScreenToScrn(screen); @@ -1254,6 +1257,11 @@ void radeon_dri2_flip_event_handler(unsigned int frame, unsigned int tv_sec, free(flip); return; } + if (!flip->crtc) { + free(flip); + return; + } + frame += radeon_get_interpolated_vblanks(flip->crtc); screen = drawable->pScreen; scrn = xf86ScreenToScrn(screen); |