diff options
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r-- | src/yuzu/main.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 447d9dece8..a11eb7f865 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -207,16 +207,18 @@ GMainWindow::~GMainWindow() { delete render_window; } -bool GMainWindow::SoftwareKeyboardGetText( - const Core::Frontend::SoftwareKeyboardParameters& parameters, std::u16string& text) { +std::optional<std::u16string> GMainWindow::SoftwareKeyboardGetText( + const Core::Frontend::SoftwareKeyboardParameters& parameters) { QtSoftwareKeyboardDialog dialog(this, parameters); dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint); dialog.setWindowModality(Qt::WindowModal); dialog.exec(); - text = dialog.GetText(); - return dialog.GetStatus(); + if (!dialog.GetStatus()) + return std::nullopt; + + return dialog.GetText(); } void GMainWindow::SoftwareKeyboardInvokeCheckDialog(std::u16string error_message) { @@ -1251,10 +1253,10 @@ void GMainWindow::OnStartGame() { emu_thread->SetRunning(true); qRegisterMetaType<Core::Frontend::SoftwareKeyboardParameters>( - "core::Frontend::SoftwareKeyboardParameters"); + "Core::Frontend::SoftwareKeyboardParameters"); qRegisterMetaType<Core::System::ResultStatus>("Core::System::ResultStatus"); qRegisterMetaType<std::string>("std::string"); - qRegisterMetaType<std::u16string>("std::u16string"); + qRegisterMetaType<std::optional<std::u16string>>("std::optional<std::u16string>"); connect(emu_thread.get(), &EmuThread::ErrorThrown, this, &GMainWindow::OnCoreError); |