diff --git a/src/plugins/platforms/wayland/qwaylandwindow.cpp b/src/plugins/platforms/wayland/qwaylandwindow.cpp index e311b2eb430..1f9e9991469 100644 --- a/src/plugins/platforms/wayland/qwaylandwindow.cpp +++ b/src/plugins/platforms/wayland/qwaylandwindow.cpp @@ -1189,8 +1189,10 @@ QWaylandWindow *QWaylandWindow::guessTransientParent() const return mTopPopup; } - if (window()->type() == Qt::ToolTip || window()->type() == Qt::Popup) - return display()->lastInputWindow(); + if (window()->type() == Qt::ToolTip || window()->type() == Qt::Popup) { + if (auto lastInputWindow = display()->lastInputWindow()) + return closestShellSurfaceWindow(lastInputWindow->window()); + } return nullptr; }