diff options
Diffstat (limited to 'Userland/Services/WindowServer/Window.cpp')
-rw-r--r-- | Userland/Services/WindowServer/Window.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Userland/Services/WindowServer/Window.cpp b/Userland/Services/WindowServer/Window.cpp index 0a28629e16..544d19ee49 100644 --- a/Userland/Services/WindowServer/Window.cpp +++ b/Userland/Services/WindowServer/Window.cpp @@ -323,10 +323,18 @@ void Window::set_opacity(float opacity) m_opacity = opacity; if (was_opaque != is_opaque()) Compositor::the().invalidate_occlusions(); - Compositor::the().invalidate_screen(frame().render_rect()); + invalidate(false); WindowManager::the().notify_opacity_changed(*this); } +void Window::set_has_alpha_channel(bool value) +{ + if (m_has_alpha_channel == value) + return; + m_has_alpha_channel = value; + Compositor::the().invalidate_occlusions(); +} + void Window::set_occluded(bool occluded) { if (m_occluded == occluded) |