From dacb6b27dcd0e442a601eee96ae3d774a6085581 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Wed, 21 Sep 2016 14:42:34 +0200 Subject: [PATCH] [Panel Config View] Set Qt::WindowStaysOnTopHint We set KeepAbove using KWindowSystem but since Qt 5.7 apparently Qt does something weird and loses the flag. Explicitly add it to flags. Not doing any other cleanup in the code because this is critical for 5.8.0. BUG: 368997 FIXED-IN: 5.8.0 Differential Revision: https://phabricator.kde.org/D2825 --- shell/panelconfigview.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shell/panelconfigview.cpp b/shell/panelconfigview.cpp index b9251221c..ac247644a 100644 --- a/shell/panelconfigview.cpp +++ b/shell/panelconfigview.cpp @@ -60,7 +60,7 @@ PanelConfigView::PanelConfigView(Plasma::Containment *containment, PanelView *pa [=]() { setScreen(panelView->screen()); KWindowSystem::setType(winId(), NET::Dock); - setFlags(Qt::WindowFlags((flags() | Qt::FramelessWindowHint) & (~Qt::WindowDoesNotAcceptFocus))); + setFlags(Qt::WindowFlags((flags() | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint) & (~Qt::WindowDoesNotAcceptFocus))); KWindowSystem::setState(winId(), NET::KeepAbove); syncGeometry(); syncLocation(); @@ -68,7 +68,7 @@ PanelConfigView::PanelConfigView(Plasma::Containment *containment, PanelView *pa KWindowSystem::setType(winId(), NET::Dock); KWindowSystem::setState(winId(), NET::KeepAbove); - setFlags(Qt::WindowFlags((flags() | Qt::FramelessWindowHint) & (~Qt::WindowDoesNotAcceptFocus))); + setFlags(Qt::WindowFlags((flags() | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint) & (~Qt::WindowDoesNotAcceptFocus))); KWindowSystem::forceActiveWindow(winId()); KWindowEffects::enableBlurBehind(winId(), true);