Module: wine Branch: master Commit: da78a7af5e527640aeca00acfda2419b42ada8fe URL: http://source.winehq.org/git/wine.git/?a=commit;h=da78a7af5e527640aeca00acfd...
Author: Vitaliy Margolen wine-patches@kievinfo.com Date: Tue Jan 9 13:44:54 2007 -0700
dinput: Use internal data format for object lookups.
---
dlls/dinput/device.c | 13 +++++++------ dlls/dinput/device_private.h | 1 - 2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c index edf8350..217618a 100644 --- a/dlls/dinput/device.c +++ b/dlls/dinput/device.c @@ -488,13 +488,14 @@ failed: }
/* find an object by it's offset in a data format */ -int offset_to_object(LPCDIDATAFORMAT df, int offset) +static int offset_to_object(DataFormat *df, int offset) { int i;
- for (i = 0; i < df->dwNumObjs; i++) - if (dataformat_to_odf(df, i)->dwOfs == offset) - return i; + if (!df->offsets) return -1; + + for (i = 0; i < df->wine_df->dwNumObjs; i++) + if (df->offsets[i] == offset) return i;
return -1; } @@ -522,8 +523,8 @@ int find_property(DataFormat *df, LPCDIP { switch (ph->dwHow) { - case DIPH_BYID: return id_to_object(df->user_df, ph->dwObj); - case DIPH_BYOFFSET: return offset_to_object(df->user_df, ph->dwObj); + case DIPH_BYID: return id_to_object(df->wine_df, ph->dwObj); + case DIPH_BYOFFSET: return offset_to_object(df, ph->dwObj); } FIXME("Unhandled ph->dwHow=='%04X'\n", (unsigned int)ph->dwHow);
diff --git a/dlls/dinput/device_private.h b/dlls/dinput/device_private.h index e541b86..ae2da3c 100644 --- a/dlls/dinput/device_private.h +++ b/dlls/dinput/device_private.h @@ -73,7 +73,6 @@ extern HRESULT create_DataFormat(LPCDIDA extern void release_DataFormat(DataFormat *df) ; extern void queue_event(LPDIRECTINPUTDEVICE8A iface, int ofs, DWORD data, DWORD time, DWORD seq); /* Helper functions to work with data format */ -extern int offset_to_object(LPCDIDATAFORMAT df, int offset); extern int id_to_offset(DataFormat *df, int id); extern int find_property(DataFormat *df, LPCDIPROPHEADER ph);