diff --git a/shell/panelconfigview.cpp b/shell/panelconfigview.cpp index 309e32f33..0a9127aaa 100644 --- a/shell/panelconfigview.cpp +++ b/shell/panelconfigview.cpp @@ -167,6 +167,11 @@ void PanelConfigView::hideEvent(QHideEvent *ev) void PanelConfigView::focusOutEvent(QFocusEvent *ev) { + const QWindow *focusWindow = QGuiApplication::focusWindow(); + + if (focusWindow && (focusWindow->flags() & Qt::Popup || focusWindow->objectName() == QLatin1String("QMenuClassWindow"))) { + return; + } Q_UNUSED(ev) close(); }