diff --git a/dlls/winex11.drv/xvidmode.c b/dlls/winex11.drv/xvidmode.c index 9c0c97f1eba..975575fe77e 100644 --- a/dlls/winex11.drv/xvidmode.c +++ b/dlls/winex11.drv/xvidmode.c @@ -416,8 +416,12 @@ static BOOL xf86vm_set_gamma_ramp(struct x11drv_gamma_ramp *ramp) ramp->red, ramp->green, ramp->blue, GAMMA_RAMP_SIZE); } + X11DRV_expect_error(gdi_display, XVidModeErrorHandler, NULL); ret = pXF86VidModeSetGammaRamp(gdi_display, DefaultScreen(gdi_display), xf86vm_gammaramp_size, red, green, blue); + if (ret) XSync( gdi_display, FALSE ); + if (X11DRV_check_error()) ret = FALSE; + if (red != ramp->red) heap_free(red); return ret;