I have (finally!) found the heap corruption in bf1942: Small surfaces have a pitch of 4 and a width <4. This results in pitch*4
outpitch in IWineD3DSurfaceImpl_LoadTexture:1844. Afterwards the heap
gets corrupted in d3dfmt_convert_surface:1654. The attached patch fixes the problem. I'm quite sure this fix is ugly, Suggestions?
Markus