diff --git a/src/compositor/compositor_api/waylandsurfaceitem.cpp b/src/compositor/compositor_api/waylandsurfaceitem.cpp index 605e950e0654173ae0a2c9a9f599a01f9ab90554..a080f836fadb59741d9753b971cfe9a44de34211 100644 --- a/src/compositor/compositor_api/waylandsurfaceitem.cpp +++ b/src/compositor/compositor_api/waylandsurfaceitem.cpp @@ -149,6 +149,8 @@ void WaylandSurfaceItem::mousePressEvent(QMouseEvent *event) { if (m_surface) { WaylandInputDevice *inputDevice = m_surface->compositor()->defaultInputDevice(); + if (inputDevice->mouseFocus() != m_surface) + inputDevice->setMouseFocus(m_surface, event->pos(), event->globalPos()); inputDevice->sendMousePressEvent(event->button(), toSurface(event->pos())); } }