diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-11-17 18:18:03 +0100 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-11-18 16:53:47 +0100 |
commit | 19b2571aecfff680c7a414c505eafc26264b6f2f (patch) | |
tree | 1f9725a2acbf98647f981496aaf758de1a5008ca /src/core/hle/service | |
parent | software_keyboard: Push buffer size to offset 0x4 in output data (diff) | |
download | yuzu-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.cpp | 6 | ||||
-rw-r--r-- | src/core/hle/service/am/applets/software_keyboard.cpp | 2 |
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); } } |