diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2017-05-31 12:05:26 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2017-05-31 12:05:39 +0200 |
commit | dece229a7c2284598c36fb668de766309a6893cf (patch) | |
tree | 6e34cfa52416b2f27d2fa0631cf34f8ffd171be4 /src/quick | |
parent | e2520ff76be49c5aa917741cc6a380fe1549e47d (diff) | |
parent | c158ca8be49a75026e83751dfd825c5bdd63189a (diff) |
Merge remote-tracking branch 'origin/dev' into wip/scenegraphng
Change-Id: Iea0bb0788357bc615d0e9ea411087114b8b3b720
Diffstat (limited to 'src/quick')
112 files changed, 399 insertions, 77 deletions
diff --git a/src/quick/designer/qquickdesignercustomparserobject.cpp b/src/quick/designer/qquickdesignercustomparserobject.cpp index b785abe361..9145b1367a 100644 --- a/src/quick/designer/qquickdesignercustomparserobject.cpp +++ b/src/quick/designer/qquickdesignercustomparserobject.cpp @@ -57,3 +57,5 @@ void QQuickDesignerCustomParser::applyBindings(QObject *, QV4::CompiledData::Com } QT_END_NAMESPACE + +#include "moc_qquickdesignercustomparserobject_p.cpp" diff --git a/src/quick/designer/qquickdesignerwindowmanager.cpp b/src/quick/designer/qquickdesignerwindowmanager.cpp index e2d7b98c33..093559a572 100644 --- a/src/quick/designer/qquickdesignerwindowmanager.cpp +++ b/src/quick/designer/qquickdesignerwindowmanager.cpp @@ -115,3 +115,4 @@ void QQuickDesignerWindowManager::update(QQuickWindow *window) QT_END_NAMESPACE +#include "moc_qquickdesignerwindowmanager_p.cpp" diff --git a/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc b/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc index d80c72e0f1..76f863d07f 100644 --- a/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc +++ b/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc @@ -96,8 +96,7 @@ The OpenVG adaptation is an alternative renderer for \l {Qt Quick} 2 that will renderer the contents of the scene graph using OpenVG commands to provide hardware-acclerated 2D vector and raster graphics. The details for this adaptation are available here: -\l{qtquick-visualcanvas-scenegraph-openvg.html}{OpenVG Adaptation} - +\l{qtquick-visualcanvas-adaptations-openvg.html}{OpenVG Adaptation} */ diff --git a/src/quick/items/context2d/qquickcanvascontext.cpp b/src/quick/items/context2d/qquickcanvascontext.cpp index 300f0489f4..1d61cacb7c 100644 --- a/src/quick/items/context2d/qquickcanvascontext.cpp +++ b/src/quick/items/context2d/qquickcanvascontext.cpp @@ -68,3 +68,4 @@ void QQuickCanvasContext::flush() QT_END_NAMESPACE +#include "moc_qquickcanvascontext_p.cpp" diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp index bda3250c16..670dc6d032 100644 --- a/src/quick/items/context2d/qquickcanvasitem.cpp +++ b/src/quick/items/context2d/qquickcanvasitem.cpp @@ -640,6 +640,10 @@ void QQuickCanvasItem::releaseResources() QQuickWindowQObjectCleanupJob::schedule(window(), d->textureProvider); d->textureProvider = 0; } + if (d->nodeTexture) { + QQuickWindowQObjectCleanupJob::schedule(window(), d->nodeTexture); + d->nodeTexture = 0; + } } bool QQuickCanvasItem::event(QEvent *event) @@ -662,6 +666,8 @@ void QQuickCanvasItem::invalidateSceneGraph() d->node = 0; // managed by the scene graph, just reset the pointer delete d->textureProvider; d->textureProvider = 0; + delete d->nodeTexture; + d->nodeTexture = 0; } void QQuickCanvasItem::schedulePolish() @@ -1246,3 +1252,5 @@ QRect QQuickCanvasItem::tiledRect(const QRectF &window, const QSize &tileSize) */ QT_END_NAMESPACE + +#include "moc_qquickcanvasitem_p.cpp" diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp index 715fc4b2c7..9ac7422a39 100644 --- a/src/quick/items/context2d/qquickcontext2d.cpp +++ b/src/quick/items/context2d/qquickcontext2d.cpp @@ -4325,3 +4325,5 @@ void QQuickContext2D::setV4Engine(QV4::ExecutionEngine *engine) } QT_END_NAMESPACE + +#include "moc_qquickcontext2d_p.cpp" diff --git a/src/quick/items/context2d/qquickcontext2dtexture.cpp b/src/quick/items/context2d/qquickcontext2dtexture.cpp index d90f527486..df6dd9dba2 100644 --- a/src/quick/items/context2d/qquickcontext2dtexture.cpp +++ b/src/quick/items/context2d/qquickcontext2dtexture.cpp @@ -751,3 +751,5 @@ void QQuickContext2DImageTexture::compositeTile(QQuickContext2DTile* tile) } QT_END_NAMESPACE + +#include "moc_qquickcontext2dtexture_p.cpp" diff --git a/src/quick/items/qquickaccessibleattached.cpp b/src/quick/items/qquickaccessibleattached.cpp index 4e918802d1..c559ee8887 100644 --- a/src/quick/items/qquickaccessibleattached.cpp +++ b/src/quick/items/qquickaccessibleattached.cpp @@ -462,4 +462,6 @@ void QQuickAccessibleAttached::availableActions(QStringList *actions) const QT_END_NAMESPACE +#include "moc_qquickaccessibleattached_p.cpp" + #endif diff --git a/src/quick/items/qquickanimatedimage.cpp b/src/quick/items/qquickanimatedimage.cpp index 22ea4774be..adf460886a 100644 --- a/src/quick/items/qquickanimatedimage.cpp +++ b/src/quick/items/qquickanimatedimage.cpp @@ -491,3 +491,5 @@ void QQuickAnimatedImage::componentComplete() } QT_END_NAMESPACE + +#include "moc_qquickanimatedimage_p.cpp" diff --git a/src/quick/items/qquickanimatedsprite.cpp b/src/quick/items/qquickanimatedsprite.cpp index 76c2146ddb..4e71b0c65f 100644 --- a/src/quick/items/qquickanimatedsprite.cpp +++ b/src/quick/items/qquickanimatedsprite.cpp @@ -815,3 +815,5 @@ void QQuickAnimatedSprite::prepareNextFrame(QSGSpriteNode *node) } QT_END_NAMESPACE + +#include "moc_qquickanimatedsprite_p.cpp" diff --git a/src/quick/items/qquickborderimage.cpp b/src/quick/items/qquickborderimage.cpp index 28d834f9e2..75e3a3dbed 100644 --- a/src/quick/items/qquickborderimage.cpp +++ b/src/quick/items/qquickborderimage.cpp @@ -684,3 +684,5 @@ void QQuickBorderImage::pixmapChange() } QT_END_NAMESPACE + +#include "moc_qquickborderimage_p.cpp" diff --git a/src/quick/items/qquickdrag.cpp b/src/quick/items/qquickdrag.cpp index e5969eed7f..41847e5f01 100644 --- a/src/quick/items/qquickdrag.cpp +++ b/src/quick/items/qquickdrag.cpp @@ -995,4 +995,6 @@ QQuickDragAttached *QQuickDrag::qmlAttachedProperties(QObject *obj) QT_END_NAMESPACE +#include "moc_qquickdrag_p.cpp" + #endif // draganddrop diff --git a/src/quick/items/qquickdroparea.cpp b/src/quick/items/qquickdroparea.cpp index b314390915..c7606f90e1 100644 --- a/src/quick/items/qquickdroparea.cpp +++ b/src/quick/items/qquickdroparea.cpp @@ -618,4 +618,6 @@ void QQuickDropEvent::accept(QQmlV4Function *args) QT_END_NAMESPACE +#include "moc_qquickdroparea_p.cpp" + #endif // draganddrop diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp index 1c732f9157..a3bc7635a1 100644 --- a/src/quick/items/qquickflickable.cpp +++ b/src/quick/items/qquickflickable.cpp @@ -2785,3 +2785,5 @@ void QQuickFlickable::setBoundsMovement(BoundsMovement movement) } QT_END_NAMESPACE + +#include "moc_qquickflickable_p.cpp" diff --git a/src/quick/items/qquickflipable.cpp b/src/quick/items/qquickflipable.cpp index f452893528..a960cd8b80 100644 --- a/src/quick/items/qquickflipable.cpp +++ b/src/quick/items/qquickflipable.cpp @@ -314,3 +314,4 @@ void QQuickFlipablePrivate::setBackTransform() QT_END_NAMESPACE #include "qquickflipable.moc" +#include "moc_qquickflipable_p.cpp" diff --git a/src/quick/items/qquickfocusscope.cpp b/src/quick/items/qquickfocusscope.cpp index f6c3a4a58f..de4494a521 100644 --- a/src/quick/items/qquickfocusscope.cpp +++ b/src/quick/items/qquickfocusscope.cpp @@ -67,3 +67,5 @@ QQuickFocusScope::~QQuickFocusScope() } QT_END_NAMESPACE + +#include "moc_qquickfocusscope_p.cpp" diff --git a/src/quick/items/qquickframebufferobject.cpp b/src/quick/items/qquickframebufferobject.cpp index 18a6a58467..52b19d994c 100644 --- a/src/quick/items/qquickframebufferobject.cpp +++ b/src/quick/items/qquickframebufferobject.cpp @@ -536,5 +536,6 @@ void QQuickFramebufferObject::Renderer::update() #include "qquickframebufferobject.moc" +#include "moc_qquickframebufferobject.cpp" QT_END_NAMESPACE diff --git a/src/quick/items/qquickgenericshadereffect.cpp b/src/quick/items/qquickgenericshadereffect.cpp index 2f8d71fc11..b366071962 100644 --- a/src/quick/items/qquickgenericshadereffect.cpp +++ b/src/quick/items/qquickgenericshadereffect.cpp @@ -656,3 +656,5 @@ void QQuickGenericShaderEffect::markGeometryDirtyAndUpdateIfSupportsAtlas() } QT_END_NAMESPACE + +#include "moc_qquickgenericshadereffect_p.cpp" diff --git a/src/quick/items/qquickgraphicsinfo.cpp b/src/quick/items/qquickgraphicsinfo.cpp index f735f17a4d..a36133874b 100644 --- a/src/quick/items/qquickgraphicsinfo.cpp +++ b/src/quick/items/qquickgraphicsinfo.cpp @@ -301,3 +301,5 @@ void QQuickGraphicsInfo::setWindow(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qquickgraphicsinfo_p.cpp" diff --git a/src/quick/items/qquickgridview.cpp b/src/quick/items/qquickgridview.cpp index e6a7a0acd0..fd78c46a16 100644 --- a/src/quick/items/qquickgridview.cpp +++ b/src/quick/items/qquickgridview.cpp @@ -2658,3 +2658,5 @@ QQuickGridViewAttached *QQuickGridView::qmlAttachedProperties(QObject *obj) } QT_END_NAMESPACE + +#include "moc_qquickgridview_p.cpp" diff --git a/src/quick/items/qquickimage.cpp b/src/quick/items/qquickimage.cpp index bf982117e8..7e13e5e0e1 100644 --- a/src/quick/items/qquickimage.cpp +++ b/src/quick/items/qquickimage.cpp @@ -87,6 +87,7 @@ public: }; #include "qquickimage.moc" +#include "moc_qquickimage_p.cpp" QQuickImagePrivate::QQuickImagePrivate() : fillMode(QQuickImage::Stretch) diff --git a/src/quick/items/qquickimagebase.cpp b/src/quick/items/qquickimagebase.cpp index 33d69f5032..74ee859f77 100644 --- a/src/quick/items/qquickimagebase.cpp +++ b/src/quick/items/qquickimagebase.cpp @@ -328,18 +328,18 @@ void QQuickImageBase::requestProgress(qint64 received, qint64 total) void QQuickImageBase::itemChange(ItemChange change, const ItemChangeData &value) { - if (change == ItemSceneChange && value.window) - connect(value.window, &QQuickWindow::screenChanged, this, &QQuickImageBase::handleScreenChanged); + Q_D(QQuickImageBase); + // If the screen DPI changed, reload image. + if (change == ItemDevicePixelRatioHasChanged && value.realValue != d->devicePixelRatio) { + // ### how can we get here with !qmlEngine(this)? that implies + // itemChange() on an item pending deletion, which seems strange. + if (qmlEngine(this) && isComponentComplete() && d->url.isValid()) { + load(); + } + } QQuickItem::itemChange(change, value); } -void QQuickImageBase::handleScreenChanged(QScreen* screen) -{ - // Screen DPI might have changed, reload images on screen change. - if (qmlEngine(this) && screen && isComponentComplete()) - load(); -} - void QQuickImageBase::componentComplete() { Q_D(QQuickImageBase); @@ -406,3 +406,5 @@ void QQuickImageBase::setAutoTransform(bool transform) } QT_END_NAMESPACE + +#include "moc_qquickimagebase_p.cpp" diff --git a/src/quick/items/qquickimagebase_p.h b/src/quick/items/qquickimagebase_p.h index 532f6ce683..54b1f789c9 100644 --- a/src/quick/items/qquickimagebase_p.h +++ b/src/quick/items/qquickimagebase_p.h @@ -123,7 +123,6 @@ protected: private Q_SLOTS: virtual void requestFinished(); void requestProgress(qint64,qint64); - void handleScreenChanged(QScreen *screen); private: Q_DISABLE_COPY(QQuickImageBase) diff --git a/src/quick/items/qquickimplicitsizeitem.cpp b/src/quick/items/qquickimplicitsizeitem.cpp index 08886329fd..1996fb9489 100644 --- a/src/quick/items/qquickimplicitsizeitem.cpp +++ b/src/quick/items/qquickimplicitsizeitem.cpp @@ -75,3 +75,5 @@ QQuickImplicitSizeItem::QQuickImplicitSizeItem(QQuickImplicitSizeItemPrivate &dd } QT_END_NAMESPACE + +#include "moc_qquickimplicitsizeitem_p.cpp" diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 0bbf21607d..4e52109582 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -8466,3 +8466,5 @@ quint64 QQuickItemPrivate::_q_createJSWrapper(QV4::ExecutionEngine *engine) QT_END_NAMESPACE #include <moc_qquickitem.cpp> + +#include "moc_qquickitem_p.cpp" diff --git a/src/quick/items/qquickitemanimation.cpp b/src/quick/items/qquickitemanimation.cpp index 874130b137..d4d346def9 100644 --- a/src/quick/items/qquickitemanimation.cpp +++ b/src/quick/items/qquickitemanimation.cpp @@ -1051,3 +1051,5 @@ QQuickPathAnimationAnimator::~QQuickPathAnimationAnimator() #endif // quick_path QT_END_NAMESPACE + +#include "moc_qquickitemanimation_p.cpp" diff --git a/src/quick/items/qquickitemgrabresult.cpp b/src/quick/items/qquickitemgrabresult.cpp index 12bcd43076..c3f8d4f024 100644 --- a/src/quick/items/qquickitemgrabresult.cpp +++ b/src/quick/items/qquickitemgrabresult.cpp @@ -415,3 +415,5 @@ bool QQuickItem::grabToImage(const QJSValue &callback, const QSize &targetSize) } QT_END_NAMESPACE + +#include "moc_qquickitemgrabresult.cpp" diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index a8bac633cc..555db03962 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -2507,3 +2507,5 @@ void QQuickItemViewPrivate::updateVisibleIndex() } QT_END_NAMESPACE + +#include "moc_qquickitemview_p.cpp" diff --git a/src/quick/items/qquickitemviewtransition.cpp b/src/quick/items/qquickitemviewtransition.cpp index 700c4cc620..04d93937eb 100644 --- a/src/quick/items/qquickitemviewtransition.cpp +++ b/src/quick/items/qquickitemviewtransition.cpp @@ -942,3 +942,5 @@ QQuickViewTransitionAttached *QQuickViewTransitionAttached::qmlAttachedPropertie } QT_END_NAMESPACE + +#include "moc_qquickitemviewtransition_p.cpp" diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp index 0351077f20..f739115e6b 100644 --- a/src/quick/items/qquicklistview.cpp +++ b/src/quick/items/qquicklistview.cpp @@ -3442,3 +3442,5 @@ QQuickListViewAttached *QQuickListView::qmlAttachedProperties(QObject *obj) } QT_END_NAMESPACE + +#include "moc_qquicklistview_p.cpp" diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp index c662efe40e..d8bad7d793 100644 --- a/src/quick/items/qquickmousearea.cpp +++ b/src/quick/items/qquickmousearea.cpp @@ -1429,3 +1429,5 @@ QSGNode *QQuickMouseArea::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData } QT_END_NAMESPACE + +#include "moc_qquickmousearea_p.cpp" diff --git a/src/quick/items/qquickmultipointtoucharea.cpp b/src/quick/items/qquickmultipointtoucharea.cpp index 1882976e0c..d4c447a384 100644 --- a/src/quick/items/qquickmultipointtoucharea.cpp +++ b/src/quick/items/qquickmultipointtoucharea.cpp @@ -1006,3 +1006,5 @@ QSGNode *QQuickMultiPointTouchArea::updatePaintNode(QSGNode *oldNode, UpdatePain } QT_END_NAMESPACE + +#include "moc_qquickmultipointtoucharea_p.cpp" diff --git a/src/quick/items/qquickopenglinfo.cpp b/src/quick/items/qquickopenglinfo.cpp index 4bb13b84aa..7f5364031a 100644 --- a/src/quick/items/qquickopenglinfo.cpp +++ b/src/quick/items/qquickopenglinfo.cpp @@ -200,3 +200,5 @@ void QQuickOpenGLInfo::setWindow(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qquickopenglinfo_p.cpp" diff --git a/src/quick/items/qquickopenglshadereffect.cpp b/src/quick/items/qquickopenglshadereffect.cpp index 4f4c403483..4fcfe04b55 100644 --- a/src/quick/items/qquickopenglshadereffect.cpp +++ b/src/quick/items/qquickopenglshadereffect.cpp @@ -973,3 +973,5 @@ void QQuickOpenGLShaderEffect::handleItemChange(QQuickItem::ItemChange change, c } QT_END_NAMESPACE + +#include "moc_qquickopenglshadereffect_p.cpp" diff --git a/src/quick/items/qquickopenglshadereffectnode.cpp b/src/quick/items/qquickopenglshadereffectnode.cpp index 2d2cffbeed..e1ea98641d 100644 --- a/src/quick/items/qquickopenglshadereffectnode.cpp +++ b/src/quick/items/qquickopenglshadereffectnode.cpp @@ -510,5 +510,6 @@ void QQuickOpenGLShaderEffectNode::preprocess() } #include "qquickopenglshadereffectnode.moc" +#include "moc_qquickopenglshadereffectnode_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/items/qquickpainteditem.cpp b/src/quick/items/qquickpainteditem.cpp index 3911bb0f28..34d71f00e8 100644 --- a/src/quick/items/qquickpainteditem.cpp +++ b/src/quick/items/qquickpainteditem.cpp @@ -683,3 +683,5 @@ void QQuickPaintedItem::itemChange(ItemChange change, const ItemChangeData &valu } QT_END_NAMESPACE + +#include "moc_qquickpainteditem.cpp" diff --git a/src/quick/items/qquickpathview.cpp b/src/quick/items/qquickpathview.cpp index 53e547fe98..aac2b0296a 100644 --- a/src/quick/items/qquickpathview.cpp +++ b/src/quick/items/qquickpathview.cpp @@ -2428,3 +2428,4 @@ QQuickPathViewAttached *QQuickPathView::qmlAttachedProperties(QObject *obj) QT_END_NAMESPACE +#include "moc_qquickpathview_p.cpp" diff --git a/src/quick/items/qquickpincharea.cpp b/src/quick/items/qquickpincharea.cpp index 6295aa1932..3f6ce7b8ba 100644 --- a/src/quick/items/qquickpincharea.cpp +++ b/src/quick/items/qquickpincharea.cpp @@ -796,3 +796,4 @@ QQuickPinch *QQuickPinchArea::pinch() QT_END_NAMESPACE +#include "moc_qquickpincharea_p.cpp" diff --git a/src/quick/items/qquickpositioners.cpp b/src/quick/items/qquickpositioners.cpp index 05882d0464..e752e2538f 100644 --- a/src/quick/items/qquickpositioners.cpp +++ b/src/quick/items/qquickpositioners.cpp @@ -2215,3 +2215,5 @@ void QQuickFlow::reportConflictingAnchors() } QT_END_NAMESPACE + +#include "moc_qquickpositioners_p.cpp" diff --git a/src/quick/items/qquickrectangle.cpp b/src/quick/items/qquickrectangle.cpp index 7ba2421d62..0c532bcd4c 100644 --- a/src/quick/items/qquickrectangle.cpp +++ b/src/quick/items/qquickrectangle.cpp @@ -1,5 +1,6 @@ /**************************************************************************** ** +** Copyright (C) 2017 Crimson AS <info@crimson.no> ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** @@ -90,6 +91,7 @@ void QQuickPen::setWidth(qreal w) m_width = w; m_valid = m_color.alpha() && (qRound(m_width) >= 1 || (!m_aligned && m_width > 0)); + static_cast<QQuickItem*>(parent())->update(); emit penChanged(); } @@ -102,6 +104,7 @@ void QQuickPen::setColor(const QColor &c) { m_color = c; m_valid = m_color.alpha() && (qRound(m_width) >= 1 || (!m_aligned && m_width > 0)); + static_cast<QQuickItem*>(parent())->update(); emit penChanged(); } @@ -116,6 +119,7 @@ void QQuickPen::setPixelAligned(bool aligned) return; m_aligned = aligned; m_valid = m_color.alpha() && (qRound(m_width) >= 1 || (!m_aligned && m_width > 0)); + static_cast<QQuickItem*>(parent())->update(); emit penChanged(); } @@ -266,11 +270,9 @@ QGradientStops QQuickGradient::gradientStops() const void QQuickGradient::doUpdate() { - emit updated(); + static_cast<QQuickItem*>(parent())->update(); } -int QQuickRectanglePrivate::doUpdateSlotIdx = -1; - /*! \qmltype Rectangle \instantiates QQuickRectangle @@ -324,11 +326,6 @@ QQuickRectangle::QQuickRectangle(QQuickItem *parent) setFlag(ItemHasContents); } -void QQuickRectangle::doUpdate() -{ - update(); -} - /*! \qmlproperty bool QtQuick::Rectangle::antialiasing @@ -356,7 +353,11 @@ void QQuickRectangle::doUpdate() QQuickPen *QQuickRectangle::border() { Q_D(QQuickRectangle); - return d->getPen(); + if (!d->pen) { + d->pen = new QQuickPen; + QQml_setParent_noEvent(d->pen, this); + } + return d->pen; } /*! @@ -389,16 +390,7 @@ void QQuickRectangle::setGradient(QQuickGradient *gradient) Q_D(QQuickRectangle); if (d->gradient == gradient) return; - static int updatedSignalIdx = -1; - if (updatedSignalIdx < 0) - updatedSignalIdx = QMetaMethod::fromSignal(&QQuickGradient::updated).methodIndex(); - if (d->doUpdateSlotIdx < 0) - d->doUpdateSlotIdx = QQuickRectangle::staticMetaObject.indexOfSlot("doUpdate()"); - if (d->gradient) - QMetaObject::disconnect(d->gradient, updatedSignalIdx, this, d->doUpdateSlotIdx); d->gradient = gradient; - if (d->gradient) - QMetaObject::connect(d->gradient, updatedSignalIdx, this, d->doUpdateSlotIdx); update(); } @@ -511,3 +503,5 @@ QSGNode *QQuickRectangle::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData } QT_END_NAMESPACE + +#include "moc_qquickrectangle_p.cpp" diff --git a/src/quick/items/qquickrectangle_p.h b/src/quick/items/qquickrectangle_p.h index 724a06013c..627f778e44 100644 --- a/src/quick/items/qquickrectangle_p.h +++ b/src/quick/items/qquickrectangle_p.h @@ -129,9 +129,6 @@ public: QGradientStops gradientStops() const; -Q_SIGNALS: - void updated(); - private: void doUpdate(); @@ -172,9 +169,6 @@ Q_SIGNALS: protected: QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) Q_DECL_OVERRIDE; -private Q_SLOTS: - void doUpdate(); - private: Q_DISABLE_COPY(QQuickRectangle) Q_DECLARE_PRIVATE(QQuickRectangle) diff --git a/src/quick/items/qquickrectangle_p_p.h b/src/quick/items/qquickrectangle_p_p.h index 50d5817951..e771beec87 100644 --- a/src/quick/items/qquickrectangle_p_p.h +++ b/src/quick/items/qquickrectangle_p_p.h @@ -70,28 +70,12 @@ public: ~QQuickRectanglePrivate() { - delete pen; } QColor color; QQuickGradient *gradient; QQuickPen *pen; qreal radius; - static int doUpdateSlotIdx; - - QQuickPen *getPen() { - if (!pen) { - Q_Q(QQuickRectangle); - pen = new QQuickPen; - static int penChangedSignalIdx = -1; - if (penChangedSignalIdx < 0) - penChangedSignalIdx = QMetaMethod::fromSignal(&QQuickPen::penChanged).methodIndex(); - if (doUpdateSlotIdx < 0) - doUpdateSlotIdx = QQuickRectangle::staticMetaObject.indexOfSlot("doUpdate()"); - QMetaObject::connect(pen, penChangedSignalIdx, q, doUpdateSlotIdx); - } - return pen; - } }; QT_END_NAMESPACE diff --git a/src/quick/items/qquickrendercontrol.cpp b/src/quick/items/qquickrendercontrol.cpp index e2a20f9e7e..f2828bbedd 100644 --- a/src/quick/items/qquickrendercontrol.cpp +++ b/src/quick/items/qquickrendercontrol.cpp @@ -457,3 +457,5 @@ QWindow *QQuickRenderControl::renderWindowFor(QQuickWindow *win, QPoint *offset) } QT_END_NAMESPACE + +#include "moc_qquickrendercontrol.cpp" diff --git a/src/quick/items/qquickrepeater.cpp b/src/quick/items/qquickrepeater.cpp index a7254464ed..9ad7d27b18 100644 --- a/src/quick/items/qquickrepeater.cpp +++ b/src/quick/items/qquickrepeater.cpp @@ -509,3 +509,5 @@ void QQuickRepeater::modelUpdated(const QQmlChangeSet &changeSet, bool reset) } QT_END_NAMESPACE + +#include "moc_qquickrepeater_p.cpp" diff --git a/src/quick/items/qquickscreen.cpp b/src/quick/items/qquickscreen.cpp index 20c6973ee1..6a3eab957e 100644 --- a/src/quick/items/qquickscreen.cpp +++ b/src/quick/items/qquickscreen.cpp @@ -86,6 +86,41 @@ QT_BEGIN_NAMESPACE The name of the screen. */ /*! + \qmlattachedproperty int Screen::virtualX + \readonly + \since 5.9 + + The x coordinate of the screen within the virtual desktop. +*/ +/*! + \qmlattachedproperty int Screen::virtualY + \readonly + \since 5.9 + + The y coordinate of the screen within the virtual desktop. +*/ +/*! + \qmlattachedproperty string Screen::manufacturer + \readonly + \since 5.10 + + The manufacturer of the screen. +*/ +/*! + \qmlattachedproperty string Screen::model + \readonly + \since 5.10 + + The model of the screen. +*/ +/*! + \qmlattachedproperty string Screen::serialNumber + \readonly + \since 5.10 + + The serial number of the screen. +*/ +/*! \qmlattachedproperty int Screen::width \readonly @@ -220,6 +255,27 @@ QString QQuickScreenInfo::name() const return m_screen->name(); } +QString QQuickScreenInfo::manufacturer() const +{ + if (!m_screen) + return QString(); + return m_screen->manufacturer(); +} + +QString QQuickScreenInfo::model() const +{ + if (!m_screen) + return QString(); + return m_screen->model(); +} + +QString QQuickScreenInfo::serialNumber() const +{ + if (!m_screen) + return QString(); + return m_screen->serialNumber(); +} + int QQuickScreenInfo::width() const { if (!m_screen) @@ -321,6 +377,12 @@ void QQuickScreenInfo::setWrappedScreen(QScreen *screen) } if (!oldScreen || screen->name() != oldScreen->name()) emit nameChanged(); + if (!oldScreen || screen->manufacturer() != oldScreen->manufacturer()) + emit manufacturerChanged(); + if (!oldScreen || screen->model() != oldScreen->model()) + emit modelChanged(); + if (!oldScreen || screen->serialNumber() != oldScreen->serialNumber()) + emit serialNumberChanged(); if (!oldScreen || screen->orientation() != oldScreen->orientation()) emit orientationChanged(); if (!oldScreen || screen->primaryOrientation() != oldScreen->primaryOrientation()) @@ -435,3 +497,5 @@ void QQuickScreenAttached::screenChanged(QScreen *screen) } QT_END_NAMESPACE + +#include "moc_qquickscreen_p.cpp" diff --git a/src/quick/items/qquickscreen_p.h b/src/quick/items/qquickscreen_p.h index 99e1466631..e9db07d14c 100644 --- a/src/quick/items/qquickscreen_p.h +++ b/src/quick/items/qquickscreen_p.h @@ -68,6 +68,9 @@ class Q_AUTOTEST_EXPORT QQuickScreenInfo : public QObject { Q_OBJECT Q_PROPERTY(QString name READ name NOTIFY nameChanged) + Q_PROPERTY(QString manufacturer READ manufacturer NOTIFY manufacturerChanged REVISION 10) + Q_PROPERTY(QString model READ model NOTIFY modelChanged REVISION 10) + Q_PROPERTY(QString serialNumber READ serialNumber NOTIFY serialNumberChanged REVISION 10) Q_PROPERTY(int width READ width NOTIFY widthChanged) Q_PROPERTY(int height READ height NOTIFY heightChanged) Q_PROPERTY(int desktopAvailableWidth READ desktopAvailableWidth NOTIFY desktopGeometryChanged) @@ -87,6 +90,9 @@ public: QQuickScreenInfo(QObject *parent = nullptr, QScreen *wrappedScreen = nullptr); QString name() const; + QString manufacturer() const; + QString model() const; + QString serialNumber() const; int width() const; int height() const; int desktopAvailableWidth() const; @@ -104,6 +110,9 @@ public: Q_SIGNALS: void nameChanged(); + Q_REVISION(10) void manufacturerChanged(); + Q_REVISION(10) void modelChanged(); + Q_REVISION(10) void serialNumberChanged(); void widthChanged(); void heightChanged(); void desktopGeometryChanged(); diff --git a/src/quick/items/qquickshadereffect.cpp b/src/quick/items/qquickshadereffect.cpp index d317c1d19b..a41e9324f3 100644 --- a/src/quick/items/qquickshadereffect.cpp +++ b/src/quick/items/qquickshadereffect.cpp @@ -881,3 +881,5 @@ bool QQuickShaderEffect::isOpenGLShaderEffect() const #endif QT_END_NAMESPACE + +#include "moc_qquickshadereffect_p.cpp" diff --git a/src/quick/items/qquickshadereffectmesh.cpp b/src/quick/items/qquickshadereffectmesh.cpp index d23b576d42..4ea976a272 100644 --- a/src/quick/items/qquickshadereffectmesh.cpp +++ b/src/quick/items/qquickshadereffectmesh.cpp @@ -434,3 +434,5 @@ void QQuickBorderImageMesh::setVerticalTileMode(TileMode t) } QT_END_NAMESPACE + +#include "moc_qquickshadereffectmesh_p.cpp" diff --git a/src/quick/items/qquickshadereffectsource.cpp b/src/quick/items/qquickshadereffectsource.cpp index c782ddb5f7..f61bad1179 100644 --- a/src/quick/items/qquickshadereffectsource.cpp +++ b/src/quick/items/qquickshadereffectsource.cpp @@ -796,5 +796,6 @@ void QQuickShaderEffectSource::itemChange(ItemChange change, const ItemChangeDat } #include "qquickshadereffectsource.moc" +#include "moc_qquickshadereffectsource_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/items/qquicksprite.cpp b/src/quick/items/qquicksprite.cpp index 63d3180842..aae657b749 100644 --- a/src/quick/items/qquicksprite.cpp +++ b/src/quick/items/qquicksprite.cpp @@ -269,3 +269,5 @@ void QQuickSprite::startImageLoading() } QT_END_NAMESPACE + +#include "moc_qquicksprite_p.cpp" diff --git a/src/quick/items/qquickspriteengine.cpp b/src/quick/items/qquickspriteengine.cpp index d26a1f8a64..92b60a8e3a 100644 --- a/src/quick/items/qquickspriteengine.cpp +++ b/src/quick/items/qquickspriteengine.cpp @@ -773,3 +773,5 @@ void QQuickStochasticEngine::addToUpdateList(uint t, int idx) } QT_END_NAMESPACE + +#include "moc_qquickspriteengine_p.cpp" diff --git a/src/quick/items/qquickspritesequence.cpp b/src/quick/items/qquickspritesequence.cpp index 858a3c0576..ae466aa482 100644 --- a/src/quick/items/qquickspritesequence.cpp +++ b/src/quick/items/qquickspritesequence.cpp @@ -329,3 +329,5 @@ void QQuickSpriteSequence::prepareNextFrame(QSGSpriteNode *node) } QT_END_NAMESPACE + +#include "moc_qquickspritesequence_p.cpp" diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index c8bc76aef8..080cc9412e 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -359,8 +359,8 @@ void QQuickTextPrivate::updateSize() } if (!requireImplicitSize) { - emit q->implicitWidthChanged(); - emit q->implicitHeightChanged(); + implicitWidthChanged(); + implicitHeightChanged(); // if the implicitWidth is used, then updateSize() has already been called (recursively) if (requireImplicitSize) return; @@ -384,6 +384,7 @@ void QQuickTextPrivate::updateSize() updateBaseline(fm.ascent(), q->height() - fontHeight - vPadding); q->setImplicitSize(hPadding, fontHeight + vPadding); layedOutTextRect = QRectF(0, 0, 0, fontHeight); + advance = QSizeF(); emit q->contentSizeChanged(); updateType = UpdatePaintNode; q->update(); @@ -457,8 +458,26 @@ void QQuickTextPrivate::updateSize() if (iWidth == -1) q->setImplicitHeight(size.height() + vPadding); + + QTextBlock firstBlock = extra->doc->firstBlock(); + while (firstBlock.layout()->lineCount() == 0) + firstBlock = firstBlock.next(); + + QTextBlock lastBlock = extra->doc->lastBlock(); + while (lastBlock.layout()->lineCount() == 0) + lastBlock = lastBlock.previous(); + + if (firstBlock.lineCount() > 0 && lastBlock.lineCount() > 0) { + QTextLine firstLine = firstBlock.layout()->lineAt(0); + QTextLine lastLine = lastBlock.layout()->lineAt(lastBlock.layout()->lineCount() - 1); + advance = QSizeF(lastLine.horizontalAdvance(), + (lastLine.y() + lastBlock.layout()->position().y()) - (firstLine.y() + firstBlock.layout()->position().y())); + } else { + advance = QSizeF(); + } } + if (layedOutTextRect.size() != previousSize) emit q->contentSizeChanged(); updateType = UpdatePaintNode; @@ -968,6 +987,16 @@ QRectF QQuickTextPrivate::setupTextLayout(qreal *const baseline) br.moveTop(0); + // Find the advance of the text layout + if (layout.lineCount() > 0) { + QTextLine firstLine = layout.lineAt(0); + QTextLine lastLine = layout.lineAt(layout.lineCount() - 1); + advance = QSizeF(lastLine.horizontalAdvance(), + lastLine.y() - firstLine.y()); + } else { + advance = QSizeF(); + } + if (!horizontalFit && !verticalFit) break; @@ -3055,4 +3084,24 @@ QJSValue QQuickText::fontInfo() const return value; } +/*! + \qmlproperty size QtQuick::Text::advance + \since 5.10 + + The distance, in pixels, from the baseline origin of the first + character of the text item, to the baseline origin of the first + character in a text item occurring directly after this one + in a text flow. + + Note that the advance can be negative if the text flows from + the right to the left. +*/ +QSizeF QQuickText::advance() const +{ + Q_D(const QQuickText); + return d->advance; +} + QT_END_NAMESPACE + +#include "moc_qquicktext_p.cpp" diff --git a/src/quick/items/qquicktext_p.h b/src/quick/items/qquicktext_p.h index b190738cfb..a56bcdb87b 100644 --- a/src/quick/items/qquicktext_p.h +++ b/src/quick/items/qquicktext_p.h @@ -99,6 +99,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickText : public QQuickImplicitSizeItem Q_PROPERTY(qreal bottomPadding READ bottomPadding WRITE setBottomPadding RESET resetBottomPadding NOTIFY bottomPaddingChanged REVISION 6) Q_PROPERTY(QJSValue fontInfo READ fontInfo NOTIFY fontInfoChanged REVISION 9) + Q_PROPERTY(QSizeF advance READ advance NOTIFY contentSizeChanged REVISION 10) public: QQuickText(QQuickItem *parent=0); @@ -251,6 +252,7 @@ public: void resetBottomPadding(); QJSValue fontInfo() const; + QSizeF advance() const; Q_SIGNALS: void textChanged(const QString &text); diff --git a/src/quick/items/qquicktext_p_p.h b/src/quick/items/qquicktext_p_p.h index 6456750359..fde07eaf2e 100644 --- a/src/quick/items/qquicktext_p_p.h +++ b/src/quick/items/qquicktext_p_p.h @@ -89,6 +89,7 @@ public: void processHoverEvent(QHoverEvent *event); QRectF layedOutTextRect; + QSizeF advance; struct ExtraData { ExtraData(); diff --git a/src/quick/items/qquicktextcontrol.cpp b/src/quick/items/qquicktextcontrol.cpp index 2dce3e9ec8..2e23d69e5b 100644 --- a/src/quick/items/qquicktextcontrol.cpp +++ b/src/quick/items/qquicktextcontrol.cpp @@ -830,6 +830,9 @@ void QQuickTextControlPrivate::keyPressEvent(QKeyEvent *e) if (e == QKeySequence::SelectAll) { e->accept(); q->selectAll(); +#if QT_CONFIG(clipboard) + setClipboardSelection(); +#endif return; } #if QT_CONFIG(clipboard) @@ -955,6 +958,10 @@ process: accept: +#if QT_CONFIG(clipboard) + setClipboardSelection(); +#endif + e->accept(); cursorOn = true; diff --git a/src/quick/items/qquicktextdocument.cpp b/src/quick/items/qquicktextdocument.cpp index c272503480..5d2034defe 100644 --- a/src/quick/items/qquicktextdocument.cpp +++ b/src/quick/items/qquicktextdocument.cpp @@ -240,3 +240,6 @@ void QQuickTextDocumentWithImageResources::setText(const QString &text) QSet<QUrl> QQuickTextDocumentWithImageResources::errors; QT_END_NAMESPACE + +#include "moc_qquicktextdocument.cpp" +#include "moc_qquicktextdocument_p.cpp" diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index 075fd48a46..61d610520f 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -3056,3 +3056,5 @@ void QQuickTextEdit::clear() } QT_END_NAMESPACE + +#include "moc_qquicktextedit_p.cpp" diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index f4a88a1c45..a378359c95 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -4779,3 +4779,4 @@ void QQuickTextInput::resetBottomPadding() QT_END_NAMESPACE +#include "moc_qquicktextinput_p.cpp" diff --git a/src/quick/items/qquicktextutil.cpp b/src/quick/items/qquicktextutil.cpp index b07289f4a3..6aa6c5cb4b 100644 --- a/src/quick/items/qquicktextutil.cpp +++ b/src/quick/items/qquicktextutil.cpp @@ -110,3 +110,5 @@ qreal QQuickTextUtil::alignedY(const qreal textHeight, const qreal itemHeight, i } QT_END_NAMESPACE + +#include "moc_qquicktextutil_p.cpp" diff --git a/src/quick/items/qquicktranslate.cpp b/src/quick/items/qquicktranslate.cpp index c4a3d458f8..9937c692a5 100644 --- a/src/quick/items/qquicktranslate.cpp +++ b/src/quick/items/qquicktranslate.cpp @@ -530,3 +530,5 @@ void QQuickMatrix4x4::applyTo(QMatrix4x4 *matrix) const } QT_END_NAMESPACE + +#include "moc_qquicktranslate_p.cpp" diff --git a/src/quick/items/qquickview.cpp b/src/quick/items/qquickview.cpp index d7171bf910..8313b53a7d 100644 --- a/src/quick/items/qquickview.cpp +++ b/src/quick/items/qquickview.cpp @@ -615,3 +615,5 @@ void QQuickView::mouseReleaseEvent(QMouseEvent *e) QT_END_NAMESPACE + +#include "moc_qquickview.cpp" diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index b3417cc727..2c929113f6 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -169,6 +169,7 @@ private: }; #include "qquickwindow.moc" +#include "moc_qquickwindow_p.cpp" #if QT_CONFIG(accessibility) @@ -4223,7 +4224,7 @@ void QQuickWindow::resetOpenGLState() \since 5.9 - \sa QWindow::setScreen(), QWindow::screen(), QScreen, Qt.application + \sa QWindow::setScreen(), QWindow::screen(), QScreen, {QtQml::Qt::application}{Qt.application} */ /*! @@ -4572,6 +4573,20 @@ void QQuickWindow::setSceneGraphBackend(const QString &backend) } /*! + Returns the requested Qt Quick scenegraph \a backend. + + \note The return value of this function may still be outdated by + subsequent calls to setSceneGraphBackend() until the first QQuickWindow in the + application has been constructed. + + \since 5.9 + */ +QString QQuickWindow::sceneGraphBackend() +{ + return QSGContext::backend(); +} + +/*! Creates a simple rectangle node. When the scenegraph is not initialized, the return value is null. This is cross-backend alternative to constructing a QSGSimpleRectNode directly. diff --git a/src/quick/items/qquickwindow.h b/src/quick/items/qquickwindow.h index 0655ae9e7f..d1a16fbeb6 100644 --- a/src/quick/items/qquickwindow.h +++ b/src/quick/items/qquickwindow.h @@ -164,6 +164,7 @@ public: static void setSceneGraphBackend(QSGRendererInterface::GraphicsApi api); static void setSceneGraphBackend(const QString &backend); + static QString sceneGraphBackend(); QSGRectangleNode *createRectangleNode() const; QSGImageNode *createImageNode() const; diff --git a/src/quick/items/qquickwindowattached.cpp b/src/quick/items/qquickwindowattached.cpp index c6380e2b9a..c8d71139ca 100644 --- a/src/quick/items/qquickwindowattached.cpp +++ b/src/quick/items/qquickwindowattached.cpp @@ -137,3 +137,5 @@ void QQuickWindowAttached::windowChange(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qquickwindowattached_p.cpp" diff --git a/src/quick/items/qquickwindowmodule.cpp b/src/quick/items/qquickwindowmodule.cpp index 6211b7802f..a7f45534c4 100644 --- a/src/quick/items/qquickwindowmodule.cpp +++ b/src/quick/items/qquickwindowmodule.cpp @@ -200,8 +200,11 @@ void QQuickWindowModule::defineModule() qmlRegisterUncreatableType<QQuickScreen>(uri, 2, 0, "Screen", QStringLiteral("Screen can only be used via the attached property.")); qmlRegisterUncreatableType<QQuickScreen,1>(uri, 2, 3, "Screen", QStringLiteral("Screen can only be used via the attached property.")); qmlRegisterUncreatableType<QQuickScreenInfo,2>(uri, 2, 3, "ScreenInfo", QStringLiteral("ScreenInfo can only be used via the attached property.")); + qmlRegisterUncreatableType<QQuickScreenInfo,10>(uri, 2, 10, "ScreenInfo", QStringLiteral("ScreenInfo can only be used via the attached property.")); } QT_END_NAMESPACE QML_DECLARE_TYPEINFO(QQuickWindowQmlImpl, QML_HAS_ATTACHED_PROPERTIES) + +#include "moc_qquickwindowmodule_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp index d71b0c3e2a..aa850a80db 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp @@ -222,3 +222,5 @@ void *QSGSoftwareContext::getResource(QQuickWindow *window, Resource resource) c } QT_END_NAMESPACE + +#include "moc_qsgsoftwarecontext_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarelayer.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarelayer.cpp index 7020283898..2954f591ad 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarelayer.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarelayer.cpp @@ -259,3 +259,5 @@ void QSGSoftwareLayer::grab() } QT_END_NAMESPACE + +#include "moc_qsgsoftwarelayer_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarepixmaptexture.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarepixmaptexture.cpp index 534a0a4ec6..16e3a111ae 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarepixmaptexture.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarepixmaptexture.cpp @@ -86,3 +86,5 @@ void QSGSoftwarePixmapTexture::bind() } QT_END_NAMESPACE + +#include "moc_qsgsoftwarepixmaptexture_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp index b3b8274a73..962db20cbc 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp @@ -269,3 +269,5 @@ void QSGSoftwareRenderLoop::handleUpdateRequest(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qsgsoftwarerenderloop_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp index 682f89721e..d2186e7cf1 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp @@ -1000,5 +1000,6 @@ void QSGSoftwareThreadedRenderLoop::polishAndSync(QSGSoftwareThreadedRenderLoop: } #include "qsgsoftwarethreadedrenderloop.moc" +#include "moc_qsgsoftwarethreadedrenderloop_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/scenegraph/coreapi/qsgabstractrenderer.cpp b/src/quick/scenegraph/coreapi/qsgabstractrenderer.cpp index eeed986939..3d4ce24716 100644 --- a/src/quick/scenegraph/coreapi/qsgabstractrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgabstractrenderer.cpp @@ -314,3 +314,5 @@ QSGAbstractRenderer::ClearMode QSGAbstractRenderer::clearMode() const */ QT_END_NAMESPACE + +#include "moc_qsgabstractrenderer.cpp" diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index 14f8514289..b8ebeaca63 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -299,7 +299,7 @@ void Updater::updateStates(QSGNode *n) qDebug() << " - transforms have changed"; if (sn->dirtyState & (QSGNode::DirtyOpacity << 16)) qDebug() << " - opacity has changed"; - if (sn->dirtyState & (QSGNode::DirtyForceUpdate << 16)) + if (uint(sn->dirtyState) & uint(QSGNode::DirtyForceUpdate << 16)) qDebug() << " - forceupdate"; } @@ -2029,6 +2029,15 @@ Renderer::ClipType Renderer::updateStencilClip(const QSGClipNode *clip) GLuint vbo = 0; int vboSize = 0; + bool useVBO = false; + QOpenGLContext *ctx = QOpenGLContext::currentContext(); + QSurfaceFormat::OpenGLContextProfile profile = ctx->format().profile(); + + if (!ctx->isOpenGLES() && profile == QSurfaceFormat::CoreProfile) { + // VBO are more expensive, so only use them if we must. + useVBO = true; + } + glDisable(GL_SCISSOR_TEST); m_currentStencilValue = 0; @@ -2113,20 +2122,27 @@ Renderer::ClipType Renderer::updateStencilClip(const QSGClipNode *clip) Q_ASSERT(g->attributeCount() > 0); const QSGGeometry::Attribute *a = g->attributes(); - if (!vbo) - glGenBuffers(1, &vbo); + const GLvoid *pointer; + if (!useVBO) { + pointer = g->vertexData(); + } else { + if (!vbo) + glGenBuffers(1, &vbo); - glBindBuffer(GL_ARRAY_BUFFER, vbo); + glBindBuffer(GL_ARRAY_BUFFER, vbo); - const int vertexByteSize = g->sizeOfVertex() * g->vertexCount(); - if (vboSize < vertexByteSize) { - vboSize = vertexByteSize; - glBufferData(GL_ARRAY_BUFFER, vertexByteSize, g->vertexData(), GL_STATIC_DRAW); - } else { - glBufferSubData(GL_ARRAY_BUFFER, 0, vertexByteSize, g->vertexData()); + const int vertexByteSize = g->sizeOfVertex() * g->vertexCount(); + if (vboSize < vertexByteSize) { + vboSize = vertexByteSize; + glBufferData(GL_ARRAY_BUFFER, vertexByteSize, g->vertexData(), GL_STATIC_DRAW); + } else { + glBufferSubData(GL_ARRAY_BUFFER, 0, vertexByteSize, g->vertexData()); + } + + pointer = 0; } - glVertexAttribPointer(0, a->tupleSize, a->type, GL_FALSE, g->sizeOfVertex(), 0); + glVertexAttribPointer(0, a->tupleSize, a->type, GL_FALSE, g->sizeOfVertex(), pointer); m_clipProgram.setUniformValue(m_clipMatrixId, m); if (g->indexCount()) { @@ -2135,7 +2151,8 @@ Renderer::ClipType Renderer::updateStencilClip(const QSGClipNode *clip) glDrawArrays(g->drawingMode(), 0, g->vertexCount()); } - glBindBuffer(GL_ARRAY_BUFFER, 0); + if (useVBO) + glBindBuffer(GL_ARRAY_BUFFER, 0); ++m_currentStencilValue; } @@ -3204,3 +3221,5 @@ void Renderer::visualize() QT_END_NAMESPACE } + +#include "moc_qsgbatchrenderer_p.cpp" diff --git a/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp b/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp index 2b70139b37..1fdc1720f7 100644 --- a/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp +++ b/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp @@ -38,6 +38,7 @@ ****************************************************************************/ #include <QtCore/QByteArray> +#include <QtCore/QString> #include <QtGui/QSurfaceFormat> // Duct Tape tokenizer for the purpose of parsing and rewriting diff --git a/src/quick/scenegraph/qsgadaptationlayer.cpp b/src/quick/scenegraph/qsgadaptationlayer.cpp index f90706affe..c64360f955 100644 --- a/src/quick/scenegraph/qsgadaptationlayer.cpp +++ b/src/quick/scenegraph/qsgadaptationlayer.cpp @@ -567,3 +567,5 @@ QDebug operator<<(QDebug debug, const QSGShaderEffectNode::VariableData &vd) #endif QT_END_NAMESPACE + +#include "moc_qsgadaptationlayer_p.cpp" diff --git a/src/quick/scenegraph/qsgcontext.cpp b/src/quick/scenegraph/qsgcontext.cpp index ff2379ecb5..d460794573 100644 --- a/src/quick/scenegraph/qsgcontext.cpp +++ b/src/quick/scenegraph/qsgcontext.cpp @@ -228,14 +228,6 @@ public: int m_good; }; -class QSGTextureCleanupEvent : public QEvent -{ -public: - QSGTextureCleanupEvent(QSGTexture *t) : QEvent(QEvent::User), texture(t) { } - ~QSGTextureCleanupEvent() { delete texture; } - QSGTexture *texture; -}; - /*! \class QSGContext @@ -413,5 +405,6 @@ void QSGRenderContext::textureFactoryDestroyed(QObject *o) } #include "qsgcontext.moc" +#include "moc_qsgcontext_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/scenegraph/qsgcontext_p.h b/src/quick/scenegraph/qsgcontext_p.h index bd10453131..6ff8f4a76e 100644 --- a/src/quick/scenegraph/qsgcontext_p.h +++ b/src/quick/scenegraph/qsgcontext_p.h @@ -144,6 +144,7 @@ public: static QSGRenderLoop *createWindowManager(); static void setBackend(const QString &backend); + static QString backend(); }; class Q_QUICK_PRIVATE_EXPORT QSGRenderContext : public QObject diff --git a/src/quick/scenegraph/qsgcontextplugin.cpp b/src/quick/scenegraph/qsgcontextplugin.cpp index 635308c38a..b8b5141957 100644 --- a/src/quick/scenegraph/qsgcontextplugin.cpp +++ b/src/quick/scenegraph/qsgcontextplugin.cpp @@ -232,4 +232,15 @@ void QSGContext::setBackend(const QString &backend) backendData->quickWindowBackendRequest = backend; } +QString QSGContext::backend() +{ + QSGAdaptationBackendData *backendData = qsg_adaptation_data(); + if (backendData->tried) + return backendData->name; + + return backendData->quickWindowBackendRequest; +} + QT_END_NAMESPACE + +#include "moc_qsgcontextplugin_p.cpp" diff --git a/src/quick/scenegraph/qsgdefaultlayer.cpp b/src/quick/scenegraph/qsgdefaultlayer.cpp index 6fa9dd6359..86d74acf54 100644 --- a/src/quick/scenegraph/qsgdefaultlayer.cpp +++ b/src/quick/scenegraph/qsgdefaultlayer.cpp @@ -472,3 +472,5 @@ QRectF QSGDefaultLayer::normalizedTextureSubRect() const m_mirrorHorizontal ? -1 : 1, m_mirrorVertical ? 1 : -1); } + +#include "moc_qsgdefaultlayer_p.cpp" diff --git a/src/quick/scenegraph/qsgdefaultrendercontext.cpp b/src/quick/scenegraph/qsgdefaultrendercontext.cpp index db0eea15df..29600ef0ca 100644 --- a/src/quick/scenegraph/qsgdefaultrendercontext.cpp +++ b/src/quick/scenegraph/qsgdefaultrendercontext.cpp @@ -301,3 +301,5 @@ QSGDistanceFieldGlyphCache *QSGDefaultRenderContext::distanceFieldGlyphCache(con return cache; } + +#include "moc_qsgdefaultrendercontext_p.cpp" diff --git a/src/quick/scenegraph/qsgrenderloop.cpp b/src/quick/scenegraph/qsgrenderloop.cpp index 293a706c2e..c11b698a03 100644 --- a/src/quick/scenegraph/qsgrenderloop.cpp +++ b/src/quick/scenegraph/qsgrenderloop.cpp @@ -501,5 +501,6 @@ void QSGGuiThreadRenderLoop::handleUpdateRequest(QQuickWindow *window) #endif #include "qsgrenderloop.moc" +#include "moc_qsgrenderloop_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp index 560fddd580..7d77e52b5f 100644 --- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp +++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp @@ -1309,5 +1309,6 @@ void QSGThreadedRenderLoop::postJob(QQuickWindow *window, QRunnable *job) } #include "qsgthreadedrenderloop.moc" +#include "moc_qsgthreadedrenderloop_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/scenegraph/qsgwindowsrenderloop.cpp b/src/quick/scenegraph/qsgwindowsrenderloop.cpp index eff6763a16..e16f7ea966 100644 --- a/src/quick/scenegraph/qsgwindowsrenderloop.cpp +++ b/src/quick/scenegraph/qsgwindowsrenderloop.cpp @@ -494,3 +494,5 @@ void QSGWindowsRenderLoop::renderWindow(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qsgwindowsrenderloop_p.cpp" diff --git a/src/quick/scenegraph/util/qsgatlastexture.cpp b/src/quick/scenegraph/util/qsgatlastexture.cpp index c864ea9496..22f0b13f46 100644 --- a/src/quick/scenegraph/util/qsgatlastexture.cpp +++ b/src/quick/scenegraph/util/qsgatlastexture.cpp @@ -140,7 +140,7 @@ Atlas::Atlas(const QSize &size) if (QOpenGLContext::currentContext()->isOpenGLES()) { #endif -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) QString *deviceName = static_cast<QString *>(QGuiApplication::platformNativeInterface()->nativeResourceForIntegration("AndroidDeviceName")); static bool wrongfullyReportsBgra8888Support = deviceName != 0 @@ -533,3 +533,5 @@ QSGTexture *Texture::removedFromAtlas() const } QT_END_NAMESPACE + +#include "moc_qsgatlastexture_p.cpp" diff --git a/src/quick/scenegraph/util/qsgengine.cpp b/src/quick/scenegraph/util/qsgengine.cpp index 259e45c978..dffe199224 100644 --- a/src/quick/scenegraph/util/qsgengine.cpp +++ b/src/quick/scenegraph/util/qsgengine.cpp @@ -265,3 +265,5 @@ QSGNinePatchNode *QSGEngine::createNinePatchNode() const } QT_END_NAMESPACE + +#include "moc_qsgengine.cpp" diff --git a/src/quick/scenegraph/util/qsgtexture.cpp b/src/quick/scenegraph/util/qsgtexture.cpp index 3432a87c53..4f11d95e70 100644 --- a/src/quick/scenegraph/util/qsgtexture.cpp +++ b/src/quick/scenegraph/util/qsgtexture.cpp @@ -811,7 +811,7 @@ void QSGPlainTexture::bind() GLenum externalFormat = GL_RGBA; GLenum internalFormat = GL_RGBA; -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) QString *deviceName = static_cast<QString *>(QGuiApplication::platformNativeInterface()->nativeResourceForIntegration("AndroidDeviceName")); static bool wrongfullyReportsBgra8888Support = deviceName != 0 @@ -918,3 +918,6 @@ void QSGPlainTexture::bind() QT_END_NAMESPACE + +#include "moc_qsgtexture.cpp" +#include "moc_qsgtexture_p.cpp" diff --git a/src/quick/scenegraph/util/qsgtextureprovider.cpp b/src/quick/scenegraph/util/qsgtextureprovider.cpp index 2f6a789222..d67d9cfdbc 100644 --- a/src/quick/scenegraph/util/qsgtextureprovider.cpp +++ b/src/quick/scenegraph/util/qsgtextureprovider.cpp @@ -62,3 +62,5 @@ QT_BEGIN_NAMESPACE */ QT_END_NAMESPACE + +#include "moc_qsgtextureprovider.cpp" diff --git a/src/quick/util/qquickanimation.cpp b/src/quick/util/qquickanimation.cpp index 1a2441171d..bfac46adb9 100644 --- a/src/quick/util/qquickanimation.cpp +++ b/src/quick/util/qquickanimation.cpp @@ -2718,3 +2718,5 @@ QQuickAnimationPropertyUpdater::~QQuickAnimationPropertyUpdater() } QT_END_NAMESPACE + +#include "moc_qquickanimation_p.cpp" diff --git a/src/quick/util/qquickanimationcontroller.cpp b/src/quick/util/qquickanimationcontroller.cpp index fa1ade50d1..cebb0391ae 100644 --- a/src/quick/util/qquickanimationcontroller.cpp +++ b/src/quick/util/qquickanimationcontroller.cpp @@ -297,3 +297,4 @@ void QQuickAnimationController::completeToEnd() QT_END_NAMESPACE +#include "moc_qquickanimationcontroller_p.cpp" diff --git a/src/quick/util/qquickanimator.cpp b/src/quick/util/qquickanimator.cpp index c3b5865369..5608326f8a 100644 --- a/src/quick/util/qquickanimator.cpp +++ b/src/quick/util/qquickanimator.cpp @@ -585,3 +585,5 @@ QQuickAnimatorJob *QQuickUniformAnimator::createJob() const #endif QT_END_NAMESPACE + +#include "moc_qquickanimator_p.cpp" diff --git a/src/quick/util/qquickanimatorcontroller.cpp b/src/quick/util/qquickanimatorcontroller.cpp index 2f96c511c0..3f7347c01d 100644 --- a/src/quick/util/qquickanimatorcontroller.cpp +++ b/src/quick/util/qquickanimatorcontroller.cpp @@ -219,3 +219,5 @@ void QQuickAnimatorController::cancel(const QSharedPointer<QAbstractAnimationJob QT_END_NAMESPACE + +#include "moc_qquickanimatorcontroller_p.cpp" diff --git a/src/quick/util/qquickanimatorjob.cpp b/src/quick/util/qquickanimatorjob.cpp index 9c9261c101..a7950e2b33 100644 --- a/src/quick/util/qquickanimatorjob.cpp +++ b/src/quick/util/qquickanimatorjob.cpp @@ -683,3 +683,5 @@ void QQuickUniformAnimatorJob::writeBack() #endif QT_END_NAMESPACE + +#include "moc_qquickanimatorjob_p.cpp" diff --git a/src/quick/util/qquickapplication.cpp b/src/quick/util/qquickapplication.cpp index 5c89275c5a..e0d032b074 100644 --- a/src/quick/util/qquickapplication.cpp +++ b/src/quick/util/qquickapplication.cpp @@ -140,3 +140,5 @@ void QQuickApplication::updateScreens() } QT_END_NAMESPACE + +#include "moc_qquickapplication_p.cpp" diff --git a/src/quick/util/qquickbehavior.cpp b/src/quick/util/qquickbehavior.cpp index 1b2d9afb7c..a562ebd937 100644 --- a/src/quick/util/qquickbehavior.cpp +++ b/src/quick/util/qquickbehavior.cpp @@ -258,3 +258,5 @@ void QQuickBehavior::componentFinalized() } QT_END_NAMESPACE + +#include "moc_qquickbehavior_p.cpp" diff --git a/src/quick/util/qquickfontloader.cpp b/src/quick/util/qquickfontloader.cpp index 21e8eda365..68e27c25fd 100644 --- a/src/quick/util/qquickfontloader.cpp +++ b/src/quick/util/qquickfontloader.cpp @@ -397,3 +397,5 @@ QQuickFontLoader::Status QQuickFontLoader::status() const QT_END_NAMESPACE #include <qquickfontloader.moc> + +#include "moc_qquickfontloader_p.cpp" diff --git a/src/quick/util/qquickfontmetrics.cpp b/src/quick/util/qquickfontmetrics.cpp index 4609e638c2..8c44150486 100644 --- a/src/quick/util/qquickfontmetrics.cpp +++ b/src/quick/util/qquickfontmetrics.cpp @@ -346,3 +346,5 @@ QString QQuickFontMetrics::elidedText(const QString &text, Qt::TextElideMode mod } QT_END_NAMESPACE + +#include "moc_qquickfontmetrics_p.cpp" diff --git a/src/quick/util/qquickimageprovider.cpp b/src/quick/util/qquickimageprovider.cpp index c4a98c69f9..b4a6b9e1f6 100644 --- a/src/quick/util/qquickimageprovider.cpp +++ b/src/quick/util/qquickimageprovider.cpp @@ -715,3 +715,4 @@ QQuickImageProviderWithOptions *QQuickImageProviderWithOptions::checkedCast(QQui QT_END_NAMESPACE +#include "moc_qquickimageprovider.cpp" diff --git a/src/quick/util/qquickpath.cpp b/src/quick/util/qquickpath.cpp index afcbc4cc0a..84441e308f 100644 --- a/src/quick/util/qquickpath.cpp +++ b/src/quick/util/qquickpath.cpp @@ -2059,3 +2059,5 @@ void QQuickPathPercent::setValue(qreal value) } } QT_END_NAMESPACE + +#include "moc_qquickpath_p.cpp" diff --git a/src/quick/util/qquickpathinterpolator.cpp b/src/quick/util/qquickpathinterpolator.cpp index adc166dd8a..838213042e 100644 --- a/src/quick/util/qquickpathinterpolator.cpp +++ b/src/quick/util/qquickpathinterpolator.cpp @@ -169,3 +169,5 @@ void QQuickPathInterpolator::_q_pathUpdated() } QT_END_NAMESPACE + +#include "moc_qquickpathinterpolator_p.cpp" diff --git a/src/quick/util/qquickpixmapcache.cpp b/src/quick/util/qquickpixmapcache.cpp index 7d88935402..8df1a892e4 100644 --- a/src/quick/util/qquickpixmapcache.cpp +++ b/src/quick/util/qquickpixmapcache.cpp @@ -1573,3 +1573,5 @@ bool QQuickPixmap::connectDownloadProgress(QObject *object, int method) QT_END_NAMESPACE #include <qquickpixmapcache.moc> + +#include "moc_qquickpixmapcache_p.cpp" diff --git a/src/quick/util/qquickprofiler.cpp b/src/quick/util/qquickprofiler.cpp index 841a1c9bcf..402cd44ff0 100644 --- a/src/quick/util/qquickprofiler.cpp +++ b/src/quick/util/qquickprofiler.cpp @@ -79,6 +79,7 @@ public: }; #include "qquickprofiler.moc" +#include "moc_qquickprofiler_p.cpp" QQuickProfiler::QQuickProfiler(QObject *parent) : QObject(parent) { diff --git a/src/quick/util/qquickpropertychanges.cpp b/src/quick/util/qquickpropertychanges.cpp index 20aa52e472..8d76bd986f 100644 --- a/src/quick/util/qquickpropertychanges.cpp +++ b/src/quick/util/qquickpropertychanges.cpp @@ -785,3 +785,5 @@ void QQuickPropertyChanges::attachToState() } QT_END_NAMESPACE + +#include "moc_qquickpropertychanges_p.cpp" diff --git a/src/quick/util/qquickshortcut.cpp b/src/quick/util/qquickshortcut.cpp index 72d9c889e3..2fe4962b1a 100644 --- a/src/quick/util/qquickshortcut.cpp +++ b/src/quick/util/qquickshortcut.cpp @@ -416,3 +416,5 @@ void QQuickShortcut::ungrabShortcut(Shortcut &shortcut) } QT_END_NAMESPACE + +#include "moc_qquickshortcut_p.cpp" diff --git a/src/quick/util/qquicksmoothedanimation.cpp b/src/quick/util/qquicksmoothedanimation.cpp index e7beee8ed3..607f39768b 100644 --- a/src/quick/util/qquicksmoothedanimation.cpp +++ b/src/quick/util/qquicksmoothedanimation.cpp @@ -568,3 +568,5 @@ void QQuickSmoothedAnimation::setMaximumEasingTime(int v) } QT_END_NAMESPACE + +#include "moc_qquicksmoothedanimation_p.cpp" diff --git a/src/quick/util/qquickspringanimation.cpp b/src/quick/util/qquickspringanimation.cpp index a9940959a0..bf844589ba 100644 --- a/src/quick/util/qquickspringanimation.cpp +++ b/src/quick/util/qquickspringanimation.cpp @@ -597,3 +597,5 @@ QAbstractAnimationJob* QQuickSpringAnimation::transition(QQuickStateActions &act } QT_END_NAMESPACE + +#include "moc_qquickspringanimation_p.cpp" diff --git a/src/quick/util/qquickstate.cpp b/src/quick/util/qquickstate.cpp index 2d3934cce8..0a49d41491 100644 --- a/src/quick/util/qquickstate.cpp +++ b/src/quick/util/qquickstate.cpp @@ -708,3 +708,5 @@ void QQuickStateOperation::setState(QQuickState *state) } QT_END_NAMESPACE + +#include "moc_qquickstate_p.cpp" diff --git a/src/quick/util/qquickstategroup.cpp b/src/quick/util/qquickstategroup.cpp index f2cd4638fc..ebcbbf93ed 100644 --- a/src/quick/util/qquickstategroup.cpp +++ b/src/quick/util/qquickstategroup.cpp @@ -514,3 +514,4 @@ void QQuickStateGroup::stateAboutToComplete() QT_END_NAMESPACE +#include "moc_qquickstategroup_p.cpp" diff --git a/src/quick/util/qquicksystempalette.cpp b/src/quick/util/qquicksystempalette.cpp index 7443c3f577..c5768a5d9f 100644 --- a/src/quick/util/qquicksystempalette.cpp +++ b/src/quick/util/qquicksystempalette.cpp @@ -285,3 +285,5 @@ void QQuickSystemPalette::setColorGroup(QQuickSystemPalette::ColorGroup colorGro } QT_END_NAMESPACE + +#include "moc_qquicksystempalette_p.cpp" diff --git a/src/quick/util/qquicktextmetrics.cpp b/src/quick/util/qquicktextmetrics.cpp index f969a1da42..43945b0f5a 100644 --- a/src/quick/util/qquicktextmetrics.cpp +++ b/src/quick/util/qquicktextmetrics.cpp @@ -265,3 +265,5 @@ QString QQuickTextMetrics::elidedText() const } QT_END_NAMESPACE + +#include "moc_qquicktextmetrics_p.cpp" diff --git a/src/quick/util/qquicktransition.cpp b/src/quick/util/qquicktransition.cpp index 1d258d84bf..29690a4857 100644 --- a/src/quick/util/qquicktransition.cpp +++ b/src/quick/util/qquicktransition.cpp @@ -457,3 +457,5 @@ QQmlListProperty<QQuickAbstractAnimation> QQuickTransition::animations() QT_END_NAMESPACE //#include <qquicktransition.moc> + +#include "moc_qquicktransition_p.cpp" diff --git a/src/quick/util/qquickvalidator.cpp b/src/quick/util/qquickvalidator.cpp index 015a376603..a05117bd06 100644 --- a/src/quick/util/qquickvalidator.cpp +++ b/src/quick/util/qquickvalidator.cpp @@ -225,3 +225,4 @@ void QQuickDoubleValidator::resetLocaleName() QT_END_NAMESPACE +#include "moc_qquickvalidator_p.cpp" diff --git a/src/quick/util/qquickvaluetypes.cpp b/src/quick/util/qquickvaluetypes.cpp index 4afcb07a5c..4d34c6d661 100644 --- a/src/quick/util/qquickvaluetypes.cpp +++ b/src/quick/util/qquickvaluetypes.cpp @@ -758,3 +758,5 @@ void QQuickFontValueType::setHintingPreference(QQuickFontValueType::HintingPrefe } QT_END_NAMESPACE + +#include "moc_qquickvaluetypes_p.cpp" |