From de4e5db3300cc77694ff154cf3e8a3ba9c9eaf78 Mon Sep 17 00:00:00 2001 From: Liam Date: Fri, 24 Feb 2023 12:29:55 -0500 Subject: hid: avoid direct pointer access of transfer memory objects --- src/core/hle/service/hid/hid.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/hid/hid.h') diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index b7c2a23ef..a397012a5 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h @@ -60,9 +60,15 @@ public: private: template void MakeController(HidController controller, u8* shared_memory) { - controllers[static_cast(controller)] = - std::make_unique(system.HIDCore(), shared_memory); + if constexpr (std::is_constructible_v) { + controllers[static_cast(controller)] = + std::make_unique(system, shared_memory); + } else { + controllers[static_cast(controller)] = + std::make_unique(system.HIDCore(), shared_memory); + } } + template void MakeControllerWithServiceContext(HidController controller, u8* shared_memory) { controllers[static_cast(controller)] = -- cgit v1.2.3