[PATCH 3/3] ddraw: Check for DDRAW_NO3D before checking for a video memory surface in d3d_device_create().

Mathew Hodson mathew.hodson at gmail.com
Thu Sep 27 19:37:05 CDT 2018


On Thu, 27 Sep 2018 at 11:46, Henri Verbeet <hverbeet at codeweavers.com> wrote:
>
> While slightly odd, this matches what the tests expect.
>
> Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
> ---
>  dlls/ddraw/device.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
> index 5db0b81a819..7866c281465 100644
> --- a/dlls/ddraw/device.c
> +++ b/dlls/ddraw/device.c
> @@ -6986,18 +6986,18 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
>          return DDERR_NOPALETTEATTACHED;
>      }
>
> -    if (!(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY))
> -    {
> -        WARN("Surface %p is not in video memory.\n", target);
> -        return D3DERR_SURFACENOTINVIDMEM;
> -    }
> -
>      if (ddraw->flags & DDRAW_NO3D)
>      {
>          ERR_(winediag)("The application wants to create a Direct3D device, "
>                  "but the current DirectDrawRenderer does not support this.\n");
>
> -        return DDERR_NO3D;
> +        return DDERR_OUTOFMEMORY;

Is it supposed to return out of memory when DDRAW_NO3D is set? I
didn't get that from the commit message.

> +    }
> +
> +    if (!(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY))
> +    {
> +        WARN("Surface %p is not in video memory.\n", target);
> +        return D3DERR_SURFACENOTINVIDMEM;
>      }
>
>      if (ddraw->d3ddevice)
> --
> 2.11.0

-- 
Sincerely,

Mathew Hodson



More information about the wine-devel mailing list