diff options
author | Giulio Camuffo <giulio.camuffo@jollamobile.com> | 2015-01-19 14:53:00 +0200 |
---|---|---|
committer | Giulio Camuffo <giulio.camuffo@jollamobile.com> | 2015-01-19 15:13:41 +0100 |
commit | c3fafd16d380e031463c3f9e25320e914afbccf0 (patch) | |
tree | e28d3ab0a923ba56f19ca273517542e2ea67939a | |
parent | aaa97d529bbafe9d5637729126701794cbbf0fc1 (diff) |
Unset the pointer focus if we're deleting the view holding it
Change-Id: I546c6ab2a060d76de18330766a0b2fba419589bd
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-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); } |