From 81128c5100894141db88aa1b2e9eb0e981b49fa6 Mon Sep 17 00:00:00 2001 From: Ben Wiederhake Date: Sat, 20 Nov 2021 14:44:31 +0100 Subject: Browser: Make paste access to Clipboard atomic This avoids data race issues and saves a synchronous request to the ClipboardServer. --- Userland/Applications/Browser/Tab.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Userland/Applications/Browser/Tab.cpp b/Userland/Applications/Browser/Tab.cpp index 88c788377b..7fbae4a550 100644 --- a/Userland/Applications/Browser/Tab.cpp +++ b/Userland/Applications/Browser/Tab.cpp @@ -136,9 +136,10 @@ Tab::Tab(BrowserWindow& window) }; m_location_box->add_custom_context_menu_action(GUI::Action::create("Paste && Go", [this](auto&) { - if (!GUI::Clipboard::the().mime_type().starts_with("text/")) + auto [data, mime_type, _] = GUI::Clipboard::the().data_and_type(); + if (!mime_type.starts_with("text/")) return; - auto const& paste_text = GUI::Clipboard::the().data(); + auto const& paste_text = data; if (paste_text.is_empty()) return; m_location_box->set_text(paste_text); -- cgit v1.2.3