winex11: Validate the ramps also when not converting them to single values.
This commit is contained in:
parent
72c121e797
commit
4b538567e8
|
@ -386,35 +386,25 @@ static BOOL X11DRV_XF86VM_GetGammaRamp(LPDDGAMMARAMP ramp)
|
||||||
|
|
||||||
static BOOL X11DRV_XF86VM_SetGammaRamp(LPDDGAMMARAMP ramp)
|
static BOOL X11DRV_XF86VM_SetGammaRamp(LPDDGAMMARAMP ramp)
|
||||||
{
|
{
|
||||||
|
Bool ret = FALSE;
|
||||||
#ifdef X_XF86VidModeSetGamma
|
#ifdef X_XF86VidModeSetGamma
|
||||||
XF86VidModeGamma gamma;
|
XF86VidModeGamma gamma;
|
||||||
|
|
||||||
if (xf86vm_major < 2 || !usexvidmode) return FALSE; /* no gamma control */
|
if (xf86vm_major < 2 || !usexvidmode) return FALSE; /* no gamma control */
|
||||||
|
if (!ComputeGammaFromRamp(ramp->red, &gamma.red) || /* ramp validation */
|
||||||
|
!ComputeGammaFromRamp(ramp->green, &gamma.green) ||
|
||||||
|
!ComputeGammaFromRamp(ramp->blue, &gamma.blue)) return FALSE;
|
||||||
|
wine_tsx11_lock();
|
||||||
#ifdef X_XF86VidModeSetGammaRamp
|
#ifdef X_XF86VidModeSetGammaRamp
|
||||||
else if (xf86vm_use_gammaramp)
|
if (xf86vm_use_gammaramp)
|
||||||
{
|
|
||||||
Bool ret;
|
|
||||||
wine_tsx11_lock();
|
|
||||||
ret = pXF86VidModeSetGammaRamp(gdi_display, DefaultScreen(gdi_display), 256,
|
ret = pXF86VidModeSetGammaRamp(gdi_display, DefaultScreen(gdi_display), 256,
|
||||||
ramp->red, ramp->green, ramp->blue);
|
ramp->red, ramp->green, ramp->blue);
|
||||||
wine_tsx11_unlock();
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
else
|
else
|
||||||
{
|
#endif
|
||||||
if (ComputeGammaFromRamp(ramp->red, &gamma.red) &&
|
ret = pXF86VidModeSetGamma(gdi_display, DefaultScreen(gdi_display), &gamma);
|
||||||
ComputeGammaFromRamp(ramp->green, &gamma.green) &&
|
wine_tsx11_unlock();
|
||||||
ComputeGammaFromRamp(ramp->blue, &gamma.blue)) {
|
|
||||||
Bool ret;
|
|
||||||
wine_tsx11_lock();
|
|
||||||
ret = pXF86VidModeSetGamma(gdi_display, DefaultScreen(gdi_display), &gamma);
|
|
||||||
wine_tsx11_unlock();
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif /* X_XF86VidModeSetGamma */
|
#endif /* X_XF86VidModeSetGamma */
|
||||||
return FALSE;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SONAME_LIBXXF86VM */
|
#endif /* SONAME_LIBXXF86VM */
|
||||||
|
|
Loading…
Reference in New Issue