diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2023-03-22 03:04:01 +0100 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2023-03-22 03:09:36 +0100 |
commit | 6ff4bf9b1c48f4cd148cbebc9f0f21bcc74cdac8 (patch) | |
tree | 3aec9d001317af55a6610ea8ca28da7758492c35 /src/core/hle/service/nfp/nfp_device.cpp | |
parent | Merge pull request #9966 from bunnei/bounded-polyfill (diff) | |
download | yuzu-6ff4bf9b1c48f4cd148cbebc9f0f21bcc74cdac8.tar yuzu-6ff4bf9b1c48f4cd148cbebc9f0f21bcc74cdac8.tar.gz yuzu-6ff4bf9b1c48f4cd148cbebc9f0f21bcc74cdac8.tar.bz2 yuzu-6ff4bf9b1c48f4cd148cbebc9f0f21bcc74cdac8.tar.lz yuzu-6ff4bf9b1c48f4cd148cbebc9f0f21bcc74cdac8.tar.xz yuzu-6ff4bf9b1c48f4cd148cbebc9f0f21bcc74cdac8.tar.zst yuzu-6ff4bf9b1c48f4cd148cbebc9f0f21bcc74cdac8.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/nfp/nfp_device.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/core/hle/service/nfp/nfp_device.cpp b/src/core/hle/service/nfp/nfp_device.cpp index 268337d2e..5990e1473 100644 --- a/src/core/hle/service/nfp/nfp_device.cpp +++ b/src/core/hle/service/nfp/nfp_device.cpp @@ -66,8 +66,18 @@ NfpDevice::~NfpDevice() { }; void NfpDevice::NpadUpdate(Core::HID::ControllerTriggerType type) { - if (type == Core::HID::ControllerTriggerType::Connected || - type == Core::HID::ControllerTriggerType::Disconnected) { + if (!is_initalized) { + return; + } + + if (type == Core::HID::ControllerTriggerType::Connected) { + Initialize(); + availability_change_event->Signal(); + return; + } + + if (type == Core::HID::ControllerTriggerType::Disconnected) { + device_state = DeviceState::Unavailable; availability_change_event->Signal(); return; } @@ -145,6 +155,7 @@ void NfpDevice::Initialize() { device_state = npad_device->HasNfc() ? DeviceState::Initialized : DeviceState::Unavailable; encrypted_tag_data = {}; tag_data = {}; + is_initalized = true; } void NfpDevice::Finalize() { @@ -155,6 +166,7 @@ void NfpDevice::Finalize() { StopDetection(); } device_state = DeviceState::Unavailable; + is_initalized = false; } Result NfpDevice::StartDetection(TagProtocol allowed_protocol) { |