mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-20 17:58:18 +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) {
|
for (auto& it : m_windows) {
|
||||||
auto& window = *it.value;
|
auto& window = *it.value;
|
||||||
window.invalidate();
|
window.invalidate();
|
||||||
if (unresponsive)
|
if (unresponsive) {
|
||||||
window.set_cursor(WindowManager::the().wait_cursor());
|
window.set_cursor_override(WindowManager::the().wait_cursor());
|
||||||
|
} else {
|
||||||
|
window.remove_cursor_override();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Compositor::the().invalidate_cursor();
|
Compositor::the().invalidate_cursor();
|
||||||
}
|
}
|
||||||
|
@ -257,8 +257,10 @@ public:
|
|||||||
|
|
||||||
void set_default_icon();
|
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(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);
|
void request_update(const Gfx::IntRect&, bool ignore_occlusion = false);
|
||||||
Gfx::DisjointRectSet take_pending_paint_rects() { return move(m_pending_paint_rects); }
|
Gfx::DisjointRectSet take_pending_paint_rects() { return move(m_pending_paint_rects); }
|
||||||
@ -384,6 +386,7 @@ private:
|
|||||||
Gfx::IntSize m_minimum_size { 1, 1 };
|
Gfx::IntSize m_minimum_size { 1, 1 };
|
||||||
NonnullRefPtr<Gfx::Bitmap> m_icon;
|
NonnullRefPtr<Gfx::Bitmap> m_icon;
|
||||||
RefPtr<Cursor> m_cursor;
|
RefPtr<Cursor> m_cursor;
|
||||||
|
RefPtr<Cursor> m_cursor_override;
|
||||||
WindowFrame m_frame;
|
WindowFrame m_frame;
|
||||||
unsigned m_wm_event_mask { 0 };
|
unsigned m_wm_event_mask { 0 };
|
||||||
Gfx::DisjointRectSet m_pending_paint_rects;
|
Gfx::DisjointRectSet m_pending_paint_rects;
|
||||||
|
Loading…
Reference in New Issue
Block a user