diff options
author | Liang Qi <liang.qi@qt.io> | 2016-06-30 13:35:37 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-06-30 14:28:55 +0200 |
commit | b07e95e408fde45a0ce1a1b6683d432c9657e650 (patch) | |
tree | 65a80f556bf54d188d17ff985f37eb138007c9f4 /src/compositor/compositor_api | |
parent | 4d4f44a70f663428241c83e26d073f5e5ece8b62 (diff) | |
parent | cddeb1c7c0e9d02c5f5542d7d12b4fa992bfb050 (diff) |
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
src/compositor/extensions/qwaylandxdgshellintegration.cpp
Change-Id: I3e8666d0c2fd047f12daeb94b2c967c646576ed9
Diffstat (limited to 'src/compositor/compositor_api')
5 files changed, 17 insertions, 7 deletions
diff --git a/src/compositor/compositor_api/qwaylandcompositor.cpp b/src/compositor/compositor_api/qwaylandcompositor.cpp index 3a499fa74..6964eea06 100644 --- a/src/compositor/compositor_api/qwaylandcompositor.cpp +++ b/src/compositor/compositor_api/qwaylandcompositor.cpp @@ -410,7 +410,7 @@ void QWaylandCompositorPrivate::loadServerBufferIntegration() \brief Type managing the Wayland display server. The WaylandCompositor manages the connections to the clients, as well as the different - \l{WaylandOutput}{outputs} and \l{WaylandInput}{input devices}. + \l{WaylandOutput}{outputs} and \l{QWaylandInputDevice}{input devices}. Normally, a compositor application will have a single WaylandCompositor instance, which can have several outputs as children. When a client @@ -429,7 +429,7 @@ void QWaylandCompositorPrivate::loadServerBufferIntegration() \brief Class managing the Wayland display server. The QWaylandCompositor manages the connections to the clients, as well as the different \l{QWaylandOutput}{outputs} - and \l{QWaylandInput}{input devices}. + and \l{QWaylandInputDevice}{input devices}. Normally, a compositor application will have a single WaylandCompositor instance, which can have several outputs as children. diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp index 6022ee26b..15525259c 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -1082,8 +1082,10 @@ QSGNode *QWaylandQuickItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDat if (ref.isShm() || bufferTypes[ref.bufferFormatEgl()].canProvideTexture) { QSGSimpleTextureNode *node = static_cast<QSGSimpleTextureNode *>(oldNode); - if (!node) + if (!node) { node = new QSGSimpleTextureNode(); + d->newTexture = true; + } if (!d->provider) d->provider = new QWaylandSurfaceTextureProvider(); @@ -1103,8 +1105,10 @@ QSGNode *QWaylandQuickItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDat QSGGeometryNode *node = static_cast<QSGGeometryNode *>(oldNode); - if (!node) + if (!node) { node = new QSGGeometryNode; + d->newTexture = true; + } QSGGeometry *geometry = node->geometry(); QWaylandBufferMaterial *material = static_cast<QWaylandBufferMaterial *>(node->material()); diff --git a/src/compositor/compositor_api/qwaylandsurface.cpp b/src/compositor/compositor_api/qwaylandsurface.cpp index 027105d00..d039fc94f 100644 --- a/src/compositor/compositor_api/qwaylandsurface.cpp +++ b/src/compositor/compositor_api/qwaylandsurface.cpp @@ -543,7 +543,7 @@ int QWaylandSurface::bufferScale() const * * This property holds the orientation of the WaylandSurface's contents. * - * \sa QtWaylandCompositor::WaylandOutput::transform + * \sa QWaylandOutput::transform */ /*! diff --git a/src/compositor/compositor_api/qwaylandtouch.cpp b/src/compositor/compositor_api/qwaylandtouch.cpp index 63b0f84ea..a9b44527e 100644 --- a/src/compositor/compositor_api/qwaylandtouch.cpp +++ b/src/compositor/compositor_api/qwaylandtouch.cpp @@ -60,6 +60,11 @@ void QWaylandTouchPrivate::resetFocusState() focusResource = 0; } +void QWaylandTouchPrivate::touch_bind_resource(Resource *resource) +{ + focusResource = resource; +} + void QWaylandTouchPrivate::touch_destroy_resource(Resource *resource) { if (focusResource == resource) { @@ -75,7 +80,7 @@ void QWaylandTouchPrivate::touch_release(Resource *resource) void QWaylandTouchPrivate::sendDown(uint32_t time, int touch_id, const QPointF &position) { Q_Q(QWaylandTouch); - if (focusResource || q->mouseFocus()) + if (!focusResource || !q->mouseFocus()) return; uint32_t serial = q->compositor()->nextSerial(); @@ -86,7 +91,7 @@ void QWaylandTouchPrivate::sendDown(uint32_t time, int touch_id, const QPointF & void QWaylandTouchPrivate::sendUp(uint32_t time, int touch_id) { - if (focusResource) + if (!focusResource) return; uint32_t serial = compositor()->nextSerial(); diff --git a/src/compositor/compositor_api/qwaylandtouch_p.h b/src/compositor/compositor_api/qwaylandtouch_p.h index 3c9e0ec93..ea334eea1 100644 --- a/src/compositor/compositor_api/qwaylandtouch_p.h +++ b/src/compositor/compositor_api/qwaylandtouch_p.h @@ -88,6 +88,7 @@ public: } private: void resetFocusState(); + void touch_bind_resource(Resource *resource) Q_DECL_OVERRIDE; void touch_destroy_resource(Resource *resource) Q_DECL_OVERRIDE; void touch_release(Resource *resource) Q_DECL_OVERRIDE; |