Jesse Allen : ddraw: Fix for DDSURFACEDESC param in CreateSurface.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Oct 10 13:19:09 CDT 2006
Module: wine
Branch: master
Commit: 52296dbdbf5b2137f19ae0582bab6bcba2317bdb
URL: http://source.winehq.org/git/wine.git/?a=commit;h=52296dbdbf5b2137f19ae0582bab6bcba2317bdb
Author: Jesse Allen <the3dfxdude at gmail.com>
Date: Tue Oct 10 09:06:28 2006 -0700
ddraw: Fix for DDSURFACEDESC param in CreateSurface.
---
dlls/ddraw/ddraw.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 341d936..5b72aa5 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -2136,7 +2136,8 @@ IDirectDrawImpl_CreateSurface(IDirectDra
}
/* According to the msdn this flag is ignored by CreateSurface */
- DDSD->ddsCaps.dwCaps2 &= ~DDSCAPS2_MIPMAPSUBLEVEL;
+ if (DDSD->dwSize >= sizeof(DDSURFACEDESC2))
+ DDSD->ddsCaps.dwCaps2 &= ~DDSCAPS2_MIPMAPSUBLEVEL;
/* Modify some flags */
memset(&desc2, 0, sizeof(desc2));
@@ -2314,7 +2315,7 @@ IDirectDrawImpl_CreateSurface(IDirectDra
desc2.ddsCaps.dwCaps |= DDSCAPS_BACKBUFFER;
}
/* Set the DDSCAPS2_MIPMAPSUBLEVEL flag on mipmap sublevels according to the msdn */
- if(DDSD->ddsCaps.dwCaps & DDSCAPS_MIPMAP)
+ if((DDSD->ddsCaps.dwCaps & DDSCAPS_MIPMAP)&&(DDSD->dwSize >= sizeof(DDSURFACEDESC2)))
{
desc2.ddsCaps.dwCaps2 |= DDSCAPS2_MIPMAPSUBLEVEL;
}
More information about the wine-cvs
mailing list