summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
authorGravatar Zach Hilman2018-11-17 12:18:03 -0500
committerGravatar Zach Hilman2018-11-18 10:53:47 -0500
commit19b2571aecfff680c7a414c505eafc26264b6f2f (patch)
tree1f9725a2acbf98647f981496aaf758de1a5008ca /src/core/hle
parentsoftware_keyboard: Push buffer size to offset 0x4 in output data (diff)
downloadyuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.tar.gz
yuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.tar.xz
yuzu-19b2571aecfff680c7a414c505eafc26264b6f2f.zip
applet: Add operation completed callback
Diffstat (limited to 'src/core/hle')
-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:
605 ASSERT(applet != nullptr); 605 ASSERT(applet != nullptr);
606 606
607 applet->Initialize(storage_stack); 607 applet->Initialize(storage_stack);
608 storage_stack.clear(); 608 while (!storage_stack.empty())
609 interactive_storage_stack.clear(); 609 storage_stack.pop();
610 while (!interactive_storage_stack.empty())
611 interactive_storage_stack.pop();
610 applet->Execute([this](IStorage storage) { AppletStorageProxyOutData(storage); }, 612 applet->Execute([this](IStorage storage) { AppletStorageProxyOutData(storage); },
611 [this](IStorage storage) { AppletStorageProxyOutInteractiveData(storage); }, 613 [this](IStorage storage) { AppletStorageProxyOutInteractiveData(storage); },
612 [this] { state_changed_event->Signal(); }); 614 [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)
87 std::array<char16_t, SWKBD_OUTPUT_INTERACTIVE_BUFFER_SIZE / 2 - 2> string; 87 std::array<char16_t, SWKBD_OUTPUT_INTERACTIVE_BUFFER_SIZE / 2 - 2> string;
88 std::memcpy(string.data(), data.data() + 4, string.size() * 2); 88 std::memcpy(string.data(), data.data() + 4, string.size() * 2);
89 frontend.SendTextCheckDialog( 89 frontend.SendTextCheckDialog(
90 Common::UTF16StringFromFixedZeroTerminatedBuffer(string.data(), string.size())); 90 Common::UTF16StringFromFixedZeroTerminatedBuffer(string.data(), string.size()), state);
91 } 91 }
92} 92}
93 93