From 6a5015951f9899e625bf8572f20cffc64d7aea33 Mon Sep 17 00:00:00 2001 From: David Redondo Date: Thu, 1 Jul 2021 09:08:05 +0200 Subject: [PATCH 7/7] Guard calls into layer shell LayerShellQt::Window::get always returns a Window, ensure we only do it on Wayland. BUG:439356 FIXED-IN:5.22.3 (cherry picked from commit 211897b07a83a4e5c3b32b1f14fd710375a16240) --- logout-greeter/shutdowndlg.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/logout-greeter/shutdowndlg.cpp b/logout-greeter/shutdowndlg.cpp index 97d5dc89d..4de539004 100644 --- a/logout-greeter/shutdowndlg.cpp +++ b/logout-greeter/shutdowndlg.cpp @@ -209,10 +209,12 @@ void KSMShutdownDlg::init() setKeyboardGrabEnabled(true); KWindowEffects::enableBlurBehind(this, true); - if (auto w = LayerShellQt::Window::get(this)) { - w->setKeyboardInteractivity(LayerShellQt::Window::KeyboardInteractivityExclusive); - w->setExclusiveZone(-1); - w->setLayer(LayerShellQt::Window::LayerOverlay); + if (KWindowSystem::isPlatformWayland()) { + if (auto w = LayerShellQt::Window::get(this)) { + w->setKeyboardInteractivity(LayerShellQt::Window::KeyboardInteractivityExclusive); + w->setExclusiveZone(-1); + w->setLayer(LayerShellQt::Window::LayerOverlay); + } } } -- 2.31.1