Aric Stewart : hidclass.sys: Handle descriptors with a usage count less than the report bits.
Module: wine Branch: master Commit: 437f7a372205e9218e279abed1f9ad85980c3d49 URL: http://source.winehq.org/git/wine.git/?a=commit;h=437f7a372205e9218e279abed1... Author: Aric Stewart <aric(a)codeweavers.com> Date: Mon Nov 14 07:18:34 2016 -0600 hidclass.sys: Handle descriptors with a usage count less than the report bits. Signed-off-by: Aric Stewart <aric(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/hidclass.sys/descriptor.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/hidclass.sys/descriptor.c b/dlls/hidclass.sys/descriptor.c index e1c48dd..9a80f68 100644 --- a/dlls/hidclass.sys/descriptor.c +++ b/dlls/hidclass.sys/descriptor.c @@ -752,7 +752,12 @@ static void build_elements(WINE_HID_REPORT *wine_report, struct feature* feature wine_element->caps.value.HasNull = feature->HasNull; wine_element->caps.value.BitSize = feature->caps.BitSize; if (feature->caps.usage_count > 1) - wine_element->caps.value.ReportCount = 1; + { + if (feature->caps.ReportCount > feature->caps.usage_count) + wine_element->caps.value.ReportCount = feature->caps.ReportCount / feature->caps.usage_count; + else + wine_element->caps.value.ReportCount = 1; + } else wine_element->caps.value.ReportCount = feature->caps.ReportCount; wine_element->bitCount = (feature->caps.BitSize * wine_element->caps.value.ReportCount);
participants (1)
-
Alexandre Julliard