summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandxdgshellintegration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/qwaylandxdgshellintegration.cpp')
-rw-r--r--src/client/qwaylandxdgshellintegration.cpp5
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);
}