diff options
| author | 2018-11-23 11:00:33 -0500 | |
|---|---|---|
| committer | 2018-12-03 17:27:40 -0500 | |
| commit | e11e65b3d63fabd7c953cca07971364984021c3e (patch) | |
| tree | 444a70e43814fa3f0d969a5cc293f3f928a871dd | |
| parent | qt: Implement GUI dialog frontend for ProfileSelector (diff) | |
| download | yuzu-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.cpp | 6 | ||||
| -rw-r--r-- | src/core/hle/service/am/applets/profile_select.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/am/applets/profile_select.h | 4 | ||||
| -rw-r--r-- | src/core/hle/service/am/applets/software_keyboard.cpp | 7 | ||||
| -rw-r--r-- | src/yuzu/applets/profile_select.h | 2 |
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 { | |||
| 16 | AppletDataBroker::AppletDataBroker() { | 16 | AppletDataBroker::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 | ||
| 26 | AppletDataBroker::~AppletDataBroker() = default; | 26 | AppletDataBroker::~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 | ||
| 17 | namespace Service::AM::Applets { | 13 | namespace 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 | ||
| 41 | SoftwareKeyboard::SoftwareKeyboard() { | 41 | SoftwareKeyboard::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 | ||
| 48 | SoftwareKeyboard::~SoftwareKeyboard() = default; | 43 | SoftwareKeyboard::~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 | ||
| 25 | public: | 25 | public: |
| 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; |