Просмотр исходного кода

bluetooth: Fix event handle in IBluetoothDriver (#1464)

This fix the InitializeBluetoothLe call who didn't return any event handle
Ac_K 5 лет назад
Родитель
Сommit
1ad9045c6b
1 измененных файлов с 10 добавлено и 1 удалено
  1. 10 1
      Ryujinx.HLE/HOS/Services/Bluetooth/IBluetoothDriver.cs

+ 10 - 1
Ryujinx.HLE/HOS/Services/Bluetooth/IBluetoothDriver.cs

@@ -1,4 +1,5 @@
-using Ryujinx.HLE.HOS.Kernel.Common;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel.Common;
 using Ryujinx.HLE.HOS.Kernel.Threading;
 using Ryujinx.HLE.HOS.Kernel.Threading;
 using Ryujinx.HLE.HOS.Services.Bluetooth.BluetoothDriver;
 using Ryujinx.HLE.HOS.Services.Bluetooth.BluetoothDriver;
 using Ryujinx.HLE.HOS.Services.Settings;
 using Ryujinx.HLE.HOS.Services.Settings;
@@ -21,6 +22,8 @@ namespace Ryujinx.HLE.HOS.Services.Bluetooth
         {
         {
             NxSettings.Settings.TryGetValue("bluetooth_debug!skip_boot", out object debugMode);
             NxSettings.Settings.TryGetValue("bluetooth_debug!skip_boot", out object debugMode);
 
 
+            int initializeEventHandle;
+
             if ((bool)debugMode)
             if ((bool)debugMode)
             {
             {
                 if (BluetoothEventManager.InitializeBleDebugEventHandle == 0)
                 if (BluetoothEventManager.InitializeBleDebugEventHandle == 0)
@@ -52,6 +55,8 @@ namespace Ryujinx.HLE.HOS.Services.Bluetooth
                         throw new InvalidOperationException("Out of handles!");
                         throw new InvalidOperationException("Out of handles!");
                     }
                     }
                 }
                 }
+
+                initializeEventHandle = BluetoothEventManager.InitializeBleDebugEventHandle;
             }
             }
             else
             else
             {
             {
@@ -86,8 +91,12 @@ namespace Ryujinx.HLE.HOS.Services.Bluetooth
                         throw new InvalidOperationException("Out of handles!");
                         throw new InvalidOperationException("Out of handles!");
                     }
                     }
                 }
                 }
+
+                initializeEventHandle = BluetoothEventManager.InitializeBleEventHandle;
             }
             }
 
 
+            context.Response.HandleDesc = IpcHandleDesc.MakeCopy(initializeEventHandle);
+
             return ResultCode.Success;
             return ResultCode.Success;
         }
         }
     }
     }