http://bugs.winehq.org/show_bug.cgi?id=23866
--- Comment #5 from Dmitry Timoshkov dmitry@codeweavers.com 2010-08-13 22:54:08 --- (In reply to comment #2)
Created an attachment (id=30117)
--> (http://bugs.winehq.org/attachment.cgi?id=30117) [details]
forward MCIWndCreate to MCIWndCreateA
i'm not sure if the attached patch is correct. Please give it a try
+HWND16 MCIWndCreate16(HWND16 hwnd, HINSTANCE16 hinst16, DWORD style, LPSTR file) +{ + HINSTANCE hinst32; + if (hinst16 == GetModuleHandle16("msvideo.dll")) + hinst32 = GetModuleHandleA("msvfw32.dll"); + else + hinst32 = HINSTANCE_32(GetExePtr( hinst16 )); + return HWND_16(MCIWndCreateA(HWND_32(hwnd), hinst32, style, file)); +} ... +250 cdecl _MCIWndCreate(word word long str) MCIWndCreate16
Why do you think that 16-bit MCIWndCreate is supposed to be cdecl? If that's really the case you need to add CDECL to the API implementation.