Michael Stefaniuc : dinput: Don' t use HIWORD to check if a REFGUID is a DIPROP.
Alexandre Julliard
julliard at winehq.org
Tue Feb 2 10:45:28 CST 2010
Module: wine
Branch: master
Commit: 2004db1bb1b7aca9259a756449c3ddf3872426a6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2004db1bb1b7aca9259a756449c3ddf3872426a6
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Tue Feb 2 00:11:49 2010 +0100
dinput: Don't use HIWORD to check if a REFGUID is a DIPROP.
---
dlls/dinput/device.c | 4 ++--
dlls/dinput/dinput_private.h | 2 ++
dlls/dinput/joystick.c | 4 ++--
dlls/dinput/joystick_linuxinput.c | 4 ++--
dlls/dinput/keyboard.c | 2 +-
dlls/dinput/mouse.c | 2 +-
6 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index c0f15ff..a5c61ab 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -872,7 +872,7 @@ HRESULT WINAPI IDirectInputDevice2AImpl_GetProperty(
TRACE("(%p) %s,%p\n", iface, debugstr_guid(rguid), pdiph);
_dump_DIPROPHEADER(pdiph);
- if (HIWORD(rguid)) return DI_OK;
+ if (!IS_DIPROP(rguid)) return DI_OK;
switch (LOWORD(rguid))
{
@@ -906,7 +906,7 @@ HRESULT WINAPI IDirectInputDevice2AImpl_SetProperty(
TRACE("(%p) %s,%p\n", iface, debugstr_guid(rguid), pdiph);
_dump_DIPROPHEADER(pdiph);
- if (HIWORD(rguid)) return DI_OK;
+ if (!IS_DIPROP(rguid)) return DI_OK;
switch (LOWORD(rguid))
{
diff --git a/dlls/dinput/dinput_private.h b/dlls/dinput/dinput_private.h
index ddb9aa0..16b4559 100644
--- a/dlls/dinput/dinput_private.h
+++ b/dlls/dinput/dinput_private.h
@@ -65,4 +65,6 @@ typedef int (*DI_EVENT_PROC)(LPDIRECTINPUTDEVICE8A, WPARAM, LPARAM);
extern void _dump_diactionformatA(LPDIACTIONFORMATA);
+#define IS_DIPROP(x) (((ULONG_PTR)(x) >> 16) == 0)
+
#endif /* __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H */
diff --git a/dlls/dinput/joystick.c b/dlls/dinput/joystick.c
index 84e45c9..0f39a6d 100644
--- a/dlls/dinput/joystick.c
+++ b/dlls/dinput/joystick.c
@@ -53,7 +53,7 @@ HRESULT WINAPI JoystickAGenericImpl_SetProperty(
if (TRACE_ON(dinput))
_dump_DIPROPHEADER(ph);
- if (!HIWORD(rguid)) {
+ if (IS_DIPROP(rguid)) {
switch (LOWORD(rguid)) {
case (DWORD_PTR)DIPROP_RANGE: {
LPCDIPROPRANGE pr = (LPCDIPROPRANGE)ph;
@@ -230,7 +230,7 @@ HRESULT WINAPI JoystickAGenericImpl_GetProperty(
if (TRACE_ON(dinput))
_dump_DIPROPHEADER(pdiph);
- if (!HIWORD(rguid)) {
+ if (IS_DIPROP(rguid)) {
switch (LOWORD(rguid)) {
case (DWORD_PTR) DIPROP_RANGE: {
LPDIPROPRANGE pr = (LPDIPROPRANGE)pdiph;
diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c
index 6c3c8cc..6da6066 100644
--- a/dlls/dinput/joystick_linuxinput.c
+++ b/dlls/dinput/joystick_linuxinput.c
@@ -847,7 +847,7 @@ static HRESULT WINAPI JoystickAImpl_SetProperty(LPDIRECTINPUTDEVICE8A iface,
TRACE("ph.dwSize = %d, ph.dwHeaderSize =%d, ph.dwObj = %d, ph.dwHow= %d\n",
ph->dwSize, ph->dwHeaderSize, ph->dwObj, ph->dwHow);
- if (!HIWORD(rguid)) {
+ if (IS_DIPROP(rguid)) {
switch (LOWORD(rguid)) {
case (DWORD_PTR)DIPROP_CALIBRATIONMODE: {
LPCDIPROPDWORD pd = (LPCDIPROPDWORD)ph;
@@ -898,7 +898,7 @@ static HRESULT WINAPI JoystickAImpl_GetProperty(LPDIRECTINPUTDEVICE8A iface,
TRACE("(this=%p,%s,%p)\n", iface, debugstr_guid(rguid), pdiph);
_dump_DIPROPHEADER(pdiph);
- if (HIWORD(rguid)) return DI_OK;
+ if (!IS_DIPROP(rguid)) return DI_OK;
switch (LOWORD(rguid)) {
case (DWORD_PTR) DIPROP_AUTOCENTER:
diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c
index 3692878..4f6aac5 100644
--- a/dlls/dinput/keyboard.c
+++ b/dlls/dinput/keyboard.c
@@ -447,7 +447,7 @@ static HRESULT WINAPI SysKeyboardAImpl_GetProperty(LPDIRECTINPUTDEVICE8A iface,
TRACE("(%p) %s,%p\n", iface, debugstr_guid(rguid), pdiph);
_dump_DIPROPHEADER(pdiph);
- if (HIWORD(rguid)) return DI_OK;
+ if (!IS_DIPROP(rguid)) return DI_OK;
switch (LOWORD(rguid))
{
diff --git a/dlls/dinput/mouse.c b/dlls/dinput/mouse.c
index 4809c56..e05d9e2 100644
--- a/dlls/dinput/mouse.c
+++ b/dlls/dinput/mouse.c
@@ -587,7 +587,7 @@ static HRESULT WINAPI SysMouseAImpl_GetProperty(LPDIRECTINPUTDEVICE8A iface,
TRACE("(%p) %s,%p\n", This, debugstr_guid(rguid), pdiph);
_dump_DIPROPHEADER(pdiph);
- if (!HIWORD(rguid)) {
+ if (IS_DIPROP(rguid)) {
switch (LOWORD(rguid)) {
case (DWORD_PTR) DIPROP_GRANULARITY: {
LPDIPROPDWORD pr = (LPDIPROPDWORD) pdiph;
More information about the wine-cvs
mailing list