winex11.drv: GetDeviceCaps(hdc, NUMCOLORS) must return 1 (not -1) if more than 256 colors. Bug 7757

James Hawkins truiken at gmail.com
Tue Mar 20 10:37:15 CDT 2007


On 3/18/07, Daniel Mario Vega <dv5a at dc.uba.ar> wrote:
> ---
>  dlls/winex11.drv/init.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c
> index cf23866..a60174d 100644
> --- a/dlls/winex11.drv/init.c
> +++ b/dlls/winex11.drv/init.c
> @@ -213,8 +213,8 @@ INT X11DRV_GetDeviceCaps( X11DRV_PDEVICE *physDev, INT cap )
>      case NUMCOLORS:
>          /* MSDN: Number of entries in the device's color table, if the device has
>           * a color depth of no more than 8 bits per pixel.For devices with greater
> -         * color depths, -1 is returned. */
> -        return (screen_depth > 8) ? -1 : (1 << screen_depth);
> +         * color depths, 1 is returned. */
> +        return (screen_depth > 8) ? 1 : (1 << screen_depth);
>      case PDEVICESIZE:
>          return sizeof(X11DRV_PDEVICE);
>      case CURVECAPS:
> --
> 1.4.4.4
>

Please add a test case.

-- 
James Hawkins



More information about the wine-devel mailing list