Module: wine Branch: stable Commit: ab61ff13b1543dec12c708bc3faed577603ad9c3 URL: https://source.winehq.org/git/wine.git/?a=commit;h=ab61ff13b1543dec12c708bc3...
Author: Sven Baars sven.wine@gmail.com Date: Tue Jan 29 00:11:00 2019 +0100
dinput: Free the device after a callback (Valgrind).
Signed-off-by: Sven Baars sven.wine@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit cf1b9fe2c7b78b1d5ad02d0bd56de263f8d1dd06) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/dinput/dinput_main.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c index 7074704..54777da 100644 --- a/dlls/dinput/dinput_main.c +++ b/dlls/dinput/dinput_main.c @@ -1104,10 +1104,12 @@ static HRESULT WINAPI IDirectInput8AImpl_EnumDevicesBySemantics(
if (lpCallback(&didevis[i], lpdid, callbackFlags, --remain, pvRef) == DIENUM_STOP) { + IDirectInputDevice_Release(lpdid); HeapFree(GetProcessHeap(), 0, didevis); HeapFree(GetProcessHeap(), 0, username_w); return DI_OK; } + IDirectInputDevice_Release(lpdid); }
HeapFree(GetProcessHeap(), 0, didevis); @@ -1130,9 +1132,11 @@ static HRESULT WINAPI IDirectInput8AImpl_EnumDevicesBySemantics(
if (lpCallback(&didevi, lpdid, callbackFlags, --remain, pvRef) == DIENUM_STOP) { + IDirectInputDevice_Release(lpdid); HeapFree(GetProcessHeap(), 0, username_w); return DI_OK; } + IDirectInputDevice_Release(lpdid); } }