Module: wine Branch: master Commit: 3139249a2eceae05130472ea53aea2a8d6184f0f URL: http://source.winehq.org/git/wine.git/?a=commit;h=3139249a2eceae05130472ea53...
Author: Henri Verbeet hverbeet@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))