diff options
author | bunnei <bunneidev@gmail.com> | 2021-04-30 14:48:32 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-30 14:48:32 -0700 |
commit | fa3ffff8ded9ca071908701c911142001cc62f73 (patch) | |
tree | 1db00dd99592d3cfb3807606b1d3edbf72a4e1ff /src/yuzu/main.cpp | |
parent | aab57b79754e268c142b8ad7c5db11affe0a4cca (diff) | |
parent | 0af182baa2f35d91b8dfaf0b5a8fef06b77dd03a (diff) |
Merge pull request #6257 from Morph1984/fix-use-after-free-webapplet
applets/web: Fix a use-after-free when passing in the URL string
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r-- | src/yuzu/main.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 39bdf186d..00d4cfe67 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -574,8 +574,8 @@ void GMainWindow::SoftwareKeyboardExit() { software_keyboard = nullptr; } -void GMainWindow::WebBrowserOpenWebPage(std::string_view main_url, std::string_view additional_args, - bool is_local) { +void GMainWindow::WebBrowserOpenWebPage(const std::string& main_url, + const std::string& additional_args, bool is_local) { #ifdef YUZU_USE_QT_WEB_ENGINE if (disable_web_applet) { @@ -596,13 +596,15 @@ void GMainWindow::WebBrowserOpenWebPage(std::string_view main_url, std::string_v loading_progress.setRange(0, 3); loading_progress.setValue(0); - if (is_local && !Common::FS::Exists(std::string(main_url))) { + if (is_local && !Common::FS::Exists(main_url)) { loading_progress.show(); auto future = QtConcurrent::run([this] { emit WebBrowserExtractOfflineRomFS(); }); while (!future.isFinished()) { QCoreApplication::processEvents(); + + std::this_thread::sleep_for(std::chrono::milliseconds(1)); } } |