Module: wine Branch: master Commit: 4b53dde0f53020196a3a11683c6f0711c7f2a999 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4b53dde0f53020196a3a11683c... Author: Alexander Dorofeyev <alexd4(a)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);