summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-11-17 18:18:03 +0100
committerZach Hilman <zachhilman@gmail.com>2018-11-18 16:53:47 +0100
commit19b2571aecfff680c7a414c505eafc26264b6f2f (patch)
tree1f9725a2acbf98647f981496aaf758de1a5008ca /src/core/hle/service
parentsoftware_keyboard: Push buffer size to offset 0x4 in output data (diff)
downloadyuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.tar
yuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.tar.gz
yuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.tar.bz2
yuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.tar.lz
yuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.tar.xz
yuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.tar.zst
yuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.zip
Diffstat (limited to 'src/core/hle/service')
-rw-r--r--src/core/hle/service/am/am.cpp6
-rw-r--r--src/core/hle/service/am/applets/software_keyboard.cpp2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp
index 470253ef1..5cbcb8d91 100644
--- a/src/core/hle/service/am/am.cpp
+++ b/src/core/hle/service/am/am.cpp
@@ -605,8 +605,10 @@ private:
ASSERT(applet != nullptr);
applet->Initialize(storage_stack);
- storage_stack.clear();
- interactive_storage_stack.clear();
+ while (!storage_stack.empty())
+ storage_stack.pop();
+ while (!interactive_storage_stack.empty())
+ interactive_storage_stack.pop();
applet->Execute([this](IStorage storage) { AppletStorageProxyOutData(storage); },
[this](IStorage storage) { AppletStorageProxyOutInteractiveData(storage); },
[this] { state_changed_event->Signal(); });
diff --git a/src/core/hle/service/am/applets/software_keyboard.cpp b/src/core/hle/service/am/applets/software_keyboard.cpp
index bb28a2e8d..039bfcc0f 100644
--- a/src/core/hle/service/am/applets/software_keyboard.cpp
+++ b/src/core/hle/service/am/applets/software_keyboard.cpp
@@ -87,7 +87,7 @@ void SoftwareKeyboard::ReceiveInteractiveData(std::shared_ptr<IStorage> storage)
std::array<char16_t, SWKBD_OUTPUT_INTERACTIVE_BUFFER_SIZE / 2 - 2> string;
std::memcpy(string.data(), data.data() + 4, string.size() * 2);
frontend.SendTextCheckDialog(
- Common::UTF16StringFromFixedZeroTerminatedBuffer(string.data(), string.size()));
+ Common::UTF16StringFromFixedZeroTerminatedBuffer(string.data(), string.size()), state);
}
}