summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-06-30 13:35:37 +0200
committerLiang Qi <liang.qi@qt.io>2016-06-30 14:28:55 +0200
commitb07e95e408fde45a0ce1a1b6683d432c9657e650 (patch)
tree65a80f556bf54d188d17ff985f37eb138007c9f4 /src/compositor/compositor_api
parent4d4f44a70f663428241c83e26d073f5e5ece8b62 (diff)
parentcddeb1c7c0e9d02c5f5542d7d12b4fa992bfb050 (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')
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor.cpp4
-rw-r--r--src/compositor/compositor_api/qwaylandquickitem.cpp8
-rw-r--r--src/compositor/compositor_api/qwaylandsurface.cpp2
-rw-r--r--src/compositor/compositor_api/qwaylandtouch.cpp9
-rw-r--r--src/compositor/compositor_api/qwaylandtouch_p.h1
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;