wine-staging/patches/dinput-joy-mappings/0003-dinput-Dont-allow-Fixed-actions-to-be-changed.patch

34 lines
1.3 KiB
Diff
Raw Permalink Normal View History

2021-11-12 23:41:08 -08:00
From 571d437192d553b7a8aac6908f10728cd4d1a257 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 4 Oct 2019 16:24:06 +1000
Subject: [PATCH] dinput: Dont allow Fixed actions to be changed.
---
dlls/dinput/config.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/dlls/dinput/config.c b/dlls/dinput/config.c
2021-11-12 23:41:08 -08:00
index bb0b2c03c47..4b6cba26843 100644
--- a/dlls/dinput/config.c
+++ b/dlls/dinput/config.c
@@ -91,6 +91,7 @@ static BOOL CALLBACK collect_devices(LPCDIDEVICEINSTANCEW lpddi, IDirectInputDev
for (j = 0; j < user_af->dwNumActions; j++)
{
user_af->rgoAction[j].dwSemantic = data->original_lpdiaf->rgoAction[j].dwSemantic;
+ user_af->rgoAction[j].dwFlags = data->original_lpdiaf->rgoAction[j].dwFlags;
user_af->rgoAction[j].u.lptszActionName = data->original_lpdiaf->rgoAction[j].u.lptszActionName;
}
IDirectInputDevice8_BuildActionMap(lpdid, user_af, data->usernames[i], 0);
2021-11-12 23:41:08 -08:00
@@ -333,6 +334,8 @@ static void assign_action(HWND dialog)
if (old_action == action) return;
if (obj < 0) return;
+ if (lpdiaf->rgoAction[old_action].dwFlags & DIA_APPFIXED) return;
+
type = device->ddo[obj].dwType;
/* Clear old action */
--
2021-11-12 23:41:08 -08:00
2.33.0