diff options
author | Subv <subv2112@gmail.com> | 2017-07-21 20:03:28 +0200 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2017-07-21 21:59:22 +0200 |
commit | e403638d9b2cbd7f7dbacd14c3c4bf9863bf7b34 (patch) | |
tree | 8bdb1aaa9c97cec83c896ce4fb8ebd3ea50c9202 | |
parent | Services/APT: Use the right error codes in ReceiveParameter and GlanceParameter when the parameter doesn't exist. (diff) | |
download | yuzu-e403638d9b2cbd7f7dbacd14c3c4bf9863bf7b34.tar yuzu-e403638d9b2cbd7f7dbacd14c3c4bf9863bf7b34.tar.gz yuzu-e403638d9b2cbd7f7dbacd14c3c4bf9863bf7b34.tar.bz2 yuzu-e403638d9b2cbd7f7dbacd14c3c4bf9863bf7b34.tar.lz yuzu-e403638d9b2cbd7f7dbacd14c3c4bf9863bf7b34.tar.xz yuzu-e403638d9b2cbd7f7dbacd14c3c4bf9863bf7b34.tar.zst yuzu-e403638d9b2cbd7f7dbacd14c3c4bf9863bf7b34.zip |
-rw-r--r-- | src/core/hle/service/apt/apt.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/hle/service/apt/apt.cpp b/src/core/hle/service/apt/apt.cpp index b5748693f..b6c013d43 100644 --- a/src/core/hle/service/apt/apt.cpp +++ b/src/core/hle/service/apt/apt.cpp @@ -257,7 +257,9 @@ void ReceiveParameter(Service::Interface* self) { Memory::WriteBlock(buffer, next_parameter->buffer.data(), next_parameter->buffer.size()); - LOG_WARNING(Service_APT, "called app_id=0x%08X, buffer_size=0x%08zX", app_id, buffer_size); + // Clear the parameter + next_parameter = boost::none; + LOG_DEBUG(Service_APT, "called app_id=0x%08X, buffer_size=0x%08zX", app_id, buffer_size); } void GlanceParameter(Service::Interface* self) { @@ -302,7 +304,11 @@ void GlanceParameter(Service::Interface* self) { Memory::WriteBlock(buffer, next_parameter->buffer.data(), next_parameter->buffer.size()); - LOG_WARNING(Service_APT, "called app_id=0x%08X, buffer_size=0x%08zX", app_id, buffer_size); + // Note: The NS module always clears the DSPSleep and DSPWakeup signals even in GlanceParameter. + if (next_parameter->signal == static_cast<u32>(SignalType::DspSleep) || + next_parameter->signal == static_cast<u32>(SignalType::DspWakeup)) + next_parameter = boost::none; + LOG_DEBUG(Service_APT, "called app_id=0x%08X, buffer_size=0x%08zX", app_id, buffer_size); } void CancelParameter(Service::Interface* self) { |