diff --git a/Userland/Services/WindowServer/Compositor.cpp b/Userland/Services/WindowServer/Compositor.cpp index d41c656355..59aa87780d 100644 --- a/Userland/Services/WindowServer/Compositor.cpp +++ b/Userland/Services/WindowServer/Compositor.cpp @@ -857,7 +857,7 @@ Gfx::IntRect Compositor::current_cursor_rect() const void Compositor::invalidate_cursor(bool compose_immediately) { - if (m_invalidated_cursor) + if (m_invalidated_cursor && !compose_immediately) return; m_invalidated_cursor = true; m_invalidated_any = true; diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index f3359c8b27..ef2614269e 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -2081,10 +2081,10 @@ void WindowManager::start_dnd_drag(ConnectionFromClient& client, String const& t VERIFY(!m_dnd_client); m_dnd_client = client; m_dnd_text = text; + Compositor::the().invalidate_cursor(true); m_dnd_overlay = Compositor::the().create_overlay(text, bitmap); m_dnd_overlay->set_enabled(true); m_dnd_mime_data = mime_data; - Compositor::the().invalidate_cursor(); set_automatic_cursor_tracking_window(nullptr); }