From 93bfb604c59f2f090b41a9254859f1f6ef7b3927 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Hamil?= Date: Fri, 30 Aug 2024 21:45:52 +0300 Subject: [PATCH] SDL3MotionDriver: This calls "SDL_OpenSensor" in constructor, made disposable to call "SDL_CloseSensor" on dispose --- src/Ryujinx.Input.SDL3/SDL3MotionDriver.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Ryujinx.Input.SDL3/SDL3MotionDriver.cs b/src/Ryujinx.Input.SDL3/SDL3MotionDriver.cs index 77530cb3b4..2a46c617b2 100644 --- a/src/Ryujinx.Input.SDL3/SDL3MotionDriver.cs +++ b/src/Ryujinx.Input.SDL3/SDL3MotionDriver.cs @@ -7,7 +7,8 @@ using System.Numerics; using static SDL3.SDL3; namespace Ryujinx.SDL3; -public unsafe class SDL3MotionDriver : IHandheld + +public unsafe class SDL3MotionDriver : IHandheld, IDisposable { private Dictionary sensors; public SDL3MotionDriver() @@ -16,6 +17,14 @@ public unsafe class SDL3MotionDriver : IHandheld sensors = SDL_GetSensors().ToArray().ToDictionary(SDL_GetSensorTypeForID, SDL_OpenSensor); } + public void Dispose() + { + foreach (var sensor in sensors.Values) + { + SDL_CloseSensor(sensor); + } + } + public Vector3 GetMotionData(MotionInputId gyroscope) { var data = stackalloc float[3];