- more pretty print for the types flag

- more Windows-aligned check for object instances
This commit is contained in:
Lionel Ulmer 2005-05-05 09:49:54 +00:00 committed by Alexandre Julliard
parent 8480f39f11
commit fa8d7a0fe6
1 changed files with 10 additions and 3 deletions

View File

@ -80,7 +80,10 @@ void _dump_EnumObjects_flags(DWORD dwFlags) {
FE(DIDFT_NODATA),
FE(DIDFT_FFACTUATOR),
FE(DIDFT_FFEFFECTTRIGGER),
FE(DIDFT_OUTPUT)
FE(DIDFT_OUTPUT),
FE(DIDFT_VENDORDEFINED),
FE(DIDFT_ALIAS),
FE(DIDFT_OPTIONAL)
#undef FE
};
type = (dwFlags & 0xFF0000FF);
@ -315,8 +318,12 @@ DataFormat *create_DataFormat(const DIDATAFORMAT *wine_format, LPCDIDATAFORMAT a
(/* Then check if it accepts any instance id, and if not, if it matches Wine's
* instance id.
*/
((asked_format->rgodf[j].dwType & 0x00FFFF00) == DIDFT_ANYINSTANCE) ||
(wine_format->rgodf[i].dwType & asked_format->rgodf[j].dwType))) {
(DIDFT_GETINSTANCE(asked_format->rgodf[j].dwType) == 0xFFFF) ||
(DIDFT_GETINSTANCE(asked_format->rgodf[j].dwType) == 0x00FF) || /* This is mentionned in no DX docs, but it works fine - tested on WinXP */
(DIDFT_GETINSTANCE(asked_format->rgodf[j].dwType) == DIDFT_GETINSTANCE(wine_format->rgodf[i].dwType)))
&&
( /* Then if the asked type matches the one Wine provides */
wine_format->rgodf[i].dwType & asked_format->rgodf[j].dwType)) {
done[j] = 1;