Browse Source
Merge pull request #1889 from DarkLordZach/swkbd-state-changed
applets: Correct usage of SignalStateChanged event
pull/15/merge
bunnei
7 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
4 additions and
6 deletions
-
src/core/hle/service/am/am.cpp
-
src/core/hle/service/am/applets/applets.cpp
-
src/core/hle/service/am/applets/software_keyboard.cpp
|
|
|
@ -565,7 +565,6 @@ private: |
|
|
|
void GetAppletStateChangedEvent(Kernel::HLERequestContext& ctx) { |
|
|
|
LOG_DEBUG(Service_AM, "called"); |
|
|
|
|
|
|
|
applet->GetBroker().SignalStateChanged(); |
|
|
|
const auto event = applet->GetBroker().GetStateChangedEvent(); |
|
|
|
|
|
|
|
IPC::ResponseBuilder rb{ctx, 2, 1}; |
|
|
|
|
|
|
|
@ -16,11 +16,11 @@ namespace Service::AM::Applets { |
|
|
|
AppletDataBroker::AppletDataBroker() { |
|
|
|
auto& kernel = Core::System::GetInstance().Kernel(); |
|
|
|
state_changed_event = Kernel::WritableEvent::CreateEventPair( |
|
|
|
kernel, Kernel::ResetType::OneShot, "ILibraryAppletAccessor:StateChangedEvent"); |
|
|
|
kernel, Kernel::ResetType::Sticky, "ILibraryAppletAccessor:StateChangedEvent"); |
|
|
|
pop_out_data_event = Kernel::WritableEvent::CreateEventPair( |
|
|
|
kernel, Kernel::ResetType::OneShot, "ILibraryAppletAccessor:PopDataOutEvent"); |
|
|
|
kernel, Kernel::ResetType::Sticky, "ILibraryAppletAccessor:PopDataOutEvent"); |
|
|
|
pop_interactive_out_data_event = Kernel::WritableEvent::CreateEventPair( |
|
|
|
kernel, Kernel::ResetType::OneShot, "ILibraryAppletAccessor:PopInteractiveDataOutEvent"); |
|
|
|
kernel, Kernel::ResetType::Sticky, "ILibraryAppletAccessor:PopInteractiveDataOutEvent"); |
|
|
|
} |
|
|
|
|
|
|
|
AppletDataBroker::~AppletDataBroker() = default; |
|
|
|
|
|
|
|
@ -146,11 +146,10 @@ void SoftwareKeyboard::WriteText(std::optional<std::u16string> text) { |
|
|
|
|
|
|
|
if (complete) { |
|
|
|
broker.PushNormalDataFromApplet(IStorage{output_main}); |
|
|
|
broker.SignalStateChanged(); |
|
|
|
} else { |
|
|
|
broker.PushInteractiveDataFromApplet(IStorage{output_sub}); |
|
|
|
} |
|
|
|
|
|
|
|
broker.SignalStateChanged(); |
|
|
|
} else { |
|
|
|
output_main[0] = 1; |
|
|
|
complete = true; |
|
|
|
|