Module: wine Branch: master Commit: c69cd599a394a8e54094679e1551391f5b0ce3c1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c69cd599a394a8e54094679e15...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Sep 18 10:57:09 2013 +0200
ddraw: Verify that surfaces with an indexed format have a palette attached in d3d_device_create().
---
dlls/ddraw/device.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index 7510ed8..210a522 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -6752,6 +6752,16 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn return DDERR_INVALIDCAPS; }
+ if ((target->surface_desc.u4.ddpfPixelFormat.dwFlags + & (DDPF_PALETTEINDEXED1 | DDPF_PALETTEINDEXED2 + | DDPF_PALETTEINDEXED4 | DDPF_PALETTEINDEXED8 + | DDPF_PALETTEINDEXEDTO8)) + && !wined3d_surface_get_palette(target->wined3d_surface)) + { + WARN("Surface %p has an indexed pixel format, but no palette.\n", target); + return DDERR_NOPALETTEATTACHED; + } + if (ddraw->flags & DDRAW_NO3D) { ERR_(winediag)("The application wants to create a Direct3D device, "