https://bugs.winehq.org/show_bug.cgi?id=18725
--- Comment #14 from Henri Verbeet hverbeet@gmail.com --- I briefly looked into this while looking at bug 36334, and it looks like the application just passes uninitialized stack data as DDSURFACEDESC2. It ignores the return value. As far as I can tell the function making this Lock() call can never work properly, since it seems pretty unlikely that the stack is supposed to contain a valid dwSize value at the correct position. The function making the call in question indeed appears to be part of the application's savegame code, perhaps for creating a thumbnail. (Does anyone happen to know if those work correctly on Windows? Even with the hack they're just black here.) My best guess at this point is that the code in question is never supposed to execute, although other options could be that the stack is supposed to somehow contain valid dwSize or lpSurface values, or that native has a workaround for this specific application.