Module: wine Branch: master Commit: 4b53dde0f53020196a3a11683c6f0711c7f2a999 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4b53dde0f53020196a3a11683c...
Author: Alexander Dorofeyev alexd4@inbox.lv Date: Sun Mar 23 01:59:01 2008 +0200
ddraw: Make SetPalette fail for non-palettized surfaces.
---
dlls/ddraw/surface.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index ae57bb4..c48e07e 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -2501,6 +2501,11 @@ IDirectDrawSurfaceImpl_SetPalette(IDirectDrawSurface7 *iface, HRESULT hr; TRACE("(%p)->(%p)\n", This, Pal);
+ if (!(This->surface_desc.u4.ddpfPixelFormat.dwFlags & (DDPF_PALETTEINDEXED1 | DDPF_PALETTEINDEXED2 | + DDPF_PALETTEINDEXED4 | DDPF_PALETTEINDEXED8 | DDPF_PALETTEINDEXEDTO8))) { + return DDERR_INVALIDPIXELFORMAT; + } + /* Find the old palette */ EnterCriticalSection(&ddraw_cs); hr = IDirectDrawSurface_GetPalette(iface, &oldPal);