Henri Verbeet : ddraw: Move the primary surface validation from CreateSurface() to ddraw_surface_create_texture().
Module: wine Branch: master Commit: 3139249a2eceae05130472ea53aea2a8d6184f0f URL: http://source.winehq.org/git/wine.git/?a=commit;h=3139249a2eceae05130472ea53... Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Wed Nov 27 11:04:51 2013 +0100 ddraw: Move the primary surface validation from CreateSurface() to ddraw_surface_create_texture(). --- dlls/ddraw/ddraw.c | 6 ------ dlls/ddraw/surface.c | 7 +++++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index 73fa17a..109d745 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -2863,12 +2863,6 @@ static HRESULT CreateSurface(struct ddraw *ddraw, DDSURFACEDESC2 *DDSD, return DDERR_NOEXCLUSIVEMODE; } - if((DDSD->ddsCaps.dwCaps & (DDSCAPS_BACKBUFFER | DDSCAPS_PRIMARYSURFACE)) == (DDSCAPS_BACKBUFFER | DDSCAPS_PRIMARYSURFACE)) - { - WARN("Application wanted to create back buffer primary surface\n"); - return DDERR_INVALIDCAPS; - } - /* Modify some flags */ copy_to_surfacedesc2(&desc2, DDSD); diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index e9f0d42..ebbd6c1 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -5608,6 +5608,13 @@ HRESULT ddraw_surface_create_texture(struct ddraw *ddraw, DDSURFACEDESC2 *desc, DDRAW_dump_surface_desc(desc); } + if ((desc->ddsCaps.dwCaps & (DDSCAPS_BACKBUFFER | DDSCAPS_PRIMARYSURFACE)) + == (DDSCAPS_BACKBUFFER | DDSCAPS_PRIMARYSURFACE)) + { + WARN("Tried to create a back buffer surface.\n"); + return DDERR_INVALIDCAPS; + } + /* This is a special case in ddrawex, but not allowed in ddraw. */ if ((desc->ddsCaps.dwCaps & (DDSCAPS_VIDEOMEMORY | DDSCAPS_SYSTEMMEMORY)) == (DDSCAPS_VIDEOMEMORY | DDSCAPS_SYSTEMMEMORY))
participants (1)
-
Alexandre Julliard