diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp index 86b84836d..3acef1044 100644 --- a/src/plasmaquick/dialog.cpp +++ b/src/plasmaquick/dialog.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -817,7 +818,7 @@ void Dialog::focusOutEvent(QFocusEvent *ev) } const QWindow *focusWindow = QGuiApplication::focusWindow(); - bool childHasFocus = focusWindow && ((focusWindow->isActive() && isAncestorOf(focusWindow)) || focusWindow->objectName() == QLatin1String("QMenuClassWindow")); + bool childHasFocus = focusWindow && ((focusWindow->isActive() && isAncestorOf(focusWindow)) || focusWindow->type() & Qt::Popup); if (qobject_cast(focusWindow) || (!parentHasFocus && !childHasFocus)) { qDebug() << "DIALOG: hiding dialog.";