summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/am/applets/applets.cpp
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-11-17 18:19:06 +0100
committerZach Hilman <zachhilman@gmail.com>2018-11-18 16:53:47 +0100
commit4ee087fb3ca2b1e064422b73195a8ff7698721d9 (patch)
tree5dcd31972d79e324e8eb75e19c3c00ff2a83b03c /src/core/hle/service/am/applets/applets.cpp
parentapplet: Add operation completed callback (diff)
downloadyuzu-4ee087fb3ca2b1e064422b73195a8ff7698721d9.tar
yuzu-4ee087fb3ca2b1e064422b73195a8ff7698721d9.tar.gz
yuzu-4ee087fb3ca2b1e064422b73195a8ff7698721d9.tar.bz2
yuzu-4ee087fb3ca2b1e064422b73195a8ff7698721d9.tar.lz
yuzu-4ee087fb3ca2b1e064422b73195a8ff7698721d9.tar.xz
yuzu-4ee087fb3ca2b1e064422b73195a8ff7698721d9.tar.zst
yuzu-4ee087fb3ca2b1e064422b73195a8ff7698721d9.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/am/applets/applets.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/core/hle/service/am/applets/applets.cpp b/src/core/hle/service/am/applets/applets.cpp
index 03b9d83e7..be950d320 100644
--- a/src/core/hle/service/am/applets/applets.cpp
+++ b/src/core/hle/service/am/applets/applets.cpp
@@ -2,7 +2,10 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
+#include <cstring>
+#include "common/assert.h"
#include "core/frontend/applets/software_keyboard.h"
+#include "core/hle/service/am/am.h"
#include "core/hle/service/am/applets/applets.h"
namespace Service::AM::Applets {
@@ -11,8 +14,15 @@ Applet::Applet() = default;
Applet::~Applet() = default;
-void Applet::Initialize(std::vector<std::shared_ptr<IStorage>> storage) {
+void Applet::Initialize(std::queue<std::shared_ptr<IStorage>> storage) {
storage_stack = std::move(storage);
+
+ const auto common_data = storage_stack.front()->GetData();
+ storage_stack.pop();
+
+ ASSERT(common_data.size() >= sizeof(CommonArguments));
+ std::memcpy(&common_args, common_data.data(), sizeof(CommonArguments));
+
initialized = true;
}