Sven Baars : dinput: Free the device after a callback (Valgrind).
Module: wine Branch: master Commit: cf1b9fe2c7b78b1d5ad02d0bd56de263f8d1dd06 URL: https://source.winehq.org/git/wine.git/?a=commit;h=cf1b9fe2c7b78b1d5ad02d0bd... Author: Sven Baars <sven.wine(a)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(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)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); } }
participants (1)
-
Alexandre Julliard