diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-06-13 23:10:03 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-06-13 23:10:03 +0200 |
commit | 9932617582470d717c97f8161a65133293c185c5 (patch) | |
tree | 1df48d67c6e5ca4aa8b7810fc9e717083b4199e3 /src/quick | |
parent | 7fde8a8d20da7fa00d974286fa903b3fee76d466 (diff) | |
parent | 17ee404f2678684674b9c5c0c523602953146e37 (diff) |
Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
src/quickwidgets/qquickwidget.cpp
Change-Id: Id4b080aea713df68608847bb82570231e37ce536
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/doc/src/examples.qdoc | 8 | ||||
-rw-r--r-- | src/quick/items/qquickgridview.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquickitem.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquickitemview.cpp | 4 | ||||
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 4 | ||||
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp | 4 | ||||
-rw-r--r-- | src/quick/scenegraph/qsgthreadedrenderloop.cpp | 2 | ||||
-rw-r--r-- | src/quick/scenegraph/shaders/visualization.vert | 2 | ||||
-rw-r--r-- | src/quick/scenegraph/util/qsgpainternode.cpp | 5 |
9 files changed, 19 insertions, 14 deletions
diff --git a/src/quick/doc/src/examples.qdoc b/src/quick/doc/src/examples.qdoc index 22c9786fda..3669a31de0 100644 --- a/src/quick/doc/src/examples.qdoc +++ b/src/quick/doc/src/examples.qdoc @@ -109,9 +109,8 @@ steps such as use cases and introductory material. For more information about Qt \section2 Extending QML The following tutorials show how a QML-based application can be combined with -C++ code using the \l{Qt QML} module. The \l{Running the Examples} section -has more information about opening the examples from within Qt Creator. For -information about extending QML, visit the \l{Integrating QML and C++} page. +C++ code using the \l{Qt QML} module. For information about extending QML, visit +the \l{Integrating QML and C++} page. \annotatedlist{qmlextendingexamples} @@ -119,8 +118,7 @@ information about extending QML, visit the \l{Integrating QML and C++} page. Examples are small applications which show how to implement various Qt Quick features. The examples run on various platforms and are opened from within Qt -Creator. The \l{Running the Examples} section has more information about opening -the examples from within Qt Creator. +Creator. \div {class="landingicons"} \div {class="icons1of3"} diff --git a/src/quick/items/qquickgridview.cpp b/src/quick/items/qquickgridview.cpp index 2c03903f36..d5ca3a128e 100644 --- a/src/quick/items/qquickgridview.cpp +++ b/src/quick/items/qquickgridview.cpp @@ -640,8 +640,8 @@ void QQuickGridViewPrivate::layoutVisibleItems(int fromModelIndex) if (colPos != col * colSize()) { colPos = col * colSize(); firstItem->setPosition(colPos, rowPos); - firstItem->setVisible(firstItem->rowPos() + rowSize() >= from && firstItem->rowPos() <= to); } + firstItem->setVisible(firstItem->rowPos() + rowSize() >= from && firstItem->rowPos() <= to); for (int i = 1; i < visibleItems.count(); ++i) { FxGridItemSG *item = static_cast<FxGridItemSG*>(visibleItems.at(i)); if (++col >= columns) { diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index da8ca9fd5d..73047add5d 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -1334,6 +1334,7 @@ void QQuickKeysAttached::keyPressed(QKeyEvent *event, bool post) for (int ii = 0; ii < d->targets.count(); ++ii) { QQuickItem *i = d->targets.at(ii); if (i && i->isVisible()) { + event->accept(); QCoreApplication::sendEvent(i, event); if (event->isAccepted()) { d->inPress = false; @@ -1376,6 +1377,7 @@ void QQuickKeysAttached::keyReleased(QKeyEvent *event, bool post) for (int ii = 0; ii < d->targets.count(); ++ii) { QQuickItem *i = d->targets.at(ii); if (i && i->isVisible()) { + event->accept(); QCoreApplication::sendEvent(i, event); if (event->isAccepted()) { d->inRelease = false; diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index 87e6728f86..94abbd0954 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -481,7 +481,7 @@ void QQuickItemView::setDisplayMarginBeginning(int margin) if (d->displayMarginBeginning != margin) { d->displayMarginBeginning = margin; if (isComponentComplete()) { - d->refillOrLayout(); + d->forceLayoutPolish(); } emit displayMarginBeginningChanged(); } @@ -499,7 +499,7 @@ void QQuickItemView::setDisplayMarginEnd(int margin) if (d->displayMarginEnd != margin) { d->displayMarginEnd = margin; if (isComponentComplete()) { - d->refillOrLayout(); + d->forceLayoutPolish(); } emit displayMarginEndChanged(); } diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index d6e2487a89..b3342be5ce 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -418,7 +418,7 @@ void Updater::visitTransformNode(Node *n) // The only change in this subtree is ourselves and we are a batch root, so // only update subroots and return, saving tons of child-processing (flickable-panning) - if (!n->becameBatchRoot && m_added == 0 && m_force_update == 0 && dirty && (n->dirtyState & ~QSGNode::DirtyMatrix) == 0) { + if (!n->becameBatchRoot && m_added == 0 && m_force_update == 0 && m_opacityChange == 0 && dirty && (n->dirtyState & ~QSGNode::DirtyMatrix) == 0) { BatchRootInfo *info = renderer->batchRootInfo(n); for (QSet<Node *>::const_iterator it = info->subRoots.constBegin(); it != info->subRoots.constEnd(); ++it) { @@ -2020,6 +2020,8 @@ void Renderer::renderMergedBatch(const Batch *batch) << " root:" << batch->root; if (batch->drawSets.size() > 1) debug << "sets:" << batch->drawSets.size(); + if (!batch->isOpaque) + debug << "opacity:" << e->node->inheritedOpacity(); batch->uploadedThisFrame = false; } diff --git a/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp b/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp index 9ff0971774..bffdf40bc1 100644 --- a/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp +++ b/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp @@ -52,7 +52,6 @@ namespace QSGShaderRewriter { struct Tokenizer { enum Token { - Token_Invalid, Token_Void, Token_OpenBrace, Token_CloseBrace, @@ -75,7 +74,6 @@ struct Tokenizer { }; const char *Tokenizer::NAMES[] = { - "Invalid", "Void", "OpenBrace", "CloseBrace", @@ -167,7 +165,7 @@ Tokenizer::Token Tokenizer::next() } } - return Token_Invalid; + return Token_EOF; } } diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp index 1ba54ea19e..e4d61eb0ae 100644 --- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp +++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp @@ -1199,6 +1199,8 @@ bool QSGThreadedRenderLoop::event(QEvent *e) Window *w = windowForTimer(te->timerId()); if (w) polishAndSync(w); + else + killTimer(te->timerId()); } return true; } diff --git a/src/quick/scenegraph/shaders/visualization.vert b/src/quick/scenegraph/shaders/visualization.vert index f1892b71da..591eb12ed6 100644 --- a/src/quick/scenegraph/shaders/visualization.vert +++ b/src/quick/scenegraph/shaders/visualization.vert @@ -3,7 +3,7 @@ uniform highp mat4 matrix; uniform highp mat4 rotation; // w -> apply 3d rotation and projection -uniform lowp vec4 tweak; +uniform mediump vec4 tweak; varying mediump vec2 pos; diff --git a/src/quick/scenegraph/util/qsgpainternode.cpp b/src/quick/scenegraph/util/qsgpainternode.cpp index b454f666ac..8ccb9d2ffb 100644 --- a/src/quick/scenegraph/util/qsgpainternode.cpp +++ b/src/quick/scenegraph/util/qsgpainternode.cpp @@ -96,7 +96,6 @@ QSGPainterNode::QSGPainterNode(QQuickPaintedItem *item) , m_geometry(QSGGeometry::defaultAttributes_TexturedPoint2D(), 4) , m_texture(0) , m_gl_device(0) - , m_size(1, 1) , m_dirtyContents(false) , m_opaquePainting(false) , m_linear_filtering(false) @@ -116,6 +115,10 @@ QSGPainterNode::QSGPainterNode(QQuickPaintedItem *item) setMaterial(&m_materialO); setOpaqueMaterial(&m_material); setGeometry(&m_geometry); + +#ifdef QSG_RUNTIME_DESCRIPTION + qsgnode_set_description(this, QString::fromLatin1("QQuickPaintedItem(%1):%2").arg(QString::fromLatin1(item->metaObject()->className())).arg(item->objectName())); +#endif } QSGPainterNode::~QSGPainterNode() |