Переглянути джерело

Browser: Make paste access to Clipboard atomic

This avoids data race issues and saves a synchronous request to the
ClipboardServer.
Ben Wiederhake 3 роки тому
батько
коміт
81128c5100
1 змінених файлів з 3 додано та 2 видалено
  1. 3 2
      Userland/Applications/Browser/Tab.cpp

+ 3 - 2
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);