diff options
Diffstat (limited to 'src/client/qwaylandxdgshellintegration.cpp')
-rw-r--r-- | src/client/qwaylandxdgshellintegration.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/client/qwaylandxdgshellintegration.cpp b/src/client/qwaylandxdgshellintegration.cpp index 04b8e8048..dc5509ea2 100644 --- a/src/client/qwaylandxdgshellintegration.cpp +++ b/src/client/qwaylandxdgshellintegration.cpp @@ -75,8 +75,9 @@ bool QWaylandXdgShellIntegration::initialize(QWaylandDisplay *display) QWaylandShellSurface *QWaylandXdgShellIntegration::createShellSurface(QWaylandWindow *window) { - if (window->window()->type() == Qt::WindowType::Popup) - return m_xdgShell->createXdgPopup(window); + QWaylandInputDevice *inputDevice = window->display()->lastInputDevice(); + if (window->window()->type() == Qt::WindowType::Popup && inputDevice) + return m_xdgShell->createXdgPopup(window, inputDevice); else return m_xdgShell->createXdgSurface(window); } |