Rémi Bernon : dinput: Reduce data format trace verbosity.
Alexandre Julliard
julliard at winehq.org
Thu Oct 28 16:07:44 CDT 2021
Module: wine
Branch: master
Commit: 6934e139d1add6732704e640767165a738693524
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6934e139d1add6732704e640767165a738693524
Author: Rémi Bernon <rbernon at codeweavers.com>
Date: Thu Oct 28 10:12:30 2021 +0200
dinput: Reduce data format trace verbosity.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/dinput/device.c | 63 ++++++++++++++++++++++------------------------------
1 file changed, 27 insertions(+), 36 deletions(-)
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index 040a97eb06b..5b96002ea4a 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -67,6 +67,20 @@ static inline IDirectInputDevice8W *IDirectInputDevice8W_from_impl( struct dinpu
return &This->IDirectInputDevice8W_iface;
}
+static inline const char *debugstr_didataformat( const DIDATAFORMAT *data )
+{
+ if (!data) return "(null)";
+ return wine_dbg_sprintf( "%p dwSize %u, dwObjsize %u, dwFlags %#x, dwDataSize %u, dwNumObjs %u, rgodf %p",
+ data, data->dwSize, data->dwObjSize, data->dwFlags, data->dwDataSize, data->dwNumObjs, data->rgodf );
+}
+
+static inline const char *debugstr_diobjectdataformat( const DIOBJECTDATAFORMAT *data )
+{
+ if (!data) return "(null)";
+ return wine_dbg_sprintf( "%p pguid %s, dwOfs %#x, dwType %#x, dwFlags %#x", data,
+ debugstr_guid( data->pguid ), data->dwOfs, data->dwType, data->dwFlags );
+}
+
/******************************************************************************
* Various debugging tools
*/
@@ -225,40 +239,6 @@ static const char *_dump_dinput_GUID( const GUID *guid )
return debugstr_guid(guid);
}
-static void _dump_DIDATAFORMAT( const DIDATAFORMAT *df )
-{
- unsigned int i;
-
- TRACE("Dumping DIDATAFORMAT structure:\n");
- TRACE(" - dwSize: %d\n", df->dwSize);
- if (df->dwSize != sizeof(DIDATAFORMAT)) {
- WARN("Non-standard DIDATAFORMAT structure size %d\n", df->dwSize);
- }
- TRACE(" - dwObjsize: %d\n", df->dwObjSize);
- if (df->dwObjSize != sizeof(DIOBJECTDATAFORMAT)) {
- WARN("Non-standard DIOBJECTDATAFORMAT structure size %d\n", df->dwObjSize);
- }
- TRACE(" - dwFlags: 0x%08x (", df->dwFlags);
- switch (df->dwFlags) {
- case DIDF_ABSAXIS: TRACE("DIDF_ABSAXIS"); break;
- case DIDF_RELAXIS: TRACE("DIDF_RELAXIS"); break;
- default: TRACE("unknown"); break;
- }
- TRACE(")\n");
- TRACE(" - dwDataSize: %d\n", df->dwDataSize);
- TRACE(" - dwNumObjs: %d\n", df->dwNumObjs);
-
- for (i = 0; i < df->dwNumObjs; i++) {
- TRACE(" - Object %d:\n", i);
- TRACE(" * GUID: %s ('%s')\n", debugstr_guid(df->rgodf[i].pguid), _dump_dinput_GUID(df->rgodf[i].pguid));
- TRACE(" * dwOfs: %d\n", df->rgodf[i].dwOfs);
- TRACE(" * dwType: 0x%08x\n", df->rgodf[i].dwType);
- TRACE(" "); _dump_EnumObjects_flags(df->rgodf[i].dwType); TRACE("\n");
- TRACE(" * dwFlags: 0x%08x\n", df->rgodf[i].dwFlags);
- TRACE(" "); _dump_ObjectDataFormat_flags(df->rgodf[i].dwFlags); TRACE("\n");
- }
-}
-
/******************************************************************************
* Get the default and the app-specific config keys.
*/
@@ -933,11 +913,16 @@ static HRESULT WINAPI dinput_device_SetDataFormat( IDirectInputDevice8W *iface,
{
struct dinput_device *This = impl_from_IDirectInputDevice8W( iface );
HRESULT res = DI_OK;
+ ULONG i;
TRACE( "iface %p, format %p.\n", iface, format );
if (!format) return E_POINTER;
- _dump_DIDATAFORMAT( format );
+ if (TRACE_ON( dinput ))
+ {
+ TRACE( "user format %s\n", debugstr_didataformat( format ) );
+ for (i = 0; i < format->dwNumObjs; ++i) TRACE( " %u: object %s\n", i, debugstr_diobjectdataformat( format->rgodf + i ) );
+ }
if (format->dwSize != sizeof(DIDATAFORMAT)) return DIERR_INVALIDPARAM;
if (format->dwObjSize != sizeof(DIOBJECTDATAFORMAT)) return DIERR_INVALIDPARAM;
@@ -2182,7 +2167,7 @@ HRESULT dinput_device_init( IDirectInputDevice8W *iface )
{
struct dinput_device *impl = impl_from_IDirectInputDevice8W( iface );
DIDATAFORMAT *format = impl->data_format.wine_df;
- ULONG size;
+ ULONG i, size;
IDirectInputDevice8_EnumObjects( iface, enum_objects_init, iface, DIDFT_ALL );
if (format->dwDataSize > DEVICE_STATE_MAX_SIZE)
@@ -2199,5 +2184,11 @@ HRESULT dinput_device_init( IDirectInputDevice8W *iface )
format->dwNumObjs = 0;
IDirectInputDevice8_EnumObjects( iface, enum_objects_init, iface, DIDFT_ALL );
+ if (TRACE_ON( dinput ))
+ {
+ TRACE( "device format %s\n", debugstr_didataformat( format ) );
+ for (i = 0; i < format->dwNumObjs; ++i) TRACE( " %u: object %s\n", i, debugstr_diobjectdataformat( format->rgodf + i ) );
+ }
+
return DI_OK;
}
More information about the wine-cvs
mailing list