diff options
-rw-r--r-- | src/compositor/compositor_api/qwaylandsurfaceview.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compositor/compositor_api/qwaylandsurfaceview.cpp b/src/compositor/compositor_api/qwaylandsurfaceview.cpp index e6fd90587..664ab9805 100644 --- a/src/compositor/compositor_api/qwaylandsurfaceview.cpp +++ b/src/compositor/compositor_api/qwaylandsurfaceview.cpp @@ -42,6 +42,8 @@ #include "qwaylandsurfaceview.h" #include "qwaylandsurface.h" #include "qwaylandsurface_p.h" +#include "qwaylandcompositor.h" +#include "qwaylandinput.h" QT_BEGIN_NAMESPACE @@ -65,6 +67,10 @@ QWaylandSurfaceView::QWaylandSurfaceView(QWaylandSurface *surf) QWaylandSurfaceView::~QWaylandSurfaceView() { if (d->surface) { + QWaylandInputDevice *i = d->surface->compositor()->defaultInputDevice(); + if (i->mouseFocus() == this) + i->setMouseFocus(nullptr, QPointF()); + d->surface->destroy(); d->surface->d_func()->views.removeOne(this); } |