summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Zach Hilman2018-11-23 11:00:33 -0500
committerGravatar Zach Hilman2018-12-03 17:27:40 -0500
commite11e65b3d63fabd7c953cca07971364984021c3e (patch)
tree444a70e43814fa3f0d969a5cc293f3f928a871dd
parentqt: Implement GUI dialog frontend for ProfileSelector (diff)
downloadyuzu-e11e65b3d63fabd7c953cca07971364984021c3e.tar.gz
yuzu-e11e65b3d63fabd7c953cca07971364984021c3e.tar.xz
yuzu-e11e65b3d63fabd7c953cca07971364984021c3e.zip
applets: Correct event ResetTypes from OneShot to Sticky
Fixes bugs relating to signalling in software keyboard.
-rw-r--r--src/core/hle/service/am/applets/applets.cpp6
-rw-r--r--src/core/hle/service/am/applets/profile_select.cpp1
-rw-r--r--src/core/hle/service/am/applets/profile_select.h4
-rw-r--r--src/core/hle/service/am/applets/software_keyboard.cpp7
-rw-r--r--src/yuzu/applets/profile_select.h2
5 files changed, 6 insertions, 14 deletions
diff --git a/src/core/hle/service/am/applets/applets.cpp b/src/core/hle/service/am/applets/applets.cpp
index 47da35537..7698ca819 100644
--- a/src/core/hle/service/am/applets/applets.cpp
+++ b/src/core/hle/service/am/applets/applets.cpp
@@ -16,11 +16,11 @@ namespace Service::AM::Applets {
16AppletDataBroker::AppletDataBroker() { 16AppletDataBroker::AppletDataBroker() {
17 auto& kernel = Core::System::GetInstance().Kernel(); 17 auto& kernel = Core::System::GetInstance().Kernel();
18 state_changed_event = Kernel::WritableEvent::CreateEventPair( 18 state_changed_event = Kernel::WritableEvent::CreateEventPair(
19 kernel, Kernel::ResetType::OneShot, "ILibraryAppletAccessor:StateChangedEvent"); 19 kernel, Kernel::ResetType::Sticky, "ILibraryAppletAccessor:StateChangedEvent");
20 pop_out_data_event = Kernel::WritableEvent::CreateEventPair( 20 pop_out_data_event = Kernel::WritableEvent::CreateEventPair(
21 kernel, Kernel::ResetType::OneShot, "ILibraryAppletAccessor:PopDataOutEvent"); 21 kernel, Kernel::ResetType::Sticky, "ILibraryAppletAccessor:PopDataOutEvent");
22 pop_interactive_out_data_event = Kernel::WritableEvent::CreateEventPair( 22 pop_interactive_out_data_event = Kernel::WritableEvent::CreateEventPair(
23 kernel, Kernel::ResetType::OneShot, "ILibraryAppletAccessor:PopInteractiveDataOutEvent"); 23 kernel, Kernel::ResetType::Sticky, "ILibraryAppletAccessor:PopInteractiveDataOutEvent");
24} 24}
25 25
26AppletDataBroker::~AppletDataBroker() = default; 26AppletDataBroker::~AppletDataBroker() = default;
diff --git a/src/core/hle/service/am/applets/profile_select.cpp b/src/core/hle/service/am/applets/profile_select.cpp
index 750f0fdeb..4c7b45454 100644
--- a/src/core/hle/service/am/applets/profile_select.cpp
+++ b/src/core/hle/service/am/applets/profile_select.cpp
@@ -3,6 +3,7 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <cstring> 5#include <cstring>
6
6#include "common/assert.h" 7#include "common/assert.h"
7#include "common/string_util.h" 8#include "common/string_util.h"
8#include "core/core.h" 9#include "core/core.h"
diff --git a/src/core/hle/service/am/applets/profile_select.h b/src/core/hle/service/am/applets/profile_select.h
index c383527f4..787485f22 100644
--- a/src/core/hle/service/am/applets/profile_select.h
+++ b/src/core/hle/service/am/applets/profile_select.h
@@ -4,14 +4,10 @@
4 4
5#pragma once 5#pragma once
6 6
7#include <array>
8#include <string>
9#include <vector> 7#include <vector>
10 8
11#include "common/common_funcs.h" 9#include "common/common_funcs.h"
12#include "common/swap.h"
13#include "core/hle/service/acc/profile_manager.h" 10#include "core/hle/service/acc/profile_manager.h"
14#include "core/hle/service/am/am.h"
15#include "core/hle/service/am/applets/applets.h" 11#include "core/hle/service/am/applets/applets.h"
16 12
17namespace Service::AM::Applets { 13namespace Service::AM::Applets {
diff --git a/src/core/hle/service/am/applets/software_keyboard.cpp b/src/core/hle/service/am/applets/software_keyboard.cpp
index 40984ffa9..981bdec51 100644
--- a/src/core/hle/service/am/applets/software_keyboard.cpp
+++ b/src/core/hle/service/am/applets/software_keyboard.cpp
@@ -38,12 +38,7 @@ static Core::Frontend::SoftwareKeyboardParameters ConvertToFrontendParameters(
38 return params; 38 return params;
39} 39}
40 40
41SoftwareKeyboard::SoftwareKeyboard() { 41SoftwareKeyboard::SoftwareKeyboard() = default;
42 // Some applets require this to be signalled on applet creation, some do not. Internally, this
43 // is done by a flag in the applet module, but for simplicity SoftwareKeyboard is one of the
44 // applets with this flag.
45 broker.SignalStateChanged();
46}
47 42
48SoftwareKeyboard::~SoftwareKeyboard() = default; 43SoftwareKeyboard::~SoftwareKeyboard() = default;
49 44
diff --git a/src/yuzu/applets/profile_select.h b/src/yuzu/applets/profile_select.h
index 9acb092f3..868573324 100644
--- a/src/yuzu/applets/profile_select.h
+++ b/src/yuzu/applets/profile_select.h
@@ -23,7 +23,7 @@ class QtProfileSelectionDialog final : public QDialog {
23 Q_OBJECT 23 Q_OBJECT
24 24
25public: 25public:
26 QtProfileSelectionDialog(QWidget* parent); 26 explicit QtProfileSelectionDialog(QWidget* parent);
27 ~QtProfileSelectionDialog() override; 27 ~QtProfileSelectionDialog() override;
28 28
29 void accept() override; 29 void accept() override;