mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-20 09:49:15 +03:00
WindowServer: Restore cursor when marking window as responsive
This commit is contained in:
parent
fdf03852c9
commit
e920c74cae
Notes:
sideshowbarker
2024-07-18 22:08:47 +09:00
Author: https://github.com/ccapitalK Commit: https://github.com/SerenityOS/serenity/commit/e920c74cae1 Pull-request: https://github.com/SerenityOS/serenity/pull/5412 Issue: https://github.com/SerenityOS/serenity/issues/5385
@ -954,8 +954,11 @@ void ClientConnection::set_unresponsive(bool unresponsive)
|
||||
for (auto& it : m_windows) {
|
||||
auto& window = *it.value;
|
||||
window.invalidate();
|
||||
if (unresponsive)
|
||||
window.set_cursor(WindowManager::the().wait_cursor());
|
||||
if (unresponsive) {
|
||||
window.set_cursor_override(WindowManager::the().wait_cursor());
|
||||
} else {
|
||||
window.remove_cursor_override();
|
||||
}
|
||||
}
|
||||
Compositor::the().invalidate_cursor();
|
||||
}
|
||||
|
@ -257,8 +257,10 @@ public:
|
||||
|
||||
void set_default_icon();
|
||||
|
||||
const Cursor* cursor() const { return m_cursor.ptr(); }
|
||||
const Cursor* cursor() const { return (m_cursor_override ? m_cursor_override : m_cursor).ptr(); }
|
||||
void set_cursor(RefPtr<Cursor> cursor) { m_cursor = move(cursor); }
|
||||
void set_cursor_override(RefPtr<Cursor> cursor) { m_cursor_override = move(cursor); }
|
||||
void remove_cursor_override() { m_cursor_override = nullptr; }
|
||||
|
||||
void request_update(const Gfx::IntRect&, bool ignore_occlusion = false);
|
||||
Gfx::DisjointRectSet take_pending_paint_rects() { return move(m_pending_paint_rects); }
|
||||
@ -384,6 +386,7 @@ private:
|
||||
Gfx::IntSize m_minimum_size { 1, 1 };
|
||||
NonnullRefPtr<Gfx::Bitmap> m_icon;
|
||||
RefPtr<Cursor> m_cursor;
|
||||
RefPtr<Cursor> m_cursor_override;
|
||||
WindowFrame m_frame;
|
||||
unsigned m_wm_event_mask { 0 };
|
||||
Gfx::DisjointRectSet m_pending_paint_rects;
|
||||
|
Loading…
Reference in New Issue
Block a user