[PATCH 3/5] [WinMM]: allow 32-bit mciLoadCommandResource to load out of 16 bit module
Alexandre Julliard
julliard at winehq.org
Mon Oct 19 04:40:37 CDT 2009
Eric Pouech <eric.pouech at orange.fr> writes:
> @@ -1566,7 +1554,41 @@ UINT WINAPI mciLoadCommandResource(HINSTANCE hInst, LPCWSTR resNameW, UINT type)
> if (!(hRsrc = FindResourceW(hInst, resNameW, (LPWSTR)RT_RCDATA))) {
> WARN("No command table found in resource\n");
> } else if ((hMem = LoadResource(hInst, hRsrc))) {
> - ret = MCI_SetCommandTable(LockResource(hMem), type);
> + if (!HIWORD(hInst)) { /* it's a 16bit resource, convert it */
> + const BYTE* ptr16 = LockResource(hMem);
Please don't do that. 16-bit resources should always be loaded with
16-bit functions. Support for casting 16-bit instances to 32-bit is a
hack that will have to be removed.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list