diff --git a/internal/gamepad/gamepad_windows.go b/internal/gamepad/gamepad_windows.go index a150b3697..58590e741 100644 --- a/internal/gamepad/gamepad_windows.go +++ b/internal/gamepad/gamepad_windows.go @@ -570,6 +570,9 @@ func (g *nativeGamepad) update(gamepads *gamepads) (err error) { gamepads.remove(func(gamepad *Gamepad) bool { return &gamepad.nativeGamepad == g }) + if g.dinputDevice != nil { + g.dinputDevice.Release() + } }() if g.usesDInput() {