From f7540157e41f7ebcf06baed66947567a3a46019f Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Mon, 11 Mar 2019 19:34:23 -0400 Subject: web_browser: Make OpenPage const --- src/core/frontend/applets/web_browser.cpp | 2 +- src/core/frontend/applets/web_browser.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/core/frontend') diff --git a/src/core/frontend/applets/web_browser.cpp b/src/core/frontend/applets/web_browser.cpp index 3a3d3d0bf..6a36b4b8f 100644 --- a/src/core/frontend/applets/web_browser.cpp +++ b/src/core/frontend/applets/web_browser.cpp @@ -13,7 +13,7 @@ DefaultWebBrowserApplet::~DefaultWebBrowserApplet() = default; void DefaultWebBrowserApplet::OpenPage(std::string_view filename, std::function unpack_romfs_callback, - std::function finished_callback) { + std::function finished_callback) const { LOG_INFO(Service_AM, "(STUBBED) called - No suitable web browser implementation found to open website page " "at '{}'!", diff --git a/src/core/frontend/applets/web_browser.h b/src/core/frontend/applets/web_browser.h index f952856af..41d272d26 100644 --- a/src/core/frontend/applets/web_browser.h +++ b/src/core/frontend/applets/web_browser.h @@ -14,7 +14,7 @@ public: virtual ~WebBrowserApplet(); virtual void OpenPage(std::string_view url, std::function unpack_romfs_callback, - std::function finished_callback) = 0; + std::function finished_callback) const = 0; }; class DefaultWebBrowserApplet final : public WebBrowserApplet { @@ -22,7 +22,7 @@ public: ~DefaultWebBrowserApplet() override; void OpenPage(std::string_view url, std::function unpack_romfs_callback, - std::function finished_callback) override; + std::function finished_callback) const override; }; } // namespace Core::Frontend -- cgit v1.2.3 From d9f6715d459630d165537c19e48cc2ddd54b294b Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Mon, 11 Mar 2019 19:37:10 -0400 Subject: frontend: Add frontend receiver for Error applet --- src/core/CMakeLists.txt | 10 ++++++++-- src/core/frontend/applets/error.cpp | 34 ++++++++++++++++++++++++++++++++++ src/core/frontend/applets/error.h | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 src/core/frontend/applets/error.cpp create mode 100644 src/core/frontend/applets/error.h (limited to 'src/core/frontend') diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index c59107102..2ace866ee 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -88,6 +88,10 @@ add_library(core STATIC file_sys/vfs_vector.h file_sys/xts_archive.cpp file_sys/xts_archive.h + frontend/applets/error.cpp + frontend/applets/error.h + frontend/applets/general_frontend.cpp + frontend/applets/general_frontend.h frontend/applets/profile_select.cpp frontend/applets/profile_select.h frontend/applets/software_keyboard.cpp @@ -177,12 +181,14 @@ add_library(core STATIC hle/service/am/applet_oe.h hle/service/am/applets/applets.cpp hle/service/am/applets/applets.h + hle/service/am/applets/error.cpp + hle/service/am/applets/error.h + hle/service/am/applets/general_backend.cpp + hle/service/am/applets/general_backend.h hle/service/am/applets/profile_select.cpp hle/service/am/applets/profile_select.h hle/service/am/applets/software_keyboard.cpp hle/service/am/applets/software_keyboard.h - hle/service/am/applets/stub_applet.cpp - hle/service/am/applets/stub_applet.h hle/service/am/applets/web_browser.cpp hle/service/am/applets/web_browser.h hle/service/am/idle.cpp diff --git a/src/core/frontend/applets/error.cpp b/src/core/frontend/applets/error.cpp new file mode 100644 index 000000000..4002a9211 --- /dev/null +++ b/src/core/frontend/applets/error.cpp @@ -0,0 +1,34 @@ +// Copyright 2019 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "core/frontend/applets/error.h" + +namespace Core::Frontend { + +ErrorApplet::~ErrorApplet() = default; + +void DefaultErrorApplet::ShowError(ResultCode error, std::function finished) const { + LOG_CRITICAL(Service_Fatal, "Application requested error display: {:04}-{:04} (raw={:08X})", + static_cast(error.module.Value()), error.description.Value(), error.raw); +} + +void DefaultErrorApplet::ShowErrorWithTimestamp(ResultCode error, std::chrono::seconds time, + std::function finished) const { + LOG_CRITICAL( + Service_Fatal, + "Application requested error display: {:04X}-{:04X} (raw={:08X}) with timestamp={:016X}", + static_cast(error.module.Value()), error.description.Value(), error.raw, time.count()); +} + +void DefaultErrorApplet::ShowCustomErrorText(ResultCode error, std::string main_text, + std::string detail_text, + std::function finished) const { + LOG_CRITICAL(Service_Fatal, + "Application requested custom error with error_code={:04X}-{:04X} (raw={:08X})", + static_cast(error.module.Value()), error.description.Value(), error.raw); + LOG_CRITICAL(Service_Fatal, " Main Text: {}", main_text); + LOG_CRITICAL(Service_Fatal, " Detail Text: {}", detail_text); +} + +} // namespace Core::Frontend diff --git a/src/core/frontend/applets/error.h b/src/core/frontend/applets/error.h new file mode 100644 index 000000000..699df940d --- /dev/null +++ b/src/core/frontend/applets/error.h @@ -0,0 +1,37 @@ +// Copyright 2019 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include +#include + +#include "core/hle/result.h" + +namespace Core::Frontend { + +class ErrorApplet { +public: + virtual ~ErrorApplet(); + + virtual void ShowError(ResultCode error, std::function finished) const = 0; + + virtual void ShowErrorWithTimestamp(ResultCode error, std::chrono::seconds time, + std::function finished) const = 0; + + virtual void ShowCustomErrorText(ResultCode error, std::string dialog_text, + std::string fullscreen_text, + std::function finished) const = 0; +}; + +class DefaultErrorApplet final : public ErrorApplet { +public: + void ShowError(ResultCode error, std::function finished) const override; + void ShowErrorWithTimestamp(ResultCode error, std::chrono::seconds time, + std::function finished) const override; + void ShowCustomErrorText(ResultCode error, std::string main_text, std::string detail_text, + std::function finished) const override; +}; + +} // namespace Core::Frontend -- cgit v1.2.3 From 80c9e4d3ab7e7b7a4eeda8c3467039d8ca48ff62 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Mon, 11 Mar 2019 19:37:35 -0400 Subject: general_frontend: Add frontend scaffold for PhotoViewer applet --- src/core/frontend/applets/general_frontend.cpp | 27 +++++++++++++++++++++++++ src/core/frontend/applets/general_frontend.h | 28 ++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 src/core/frontend/applets/general_frontend.cpp create mode 100644 src/core/frontend/applets/general_frontend.h (limited to 'src/core/frontend') diff --git a/src/core/frontend/applets/general_frontend.cpp b/src/core/frontend/applets/general_frontend.cpp new file mode 100644 index 000000000..d2762db96 --- /dev/null +++ b/src/core/frontend/applets/general_frontend.cpp @@ -0,0 +1,27 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "common/logging/log.h" +#include "core/frontend/applets/general_frontend.h" + +namespace Core::Frontend { + +PhotoViewerApplet::~PhotoViewerApplet() = default; + +DefaultPhotoViewerApplet::~DefaultPhotoViewerApplet() {} + +void DefaultPhotoViewerApplet::ShowPhotosForApplication(u64 title_id, + std::function finished) const { + LOG_INFO(Service_AM, + "Application requested frontend to display stored photos for title_id={:016X}", + title_id); + finished(); +} + +void DefaultPhotoViewerApplet::ShowAllPhotos(std::function finished) const { + LOG_INFO(Service_AM, "Application requested frontend to display all stored photos."); + finished(); +} + +} // namespace Core::Frontend diff --git a/src/core/frontend/applets/general_frontend.h b/src/core/frontend/applets/general_frontend.h new file mode 100644 index 000000000..d4506c999 --- /dev/null +++ b/src/core/frontend/applets/general_frontend.h @@ -0,0 +1,28 @@ +// Copyright 2019 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include +#include "common/common_types.h" + +namespace Core::Frontend { + +class PhotoViewerApplet { +public: + virtual ~PhotoViewerApplet(); + + virtual void ShowPhotosForApplication(u64 title_id, std::function finished) const = 0; + virtual void ShowAllPhotos(std::function finished) const = 0; +}; + +class DefaultPhotoViewerApplet final : public PhotoViewerApplet { +public: + ~DefaultPhotoViewerApplet() override; + + void ShowPhotosForApplication(u64 title_id, std::function finished) const override; + void ShowAllPhotos(std::function finished) const override; +}; + +} // namespace Core::Frontend -- cgit v1.2.3 From 8f8049e846f38d548e975243bc42ce1b09a71ae3 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Mon, 11 Mar 2019 19:45:22 -0400 Subject: main: Add GMainWindow hooks for Error display --- src/core/frontend/applets/general_frontend.cpp | 2 +- src/core/hle/service/am/applets/error.cpp | 4 ++-- src/yuzu/main.cpp | 5 +++++ src/yuzu/main.h | 3 +++ 4 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/core/frontend') diff --git a/src/core/frontend/applets/general_frontend.cpp b/src/core/frontend/applets/general_frontend.cpp index d2762db96..b974f2289 100644 --- a/src/core/frontend/applets/general_frontend.cpp +++ b/src/core/frontend/applets/general_frontend.cpp @@ -1,4 +1,4 @@ -// Copyright 2018 yuzu emulator team +// Copyright 2019 yuzu emulator team // Licensed under GPLv2 or any later version // Refer to the license.txt file included. diff --git a/src/core/hle/service/am/applets/error.cpp b/src/core/hle/service/am/applets/error.cpp index df0408edc..fec014f3b 100644 --- a/src/core/hle/service/am/applets/error.cpp +++ b/src/core/hle/service/am/applets/error.cpp @@ -41,7 +41,7 @@ struct SystemErrorArg { std::array main_text; std::array detail_text; }; -static_assert(sizeof(SystemErrorArg) == 0x1018, "ApplicationErrorArg has incorrect size."); +static_assert(sizeof(SystemErrorArg) == 0x1018, "SystemErrorArg has incorrect size."); struct ApplicationErrorArg { u8 mode; @@ -77,7 +77,7 @@ ResultCode Decode64BitError(u64 error) { return {static_cast(module), static_cast(description)}; } -} // namespace +} // Anonymous namespace Error::Error(const Core::Frontend::ErrorApplet& frontend) : frontend(frontend) {} diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index c73e78a23..e33e3aaaf 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -1589,6 +1589,11 @@ void GMainWindow::OnLoadComplete() { loading_screen->OnLoadComplete(); } +void GMainWindow::ErrorDisplayDisplayError(QString body) { + QMessageBox::critical(this, tr("Error Display"), body); + emit ErrorDisplayFinished(); +} + void GMainWindow::OnMenuReportCompatibility() { if (!Settings::values.yuzu_token.empty() && !Settings::values.yuzu_username.empty()) { CompatDB compatdb{this}; diff --git a/src/yuzu/main.h b/src/yuzu/main.h index ce5045819..fb2a193cb 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h @@ -102,6 +102,8 @@ signals: // Signal that tells widgets to update icons to use the current theme void UpdateThemedIcons(); + void ErrorDisplayFinished(); + void ProfileSelectorFinishedSelection(std::optional uuid); void SoftwareKeyboardFinishedText(std::optional text); void SoftwareKeyboardFinishedCheckDialog(); @@ -111,6 +113,7 @@ signals: public slots: void OnLoadComplete(); + void ErrorDisplayDisplayError(QString body); void ProfileSelectorSelectProfile(); void SoftwareKeyboardGetText(const Core::Frontend::SoftwareKeyboardParameters& parameters); void SoftwareKeyboardInvokeCheckDialog(std::u16string error_message); -- cgit v1.2.3 From 2adb226b26f7f4b9a2c5cd4ea056479d7b5c1527 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Thu, 4 Apr 2019 18:09:42 -0400 Subject: web_browser: Make OpenPage non-const --- src/core/frontend/applets/web_browser.cpp | 2 +- src/core/frontend/applets/web_browser.h | 4 ++-- src/core/hle/service/am/applets/error.cpp | 7 ++++++- src/core/hle/service/am/applets/error.h | 10 +++++----- src/core/hle/service/am/applets/general_backend.cpp | 1 + src/core/hle/service/am/applets/general_backend.h | 6 +++--- src/core/hle/service/am/applets/profile_select.h | 3 +-- src/core/hle/service/am/applets/software_keyboard.h | 2 +- src/core/hle/service/am/applets/web_browser.cpp | 2 +- src/core/hle/service/am/applets/web_browser.h | 4 ++-- src/yuzu/applets/error.cpp | 6 +++--- src/yuzu/applets/web_browser.cpp | 2 +- src/yuzu/applets/web_browser.h | 6 +++--- 13 files changed, 30 insertions(+), 25 deletions(-) (limited to 'src/core/frontend') diff --git a/src/core/frontend/applets/web_browser.cpp b/src/core/frontend/applets/web_browser.cpp index 6a36b4b8f..3a3d3d0bf 100644 --- a/src/core/frontend/applets/web_browser.cpp +++ b/src/core/frontend/applets/web_browser.cpp @@ -13,7 +13,7 @@ DefaultWebBrowserApplet::~DefaultWebBrowserApplet() = default; void DefaultWebBrowserApplet::OpenPage(std::string_view filename, std::function unpack_romfs_callback, - std::function finished_callback) const { + std::function finished_callback) { LOG_INFO(Service_AM, "(STUBBED) called - No suitable web browser implementation found to open website page " "at '{}'!", diff --git a/src/core/frontend/applets/web_browser.h b/src/core/frontend/applets/web_browser.h index 41d272d26..f952856af 100644 --- a/src/core/frontend/applets/web_browser.h +++ b/src/core/frontend/applets/web_browser.h @@ -14,7 +14,7 @@ public: virtual ~WebBrowserApplet(); virtual void OpenPage(std::string_view url, std::function unpack_romfs_callback, - std::function finished_callback) const = 0; + std::function finished_callback) = 0; }; class DefaultWebBrowserApplet final : public WebBrowserApplet { @@ -22,7 +22,7 @@ public: ~DefaultWebBrowserApplet() override; void OpenPage(std::string_view url, std::function unpack_romfs_callback, - std::function finished_callback) const override; + std::function finished_callback) override; }; } // namespace Core::Frontend diff --git a/src/core/hle/service/am/applets/error.cpp b/src/core/hle/service/am/applets/error.cpp index fec014f3b..04774bedc 100644 --- a/src/core/hle/service/am/applets/error.cpp +++ b/src/core/hle/service/am/applets/error.cpp @@ -2,6 +2,10 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include +#include +#include "common/assert.h" +#include "common/logging/log.h" #include "common/string_util.h" #include "core/core.h" #include "core/frontend/applets/error.h" @@ -54,7 +58,7 @@ struct ApplicationErrorArg { }; static_assert(sizeof(ApplicationErrorArg) == 0x1014, "ApplicationErrorArg has incorrect size."); -union ErrorArguments { +union Error::ErrorArguments { ShowError error; ShowErrorRecord error_record; SystemErrorArg system_error; @@ -107,6 +111,7 @@ void Error::Initialize() { case ErrorAppletMode::ShowSystemError: CopyArgumentData(data, args->system_error); error_code = ResultCode(Decode64BitError(args->system_error.error_code_64)); + break; case ErrorAppletMode::ShowApplicationError: CopyArgumentData(data, args->application_error); error_code = ResultCode(args->application_error.error_code); diff --git a/src/core/hle/service/am/applets/error.h b/src/core/hle/service/am/applets/error.h index fcf9caef2..a3590d181 100644 --- a/src/core/hle/service/am/applets/error.h +++ b/src/core/hle/service/am/applets/error.h @@ -9,8 +9,6 @@ namespace Service::AM::Applets { -union ErrorArguments; - enum class ErrorAppletMode : u8 { ShowError = 0, ShowSystemError = 1, @@ -23,7 +21,7 @@ enum class ErrorAppletMode : u8 { class Error final : public Applet { public: - Error(const Core::Frontend::ErrorApplet& frontend); + explicit Error(const Core::Frontend::ErrorApplet& frontend); ~Error() override; void Initialize() override; @@ -36,12 +34,14 @@ public: void DisplayCompleted(); private: + union ErrorArguments; + const Core::Frontend::ErrorApplet& frontend; ResultCode error_code = RESULT_SUCCESS; - ErrorAppletMode mode; + ErrorAppletMode mode = ErrorAppletMode::ShowError; std::unique_ptr args; - bool complete; + bool complete = false; }; } // namespace Service::AM::Applets diff --git a/src/core/hle/service/am/applets/general_backend.cpp b/src/core/hle/service/am/applets/general_backend.cpp index 18ab0718b..c591b9ac2 100644 --- a/src/core/hle/service/am/applets/general_backend.cpp +++ b/src/core/hle/service/am/applets/general_backend.cpp @@ -4,6 +4,7 @@ #include +#include "common/assert.h" #include "common/hex_util.h" #include "common/logging/log.h" #include "core/core.h" diff --git a/src/core/hle/service/am/applets/general_backend.h b/src/core/hle/service/am/applets/general_backend.h index d7313e74a..2dd255d7c 100644 --- a/src/core/hle/service/am/applets/general_backend.h +++ b/src/core/hle/service/am/applets/general_backend.h @@ -15,7 +15,7 @@ enum class PhotoViewerAppletMode : u8 { class PhotoViewer final : public Applet { public: - PhotoViewer(const Core::Frontend::PhotoViewerApplet& frontend); + explicit PhotoViewer(const Core::Frontend::PhotoViewerApplet& frontend); ~PhotoViewer() override; void Initialize() override; @@ -28,8 +28,8 @@ public: private: const Core::Frontend::PhotoViewerApplet& frontend; - bool complete; - PhotoViewerAppletMode mode; + bool complete = false; + PhotoViewerAppletMode mode = PhotoViewerAppletMode::CurrentApp; }; class StubApplet final : public Applet { diff --git a/src/core/hle/service/am/applets/profile_select.h b/src/core/hle/service/am/applets/profile_select.h index cb281dd52..a2ac6cf50 100644 --- a/src/core/hle/service/am/applets/profile_select.h +++ b/src/core/hle/service/am/applets/profile_select.h @@ -7,7 +7,6 @@ #include #include "common/common_funcs.h" -#include "core/frontend/applets/software_keyboard.h" #include "core/hle/service/acc/profile_manager.h" #include "core/hle/service/am/applets/applets.h" @@ -29,7 +28,7 @@ static_assert(sizeof(UserSelectionOutput) == 0x18, "UserSelectionOutput has inco class ProfileSelect final : public Applet { public: - ProfileSelect(const Core::Frontend::ProfileSelectApplet& frontend); + explicit ProfileSelect(const Core::Frontend::ProfileSelectApplet& frontend); ~ProfileSelect() override; void Initialize() override; diff --git a/src/core/hle/service/am/applets/software_keyboard.h b/src/core/hle/service/am/applets/software_keyboard.h index e97e1cd5b..0fbc43e51 100644 --- a/src/core/hle/service/am/applets/software_keyboard.h +++ b/src/core/hle/service/am/applets/software_keyboard.h @@ -55,7 +55,7 @@ static_assert(sizeof(KeyboardConfig) == 0x3E0, "KeyboardConfig has incorrect siz class SoftwareKeyboard final : public Applet { public: - SoftwareKeyboard(const Core::Frontend::SoftwareKeyboardApplet& frontend); + explicit SoftwareKeyboard(const Core::Frontend::SoftwareKeyboardApplet& frontend); ~SoftwareKeyboard() override; void Initialize() override; diff --git a/src/core/hle/service/am/applets/web_browser.cpp b/src/core/hle/service/am/applets/web_browser.cpp index a66e23fce..7878f5136 100644 --- a/src/core/hle/service/am/applets/web_browser.cpp +++ b/src/core/hle/service/am/applets/web_browser.cpp @@ -95,7 +95,7 @@ static FileSys::VirtualFile GetManualRomFS() { return nullptr; } -WebBrowser::WebBrowser(const Core::Frontend::WebBrowserApplet& frontend) : frontend(frontend) {} +WebBrowser::WebBrowser(Core::Frontend::WebBrowserApplet& frontend) : frontend(frontend) {} WebBrowser::~WebBrowser() = default; diff --git a/src/core/hle/service/am/applets/web_browser.h b/src/core/hle/service/am/applets/web_browser.h index 894bdb35a..7e0f34c7d 100644 --- a/src/core/hle/service/am/applets/web_browser.h +++ b/src/core/hle/service/am/applets/web_browser.h @@ -12,7 +12,7 @@ namespace Service::AM::Applets { class WebBrowser final : public Applet { public: - WebBrowser(const Core::Frontend::WebBrowserApplet& frontend); + WebBrowser(Core::Frontend::WebBrowserApplet& frontend); ~WebBrowser() override; void Initialize() override; @@ -32,7 +32,7 @@ public: void Finalize(); private: - const Core::Frontend::WebBrowserApplet& frontend; + Core::Frontend::WebBrowserApplet& frontend; bool complete = false; bool unpacked = false; diff --git a/src/yuzu/applets/error.cpp b/src/yuzu/applets/error.cpp index f7535e768..1fb2fe277 100644 --- a/src/yuzu/applets/error.cpp +++ b/src/yuzu/applets/error.cpp @@ -17,7 +17,7 @@ QtErrorDisplay::QtErrorDisplay(GMainWindow& parent) { QtErrorDisplay::~QtErrorDisplay() = default; void QtErrorDisplay::ShowError(ResultCode error, std::function finished) const { - this->callback = finished; + this->callback = std::move(finished); emit MainWindowDisplayError( tr("An error has occured.\nPlease try again or contact the developer of the " "software.\n\nError Code: %1-%2 (0x%3)") @@ -28,7 +28,7 @@ void QtErrorDisplay::ShowError(ResultCode error, std::function finished) void QtErrorDisplay::ShowErrorWithTimestamp(ResultCode error, std::chrono::seconds time, std::function finished) const { - this->callback = finished; + this->callback = std::move(finished); emit MainWindowDisplayError( tr("An error occured on %1 at %2.\nPlease try again or contact the " "developer of the software.\n\nError Code: %3-%4 (0x%5)") @@ -42,7 +42,7 @@ void QtErrorDisplay::ShowErrorWithTimestamp(ResultCode error, std::chrono::secon void QtErrorDisplay::ShowCustomErrorText(ResultCode error, std::string dialog_text, std::string fullscreen_text, std::function finished) const { - this->callback = finished; + this->callback = std::move(finished); emit MainWindowDisplayError( tr("An error has occured.\nError Code: %1-%2 (0x%3)\n\n%4\n\n%5") .arg(static_cast(error.module.Value()) + 2000, 4, 10, QChar::fromLatin1('0')) diff --git a/src/yuzu/applets/web_browser.cpp b/src/yuzu/applets/web_browser.cpp index 5b7b73518..ac80b2fa2 100644 --- a/src/yuzu/applets/web_browser.cpp +++ b/src/yuzu/applets/web_browser.cpp @@ -88,7 +88,7 @@ QtWebBrowser::QtWebBrowser(GMainWindow& main_window) { QtWebBrowser::~QtWebBrowser() = default; void QtWebBrowser::OpenPage(std::string_view url, std::function unpack_romfs_callback, - std::function finished_callback) const { + std::function finished_callback) { this->unpack_romfs_callback = std::move(unpack_romfs_callback); this->finished_callback = std::move(finished_callback); diff --git a/src/yuzu/applets/web_browser.h b/src/yuzu/applets/web_browser.h index 983886586..1a3d67353 100644 --- a/src/yuzu/applets/web_browser.h +++ b/src/yuzu/applets/web_browser.h @@ -38,7 +38,7 @@ public: ~QtWebBrowser() override; void OpenPage(std::string_view url, std::function unpack_romfs_callback, - std::function finished_callback) const override; + std::function finished_callback) override; signals: void MainWindowOpenPage(std::string_view filename, std::string_view additional_args) const; @@ -47,6 +47,6 @@ private: void MainWindowUnpackRomFS(); void MainWindowFinishedBrowsing(); - mutable std::function unpack_romfs_callback; - mutable std::function finished_callback; + std::function unpack_romfs_callback; + std::function finished_callback; }; -- cgit v1.2.3