diff options
author | Liang Qi <liang.qi@qt.io> | 2017-05-19 06:57:35 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2017-05-19 07:32:35 +0000 |
commit | cb70989c4fa2b8707ac59e25b3abe200ac7a5165 (patch) | |
tree | 39ada41293f3e5bbc6b8a33f70456f00922c7a85 /src | |
parent | 32a1d14a3a1dead69dd1306adf70eefd3415639e (diff) | |
parent | 880b0d741477a56440cb3c2b57294b6748dbfd4c (diff) |
Merge "Merge remote-tracking branch 'origin/5.9.0' into 5.9" into refs/staging/5.9
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquickevents_p_p.h | 7 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 5 | ||||
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 4 |
3 files changed, 15 insertions, 1 deletions
diff --git a/src/quick/items/qquickevents_p_p.h b/src/quick/items/qquickevents_p_p.h index 3735d68a85..323ecfa4ff 100644 --- a/src/quick/items/qquickevents_p_p.h +++ b/src/quick/items/qquickevents_p_p.h @@ -501,6 +501,7 @@ public: : m_deviceType(devType), m_pointerType(pType), m_capabilities(caps) , m_maximumTouchPoints(maxPoints), m_buttonCount(buttonCount), m_name(name) , m_uniqueId(QPointingDeviceUniqueId::fromNumericId(uniqueId)) + , m_event(nullptr) { } @@ -513,6 +514,8 @@ public: QString name() const { return m_name; } QPointingDeviceUniqueId uniqueId() const { return m_uniqueId; } + QQuickPointerEvent *pointerEvent() const { return m_event; } // deprecated + static QQuickPointerDevice *touchDevice(QTouchDevice *d); static QList<QQuickPointerDevice *> touchDevices(); static QQuickPointerDevice *genericMouseDevice(); @@ -527,6 +530,10 @@ private: QString m_name; QPointingDeviceUniqueId m_uniqueId; + // the event instance used last time within the context of one window + QQuickPointerEvent *m_event; // deprecated + friend class QQuickWindowPrivate; // not needed after removing the above + Q_DISABLE_COPY(QQuickPointerDevice) }; diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index ff4a357641..67069c7d15 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -2117,8 +2117,10 @@ QQuickPointerEvent *QQuickWindowPrivate::pointerEventInstance(QQuickPointerDevic { // the list of devices should be very small so a linear search should be ok for (QQuickPointerEvent *e: pointerEventInstances) { - if (e->device() == device) + if (e->device() == device) { + device->m_event = e; return e; + } } QQuickPointerEvent *ev = nullptr; @@ -2136,6 +2138,7 @@ QQuickPointerEvent *QQuickWindowPrivate::pointerEventInstance(QQuickPointerDevic break; } pointerEventInstances << ev; + device->m_event = ev; return ev; } diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index b8ebeaca63..78f2c86f6c 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -2966,7 +2966,11 @@ void Renderer::visualizeBatch(Batch *b) for (int ds=0; ds<b->drawSets.size(); ++ds) { const DrawSet &set = b->drawSets.at(ds); glVertexAttribPointer(a.position, 2, a.type, false, g->sizeOfVertex(), (void *) (qintptr) (set.vertices)); +#ifdef QSG_SEPARATE_INDEX_BUFFER + glDrawElements(g->drawingMode(), set.indexCount, GL_UNSIGNED_SHORT, (void *) (qintptr) (b->ibo.data + set.indices)); +#else glDrawElements(g->drawingMode(), set.indexCount, GL_UNSIGNED_SHORT, (void *) (qintptr) (b->vbo.data + set.indices)); +#endif } } else { Element *e = b->first; |