http://bugs.winehq.org/show_bug.cgi?id=22146
--- Comment #12 from Jörg Höhle hoehle@users.sourceforge.net 2010-08-26 14:44:16 --- Created an attachment (id=30414) --> (http://bugs.winehq.org/attachment.cgi?id=30414) Use MCI_HWND & MCI_HDC in resource files
This patch introduces MCI_HWND, MCI_HDC and MCI_PALETTE in the resource files. The MCI parser still need be fixed to handle them.
In particular, the parser performs incorrect offset calculations around the MCI_HWND element in the L"handle\0", 0x00010000L, MCI_CONSTANT, L"default\0", 0x00000000L, MCI_HWND, L"\0", 0x00000000L, MCI_END_CONSTANT, construct in MCI_DGV_WINDOWS_PARMS. Obviously, the contents of the CONSTANT block must be scanned to determine the offset of the union. Don't try "window x text foobar" prior to that!
I'd be glad if Octavian would jump in. I don't find time for a rewrite but I've written many parser (unpublished) tests that show differences between native and Wine. My conclusion is that native's parser cannot be implemented as the simple loop across the resources that Wine uses. Yet I believe Wine's loop is enough for what apps require.