diff --git a/panels/dock/dockhelper.cpp b/panels/dock/dockhelper.cpp index 44f843ba7..28eb9f07c 100644 --- a/panels/dock/dockhelper.cpp +++ b/panels/dock/dockhelper.cpp @@ -58,8 +58,13 @@ bool DockHelper::eventFilter(QObject *watched, QEvent *event) return false; } + auto topTransientParent = window; + while (topTransientParent->transientParent()) { + topTransientParent = topTransientParent->transientParent(); + } + // not dock panel or dock popup has a enter event - if (window != parent()->rootObject() && window->transientParent() != parent()->rootObject()) { + if (window != parent()->rootObject() && topTransientParent != parent()->rootObject()) { return false; }