diff --git a/extra/game-input/backend/dinput/dinput.factor b/extra/game-input/backend/dinput/dinput.factor index 47c8df7051..69b2d41962 100755 --- a/extra/game-input/backend/dinput/dinput.factor +++ b/extra/game-input/backend/dinput/dinput.factor @@ -126,9 +126,9 @@ SYMBOLS: +dinput+ +keyboard-device+ +keyboard-state+ find-controllers ; : find-and-remove-detached-devices ( -- ) - +controller-devices+ get [ - drop dup device-attached? [ drop ] [ remove-controller ] if - ] assoc-each ; + +controller-devices+ get keys + [ device-attached? not ] filter + [ remove-controller ] each ; : device-interface? ( dbt-broadcast-hdr -- ? ) DEV_BROADCAST_HDR-dbch_devicetype DBT_DEVTYP_DEVICEINTERFACE = ;