From 560b95b77ac18edd0954a9b8ce9b92a828b51176 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Thu, 12 Dec 2013 12:26:13 +0100 Subject: QtQuick Dialogs: don't use native windows on iOS It makes more sense to show the dialogs as items in the scene rather than as undecorated windows. Task-number: QTBUG-35561 Change-Id: I2fb29ed8eeb999b99829a9d5ffc088f401d5d602 Reviewed-by: Liang Qi --- src/imports/dialogs/qquickabstractdialog.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/imports/dialogs/qquickabstractdialog.cpp b/src/imports/dialogs/qquickabstractdialog.cpp index 633e5b7269..9bb2388741 100644 --- a/src/imports/dialogs/qquickabstractdialog.cpp +++ b/src/imports/dialogs/qquickabstractdialog.cpp @@ -62,7 +62,9 @@ QQuickAbstractDialog::QQuickAbstractDialog(QObject *parent) , m_contentItem(0) , m_windowDecoration(0) , m_hasNativeWindows(QGuiApplicationPrivate::platformIntegration()-> - hasCapability(QPlatformIntegration::MultipleWindows)) + hasCapability(QPlatformIntegration::MultipleWindows) && + QGuiApplicationPrivate::platformIntegration()-> + hasCapability(QPlatformIntegration::WindowManagement)) , m_hasAspiredPosition(false) { } -- cgit v1.2.3 From 92da4e43a39bf567bc102b1dd844ee79ff1c0c61 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 28 Nov 2013 21:32:55 -0800 Subject: Delete a disallowed template instantiation the proper way C++11 allows you to do = delete to the declaration. But some version of Clang on Mac doesn't like it. I'm guessing it's a compiler bug in an older version of Clang used in the Qt CI system. I can't reproduce the issue, so no further investigation was done. So just remove the "inline" keyword, which is what ICC 14.0 complains about: MathExtras.h(270): error #864: extern inline function "clampTo(double, T, T) [with T=long long]" was referenced but not defined Change-Id: I3887ccb527b5995ffa7ece612f9c7d5a80e71079 Reviewed-by: Alan Alpert --- src/3rdparty/masm/wtf/MathExtras.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/3rdparty/masm/wtf/MathExtras.h b/src/3rdparty/masm/wtf/MathExtras.h index 600a9c7148..5b12157148 100644 --- a/src/3rdparty/masm/wtf/MathExtras.h +++ b/src/3rdparty/masm/wtf/MathExtras.h @@ -267,7 +267,7 @@ template inline T clampTo(double value, T min = defaultMinimumForCla return min; return static_cast(value); } -template<> inline long long int clampTo(double, long long int, long long int); // clampTo does not support long long ints. +template<> long long int clampTo(double, long long int, long long int); // clampTo does not support long long ints. inline int clampToInteger(double value) { -- cgit v1.2.3 From 2d4719876df240edc740e15f193cec5ff9c55203 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 16 Dec 2013 15:28:53 +0100 Subject: ensure that qmltest users have CONFIG+=console Task-number: QTBUG-35603 Change-Id: Ia337845004290d0e01c391130bbf55ec31e52c9e Reviewed-by: Friedemann Kleint Reviewed-by: Alan Alpert --- src/qmltest/qmltest.pro | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/qmltest/qmltest.pro b/src/qmltest/qmltest.pro index 952ef24922..4b4c06b27e 100644 --- a/src/qmltest/qmltest.pro +++ b/src/qmltest/qmltest.pro @@ -4,6 +4,10 @@ DEFINES += QT_NO_URL_CAST_FROM_STRING QT = core QT_PRIVATE = testlib-private quick qml-private gui core-private +# Testlib is only a private dependency, which results in our users not +# inheriting CONFIG+=console transitively. Make it explicit. +MODULE_CONFIG = console + !contains(QT_CONFIG, no-widgets) { QT += widgets DEFINES += QT_QMLTEST_WITH_WIDGETS -- cgit v1.2.3 From 0697a941321ed6688fd2cb7bd60028c56e0e19b6 Mon Sep 17 00:00:00 2001 From: aavit Date: Tue, 17 Dec 2013 16:11:19 +0100 Subject: Fixes: qml memory corruption on Android Bionic pthreads reports too small stack size for main thread. Change-Id: I3d33229e76101a847309c723d534844ffb2d2042 Reviewed-by: Andy Nichols Reviewed-by: Lars Knoll --- src/qml/jsruntime/qv4engine.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index dc8c0da321..539bc5ddd6 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -76,6 +76,7 @@ #if USE(PTHREADS) # include +# include #endif QT_BEGIN_NAMESPACE @@ -113,6 +114,15 @@ quintptr getStackLimit() pthread_attr_getstack(&attr, &stackBottom, &stackSize); pthread_attr_destroy(&attr); +# if defined(Q_OS_ANDROID) + // Bionic pretends that the main thread has a tiny stack; work around it + if (gettid() == getpid()) { + rlimit limit; + getrlimit(RLIMIT_STACK, &limit); + stackBottom = reinterpret_cast(reinterpret_cast(stackBottom) + stackSize - limit.rlim_cur); + } +# endif + stackLimit = reinterpret_cast(stackBottom); # endif // This is wrong. StackLimit is the currently committed stack size, not the real end. -- cgit v1.2.3 From 93355e50de151cc6153d4ec4152e3a81e14cdc77 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 17 Dec 2013 22:53:42 +0100 Subject: Fix & cleanup whitespace in qquickdrag.cpp docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I85b986c8b3dca6ccc872807a1d2e8b7b71688c0e Reviewed-by: Topi Reiniö --- src/quick/items/qquickdrag.cpp | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/quick/items/qquickdrag.cpp b/src/quick/items/qquickdrag.cpp index ea130968ca..e36bac4f3f 100644 --- a/src/quick/items/qquickdrag.cpp +++ b/src/quick/items/qquickdrag.cpp @@ -507,24 +507,23 @@ void QQuickDragAttached::setProposedAction(Qt::DropAction action) } /*! - \qmlattachedproperty enumeration QtQuick::Drag::dragType - \since 5.2 - - This property indicates whether to automatically start drags, do nothing, or - to use backwards compatible internal drags. The default is to use backwards - compatible internal drags. + \qmlattachedproperty enumeration QtQuick::Drag::dragType + \since 5.2 - A drag can also be started manually using \l startDrag. + This property indicates whether to automatically start drags, do nothing, or + to use backwards compatible internal drags. The default is to use backwards + compatible internal drags. - \list - \li Drag.None - do not start drags automatically - \li Drag.Automatic - start drags automatically - \li Drag.Internal (default) - start backwards compatible drags automatically - \endlist + A drag can also be started manually using \l startDrag. - When using \l Drag.Automatic you should also define \l mimeData and bind the - \active property to the active property of \l MouseArea.drag. + \list + \li Drag.None - do not start drags automatically + \li Drag.Automatic - start drags automatically + \li Drag.Internal (default) - start backwards compatible drags automatically + \endlist + When using \l Drag.Automatic you should also define \l mimeData and bind the + \active property to the active property of \l MouseArea.drag. */ QQuickDrag::DragType QQuickDragAttached::dragType() const @@ -622,7 +621,6 @@ void QQuickDragAttached::start(QQmlV4Function *args) \li Qt.LinkAction Create a link from the source to the target. \li Qt.IgnoreAction Ignore the action (do nothing with the data). \endlist - */ int QQuickDragAttached::drop() @@ -696,17 +694,17 @@ void QQuickDragAttached::cancel() } /*! - \qmlsignal QtQuick::DropArea::onDragStarted() + \qmlsignal QtQuick::DropArea::onDragStarted() - This handler is called when a drag is started with the \l startDrag method - or when it is started automatically using the \l dragType property. + This handler is called when a drag is started with the \l startDrag method + or when it is started automatically using the \l dragType property. */ /*! - \qmlsignal QtQuick::DropArea::onDragFinished(DropAction action) + \qmlsignal QtQuick::DropArea::onDragFinished(DropAction action) - This handler is called when a drag finishes and the drag was started with the - \l startDrag method or started automatically using the \l dragType property. + This handler is called when a drag finishes and the drag was started with the + \l startDrag method or started automatically using the \l dragType property. */ Qt::DropAction QQuickDragAttachedPrivate::startDrag(Qt::DropActions supportedActions) -- cgit v1.2.3 From ccaa64ffd44faedbfe7297680939b40327bc5334 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 17 Dec 2013 23:09:29 +0100 Subject: Docs: fix Drag::onDragStarted() and onDragFinished() signals MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Iefda2d3611ed0f940255f1375ca4c356827fbc70 Reviewed-by: Topi Reiniö --- src/quick/items/qquickdrag.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/quick/items/qquickdrag.cpp b/src/quick/items/qquickdrag.cpp index e36bac4f3f..ed9d1838b8 100644 --- a/src/quick/items/qquickdrag.cpp +++ b/src/quick/items/qquickdrag.cpp @@ -694,14 +694,14 @@ void QQuickDragAttached::cancel() } /*! - \qmlsignal QtQuick::DropArea::onDragStarted() + \qmlattachedsignal QtQuick::Drag::onDragStarted() This handler is called when a drag is started with the \l startDrag method or when it is started automatically using the \l dragType property. */ /*! - \qmlsignal QtQuick::DropArea::onDragFinished(DropAction action) + \qmlattachedsignal QtQuick::Drag::onDragFinished(DropAction action) This handler is called when a drag finishes and the drag was started with the \l startDrag method or started automatically using the \l dragType property. -- cgit v1.2.3 From 854272ecf9f26e77ddd8e3b7015cb8fe278183a5 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Mon, 23 Sep 2013 16:30:40 +1000 Subject: Fix positioning of item when first cacheBuffer item is removed. When items prior to the first visible item are removed from the instantiated items list the first item is moved forward by the size of the item removed so it position remains correct relative to the visible items. But if the removed item is the first instanitated item then it's size shouldn't contribute to the offset as the next instatiated item is already offset by its size. Task-number: QTBUG-33619 Change-Id: I05c33f505e2856afa08cd9cd89d8eae97c20679d Reviewed-by: Alan Alpert --- src/quick/items/qquickitemview.cpp | 7 ++++++- src/quick/items/qquickitemview_p_p.h | 1 + src/quick/items/qquicklistview.cpp | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index d9ff024d9f..d7b984788e 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -2065,7 +2065,7 @@ void QQuickItemViewPrivate::removeItem(FxViewItem *item, const QQmlChangeSet::Re { if (removeResult->visiblePos.isValid()) { if (item->position() < removeResult->visiblePos) - removeResult->sizeChangesBeforeVisiblePos += item->size(); + updateSizeChangesBeforeVisiblePos(item, removeResult); else removeResult->sizeChangesAfterVisiblePos += item->size(); } @@ -2080,6 +2080,11 @@ void QQuickItemViewPrivate::removeItem(FxViewItem *item, const QQmlChangeSet::Re removeResult->changedFirstItem = true; } +void QQuickItemViewPrivate::updateSizeChangesBeforeVisiblePos(FxViewItem *item, ChangeResult *removeResult) +{ + removeResult->sizeChangesBeforeVisiblePos += item->size(); +} + void QQuickItemViewPrivate::repositionFirstItem(FxViewItem *prevVisibleItemsFirst, qreal prevVisibleItemsFirstPos, FxViewItem *prevFirstVisible, diff --git a/src/quick/items/qquickitemview_p_p.h b/src/quick/items/qquickitemview_p_p.h index c528fa3b2c..e0f08fd50f 100644 --- a/src/quick/items/qquickitemview_p_p.h +++ b/src/quick/items/qquickitemview_p_p.h @@ -211,6 +211,7 @@ public: bool applyModelChanges(ChangeResult *insertionResult, ChangeResult *removalResult); bool applyRemovalChange(const QQmlChangeSet::Remove &removal, ChangeResult *changeResult, int *removedCount); void removeItem(FxViewItem *item, const QQmlChangeSet::Remove &removal, ChangeResult *removeResult); + virtual void updateSizeChangesBeforeVisiblePos(FxViewItem *item, ChangeResult *removeResult); void repositionFirstItem(FxViewItem *prevVisibleItemsFirst, qreal prevVisibleItemsFirstPos, FxViewItem *prevFirstVisible, ChangeResult *insertionResult, ChangeResult *removalResult); diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp index 424b5ac385..1b46d79326 100644 --- a/src/quick/items/qquicklistview.cpp +++ b/src/quick/items/qquicklistview.cpp @@ -98,6 +98,7 @@ public: virtual void repositionPackageItemAt(QQuickItem *item, int index); virtual void resetFirstItemPosition(qreal pos = 0.0); virtual void adjustFirstItem(qreal forwards, qreal backwards, int); + virtual void updateSizeChangesBeforeVisiblePos(FxViewItem *item, ChangeResult *removeResult); virtual void createHighlight(); virtual void updateHighlight(); @@ -846,6 +847,12 @@ void QQuickListViewPrivate::adjustFirstItem(qreal forwards, qreal backwards, int static_cast(visibleItems.first())->setPosition(visibleItems.first()->position() + diff); } +void QQuickListViewPrivate::updateSizeChangesBeforeVisiblePos(FxViewItem *item, ChangeResult *removeResult) +{ + if (item != visibleItems.first()) + QQuickItemViewPrivate::updateSizeChangesBeforeVisiblePos(item, removeResult); +} + void QQuickListViewPrivate::createHighlight() { Q_Q(QQuickListView); -- cgit v1.2.3 From 59396165f9efae042c6a5395cfbd3f861d12fbb5 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Fri, 13 Dec 2013 16:10:58 +1000 Subject: Fix deadlock when QQmlEngine is destroyed during compilation. Before blocking to wait for the thread to finish ensure the thread itself is not waiting for the main thread to complete some action otherwise both threads will be waiting on the same wait condition that neither is able to wake. Likewise ensure the shutdown action is processed if the last scheduled event is currently being processed. Task-number: QTBUG-35581 Change-Id: I483fc56d0d398493f9fa907f3ab203439bfb9221 Reviewed-by: Robin Burchell Reviewed-by: Lars Knoll --- src/qml/qml/ftw/qqmlthread.cpp | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/qml/qml/ftw/qqmlthread.cpp b/src/qml/qml/ftw/qqmlthread.cpp index 3accb9dce5..1ea3f25405 100644 --- a/src/qml/qml/ftw/qqmlthread.cpp +++ b/src/qml/qml/ftw/qqmlthread.cpp @@ -179,15 +179,17 @@ void QQmlThreadPrivate::threadEvent() { lock(); - if (m_shutdown) { - quit(); - wakeOne(); - unlock(); - q->shutdownThread(); - } else { - m_threadProcessing = true; + for (;;) { + if (m_shutdown) { + quit(); + wakeOne(); + unlock(); + q->shutdownThread(); + + return; + } else if (!threadList.isEmpty()) { + m_threadProcessing = true; - while (!threadList.isEmpty()) { QQmlThread::Message *message = threadList.first(); unlock(); @@ -197,13 +199,15 @@ void QQmlThreadPrivate::threadEvent() lock(); delete threadList.takeFirst(); - } + } else { + wakeOne(); - wakeOne(); + m_threadProcessing = false; - m_threadProcessing = false; + unlock(); - unlock(); + return; + } } } @@ -228,8 +232,11 @@ void QQmlThread::shutdown() d->lock(); Q_ASSERT(!d->m_shutdown); d->m_shutdown = true; - if (d->threadList.isEmpty() && d->m_threadProcessing == false) + if (d->threadList.isEmpty() && d->m_threadProcessing == false) { d->triggerThreadEvent(); + } else if (d->mainSync) { + d->wakeOne(); + } d->wait(); d->unlock(); d->QThread::wait(); @@ -333,8 +340,14 @@ void QQmlThread::internalCallMethodInMain(Message *message) d->triggerMainEvent(); } - while (d->mainSync && !d->m_shutdown) + while (d->mainSync) { + if (d->m_shutdown) { + delete d->mainSync; + d->mainSync = 0; + break; + } d->wait(); + } d->unlock(); } -- cgit v1.2.3 From 61d982d601fa563fa53f527b8db4aceab5b47b2b Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 16 Dec 2013 14:38:45 +0100 Subject: V4 SSA: add some more literature references. Also fixed some comments. Change-Id: I4aedff84bdbf8de248025bc48805a859704bdd8a Reviewed-by: Lars Knoll --- src/qml/compiler/qv4ssa.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/qml/compiler/qv4ssa.cpp b/src/qml/compiler/qv4ssa.cpp index b3eb6835df..eccdfff623 100644 --- a/src/qml/compiler/qv4ssa.cpp +++ b/src/qml/compiler/qv4ssa.cpp @@ -2330,7 +2330,7 @@ void splitCriticalEdges(Function *f) // (see for example section 4 (Lifetime Analysis) of [Wimmer1]). This algorithm makes sure that the // blocks of a group are scheduled together, with no non-loop blocks in between. This applies // recursively for nested loops. It also schedules groups of if-then-else-endif blocks together for -// the smae reason. +// the same reason. class BlockScheduler { Function *function; @@ -2357,15 +2357,15 @@ class BlockScheduler if (emitted.alreadyProcessed(in)) continue; - // this is a loop, where there in -> candidate edge is the jump back to the top of the loop. if (dominatorTree.dominates(candidate, in)) + // this is a loop, where there in -> candidate edge is the jump back to the top of the loop. continue; return false; // an incoming edge that is not yet emitted, and is not a back-edge } - // postpone everything, and schedule the loop first. if (candidate->isGroupStart()) { + // postpone everything, and schedule the loop first. postponedGroups.push(currentGroup); currentGroup = WorkForGroup(candidate); } @@ -2389,6 +2389,7 @@ class BlockScheduler return next; } + Q_UNREACHABLE(); return 0; } @@ -3476,11 +3477,11 @@ void Optimizer::run(QQmlEnginePrivate *qmlEngine) // block scheduling, so remove those now. // qout << "Cleaning up unreachable basic blocks..." << endl; cleanupBasicBlocks(function, false); - showMeTheCode(function); +// showMeTheCode(function); // qout << "Doing block scheduling..." << endl; startEndLoops = BlockScheduler(function, df).go(); - showMeTheCode(function); +// showMeTheCode(function); #ifndef QT_NO_DEBUG checkCriticalEdges(function->basicBlocks); @@ -3750,3 +3751,10 @@ MoveMapping::Action MoveMapping::schedule(const Move &m, QList &todo, QLis // References: // [Wimmer1] C. Wimmer and M. Franz. Linear Scan Register Allocation on SSA Form. In Proceedings of // CGO’10, ACM Press, 2010 +// [Wimmer2] C. Wimmer and H. Mossenbock. Optimized Interval Splitting in a Linear Scan Register +// Allocator. In Proceedings of the ACM/USENIX International Conference on Virtual +// Execution Environments, pages 132–141. ACM Press, 2005. +// [Briggs] P. Briggs, K.D. Cooper, T.J. Harvey, and L.T. Simpson. Practical Improvements to the +// Construction and Destruction of Static Single Assignment Form. +// [Appel] A.W. Appel. Modern Compiler Implementation in Java. Second edition, Cambridge +// University Press. -- cgit v1.2.3 From 7fadba702cd13685a2a6e493452ab392c9a7373c Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 31 Oct 2013 13:38:23 +0100 Subject: remove obsolete workarounds for qmake processing order problems Change-Id: I4b58eee6243c92f67bdd9c8f9da36ef82a489c12 Reviewed-by: Alan Alpert --- src/particles/particles.pro | 17 ----------------- src/quick/quick.pro | 14 -------------- 2 files changed, 31 deletions(-) (limited to 'src') diff --git a/src/particles/particles.pro b/src/particles/particles.pro index 71be71ae25..a57ac6772f 100644 --- a/src/particles/particles.pro +++ b/src/particles/particles.pro @@ -17,20 +17,3 @@ MODULE = quickparticles load(qt_module) include(particles.pri) - -mac { - # FIXME: this is a workaround for broken qmake logic in qtAddModule() - # This function refuses to use frameworks unless the framework exists on - # the filesystem at the time qmake is run, resulting in a build failure - # if QtQuick is qmaked before QtQml is built and frameworks are - # in use. qtAddLibrary() contains correct logic to deal with this, so - # we'll explicitly call that for now. - load(qt) - LIBS -= -lQtQml # in non-framework builds, these should be re-added - LIBS -= -lQtQml_debug # within the qtAddLibrary if appropriate, so no - qtAddLibrary(QtQml) # harm done :) - LIBS -= -lQtQuick - LIBS -= -lQtQuick_debug - qtAddLibrary(QtQuick) -} - diff --git a/src/quick/quick.pro b/src/quick/quick.pro index 7c540591ab..5b564f7441 100644 --- a/src/quick/quick.pro +++ b/src/quick/quick.pro @@ -40,17 +40,3 @@ SOURCES += qtquick2.cpp # To make #include "qquickcontext2d_jsclass.cpp" work INCLUDEPATH += $$PWD - -mac { - # FIXME: this is a workaround for broken qmake logic in qtAddModule() - # This function refuses to use frameworks unless the framework exists on - # the filesystem at the time qmake is run, resulting in a build failure - # if QtQuick is qmaked before QtQml is built and frameworks are - # in use. qtAddLibrary() contains correct logic to deal with this, so - # we'll explicitly call that for now. - load(qt) - LIBS -= -lQtQml # in non-framework builds, these should be re-added - LIBS -= -lQtQml_debug # within the qtAddLibrary if appropriate, so no - qtAddLibrary(QtQml) # harm done :) -} - -- cgit v1.2.3 From 195e371262ca8cf02e20258bc12f0109c652a441 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 31 Oct 2013 13:38:33 +0100 Subject: use private linkage where possible Change-Id: I1f51b7d043f49f2f2849eb370ac71366cbaa6da5 Reviewed-by: Alan Alpert --- src/particles/particles.pro | 2 +- src/qml/qml.pro | 2 +- src/quick/quick.pro | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/particles/particles.pro b/src/particles/particles.pro index a57ac6772f..ba65ee3002 100644 --- a/src/particles/particles.pro +++ b/src/particles/particles.pro @@ -10,7 +10,7 @@ solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2 exists("qqml_enable_gcov") { QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage -fno-elide-constructors - LIBS += -lgcov + LIBS_PRIVATE += -lgcov } MODULE = quickparticles diff --git a/src/qml/qml.pro b/src/qml/qml.pro index b0ea93e9fb..d060b2d8c8 100644 --- a/src/qml/qml.pro +++ b/src/qml/qml.pro @@ -13,7 +13,7 @@ MODULE_PLUGIN_TYPES = \ exists("qqml_enable_gcov") { QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage -fno-elide-constructors - LIBS += -lgcov + LIBS_PRIVATE += -lgcov } QMAKE_DOCS = $$PWD/doc/qtqml.qdocconf diff --git a/src/quick/quick.pro b/src/quick/quick.pro index 5b564f7441..5168ec2c24 100644 --- a/src/quick/quick.pro +++ b/src/quick/quick.pro @@ -9,7 +9,7 @@ solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2 exists("qqml_enable_gcov") { QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage -fno-elide-constructors - LIBS += -lgcov + LIBS_PRIVATE += -lgcov } QMAKE_DOCS = $$PWD/doc/qtquick.qdocconf -- cgit v1.2.3 From ae59cb90ce61f2989431b4fd6739fb49bca950ed Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 18 Dec 2013 17:45:52 +0100 Subject: QtQuick docs: add missing \qmlpropertygroup commands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "warning: No QML property group command found; using..." Change-Id: Iafbdbc09cbd76bf81a5baf3a5a4fab843778b5cb Reviewed-by: Topi Reiniö --- src/quick/items/qquickborderimage.cpp | 1 + src/quick/items/qquickdroparea.cpp | 1 + src/quick/items/qquickflickable.cpp | 1 + src/quick/items/qquickitem.cpp | 2 ++ src/quick/items/qquickitemanimation.cpp | 2 ++ src/quick/items/qquicklistview.cpp | 1 + src/quick/items/qquickmousearea.cpp | 1 + src/quick/items/qquickpincharea.cpp | 1 + src/quick/items/qquickrectangle.cpp | 1 + src/quick/items/qquickstateoperations.cpp | 1 + src/quick/items/qquicktranslate.cpp | 3 +++ src/quick/util/qquickanimation.cpp | 1 + 12 files changed, 16 insertions(+) (limited to 'src') diff --git a/src/quick/items/qquickborderimage.cpp b/src/quick/items/qquickborderimage.cpp index 0bed5e96a2..8ecf473d85 100644 --- a/src/quick/items/qquickborderimage.cpp +++ b/src/quick/items/qquickborderimage.cpp @@ -350,6 +350,7 @@ void QQuickBorderImage::load() } /*! + \qmlpropertygroup QtQuick::BorderImage::border \qmlproperty int QtQuick::BorderImage::border.left \qmlproperty int QtQuick::BorderImage::border.right \qmlproperty int QtQuick::BorderImage::border.top diff --git a/src/quick/items/qquickdroparea.cpp b/src/quick/items/qquickdroparea.cpp index 405e8f8c90..01166ab121 100644 --- a/src/quick/items/qquickdroparea.cpp +++ b/src/quick/items/qquickdroparea.cpp @@ -193,6 +193,7 @@ QObject *QQuickDropAreaDrag::source() const } /*! + \qmlpropertygroup QtQuick::DropArea::drag \qmlproperty qreal QtQuick::DropArea::drag.x \qmlproperty qreal QtQuick::DropArea::drag.y diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp index fa18d4aa30..3b592004c9 100644 --- a/src/quick/items/qquickflickable.cpp +++ b/src/quick/items/qquickflickable.cpp @@ -646,6 +646,7 @@ is finished. */ /*! + \qmlpropertygroup QtQuick::Flickable::visibleArea \qmlproperty real QtQuick::Flickable::visibleArea.xPosition \qmlproperty real QtQuick::Flickable::visibleArea.widthRatio \qmlproperty real QtQuick::Flickable::visibleArea.yPosition diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index f565fba1bb..9ac660d2ac 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -3050,6 +3050,7 @@ void QQuickItemPrivate::_q_resourceObjectDeleted(QObject *object) } /*! + \qmlpropertygroup QtQuick::Item::anchors \qmlproperty AnchorLine QtQuick::Item::anchors.top \qmlproperty AnchorLine QtQuick::Item::anchors.bottom \qmlproperty AnchorLine QtQuick::Item::anchors.left @@ -3173,6 +3174,7 @@ QQmlListProperty QQuickItemPrivate::data() } /*! + \qmlpropertygroup QtQuick::Item::childrenRect \qmlproperty real QtQuick::Item::childrenRect.x \qmlproperty real QtQuick::Item::childrenRect.y \qmlproperty real QtQuick::Item::childrenRect.width diff --git a/src/quick/items/qquickitemanimation.cpp b/src/quick/items/qquickitemanimation.cpp index b840ee421c..1d1ea97925 100644 --- a/src/quick/items/qquickitemanimation.cpp +++ b/src/quick/items/qquickitemanimation.cpp @@ -486,6 +486,7 @@ void QQuickAnchorAnimation::setDuration(int duration) } /*! + \qmlpropertygroup QtQuick::AnchorAnimation::easing \qmlproperty enumeration QtQuick::AnchorAnimation::easing.type \qmlproperty real QtQuick::AnchorAnimation::easing.amplitude \qmlproperty real QtQuick::AnchorAnimation::easing.overshoot @@ -622,6 +623,7 @@ void QQuickPathAnimation::setDuration(int duration) } /*! + \qmlpropertygroup QtQuick::PathAnimation::easing \qmlproperty enumeration QtQuick::PathAnimation::easing.type \qmlproperty real QtQuick::PathAnimation::easing.amplitude \qmlproperty list QtQuick::PathAnimation::easing.bezierCurve diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp index 1b46d79326..77cdbceb8f 100644 --- a/src/quick/items/qquicklistview.cpp +++ b/src/quick/items/qquicklistview.cpp @@ -2149,6 +2149,7 @@ void QQuickListView::setOrientation(QQuickListView::Orientation orientation) /*! + \qmlpropertygroup QtQuick::ListView::section \qmlproperty string QtQuick::ListView::section.property \qmlproperty enumeration QtQuick::ListView::section.criteria \qmlproperty Component QtQuick::ListView::section.delegate diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp index 2467d7252a..7a4b359d91 100644 --- a/src/quick/items/qquickmousearea.cpp +++ b/src/quick/items/qquickmousearea.cpp @@ -1184,6 +1184,7 @@ void QQuickMouseArea::setCursorShape(Qt::CursorShape shape) #endif /*! + \qmlpropertygroup QtQuick::MouseArea::drag \qmlproperty Item QtQuick::MouseArea::drag.target \qmlproperty bool QtQuick::MouseArea::drag.active \qmlproperty enumeration QtQuick::MouseArea::drag.axis diff --git a/src/quick/items/qquickpincharea.cpp b/src/quick/items/qquickpincharea.cpp index eadf82f888..419792aaa5 100644 --- a/src/quick/items/qquickpincharea.cpp +++ b/src/quick/items/qquickpincharea.cpp @@ -221,6 +221,7 @@ QQuickPinchAreaPrivate::~QQuickPinchAreaPrivate() /*! + \qmlpropertygroup QtQuick::PinchArea::pinch \qmlproperty Item QtQuick::PinchArea::pinch.target \qmlproperty bool QtQuick::PinchArea::pinch.active \qmlproperty real QtQuick::PinchArea::pinch.minimumScale diff --git a/src/quick/items/qquickrectangle.cpp b/src/quick/items/qquickrectangle.cpp index dd482eddb7..48f79a2192 100644 --- a/src/quick/items/qquickrectangle.cpp +++ b/src/quick/items/qquickrectangle.cpp @@ -321,6 +321,7 @@ void QQuickRectangle::doUpdate() } /*! + \qmlpropertygroup QtQuick::Rectangle::border \qmlproperty int QtQuick::Rectangle::border.width \qmlproperty color QtQuick::Rectangle::border.color diff --git a/src/quick/items/qquickstateoperations.cpp b/src/quick/items/qquickstateoperations.cpp index 00c2103289..a05b4f38ff 100644 --- a/src/quick/items/qquickstateoperations.cpp +++ b/src/quick/items/qquickstateoperations.cpp @@ -954,6 +954,7 @@ void QQuickAnchorChanges::setObject(QQuickItem *target) } /*! + \qmlpropertygroup QtQuick::AnchorChanges::anchors \qmlproperty AnchorLine QtQuick::AnchorChanges::anchors.left \qmlproperty AnchorLine QtQuick::AnchorChanges::anchors.right \qmlproperty AnchorLine QtQuick::AnchorChanges::anchors.horizontalCenter diff --git a/src/quick/items/qquicktranslate.cpp b/src/quick/items/qquicktranslate.cpp index 93104ffa7a..f1b716cf5b 100644 --- a/src/quick/items/qquicktranslate.cpp +++ b/src/quick/items/qquicktranslate.cpp @@ -198,6 +198,7 @@ QQuickScale::~QQuickScale() } /*! + \qmlpropertygroup QtQuick::Scale::origin \qmlproperty real QtQuick::Scale::origin.x \qmlproperty real QtQuick::Scale::origin.y @@ -347,6 +348,7 @@ QQuickRotation::~QQuickRotation() } /*! + \qmlpropertygroup QtQuick::Rotation::origin \qmlproperty real QtQuick::Rotation::origin.x \qmlproperty real QtQuick::Rotation::origin.y @@ -391,6 +393,7 @@ void QQuickRotation::setAngle(qreal angle) } /*! + \qmlpropertygroup QtQuick::Rotation::axis \qmlproperty real QtQuick::Rotation::axis.x \qmlproperty real QtQuick::Rotation::axis.y \qmlproperty real QtQuick::Rotation::axis.z diff --git a/src/quick/util/qquickanimation.cpp b/src/quick/util/qquickanimation.cpp index f743acc249..ad9cf06d5c 100644 --- a/src/quick/util/qquickanimation.cpp +++ b/src/quick/util/qquickanimation.cpp @@ -2083,6 +2083,7 @@ void QQuickPropertyAnimation::setTo(const QVariant &t) } /*! + \qmlpropertygroup QtQuick::PropertyAnimation::easing \qmlproperty enumeration QtQuick::PropertyAnimation::easing.type \qmlproperty real QtQuick::PropertyAnimation::easing.amplitude \qmlproperty real QtQuick::PropertyAnimation::easing.overshoot -- cgit v1.2.3 From 6f3339e9c2be5b1509c76a5c80b7d24ef77a5879 Mon Sep 17 00:00:00 2001 From: Venu Date: Thu, 19 Dec 2013 13:25:07 +0100 Subject: Doc: Fixed a few broken links and snippets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Couple of \snippet references in the ListModel docs were pointing to files outside the exampledirs boundary. Update those references to use the relative path. Change-Id: Ibf9d0fda9e5280345b08cb66a4fe0db9142a42a6 Reviewed-by: Nico Vertriest Reviewed-by: Topi Reiniö --- src/qml/types/qqmllistmodel.cpp | 4 ++-- src/quick/doc/src/qmltypereference.qdoc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/qml/types/qqmllistmodel.cpp b/src/qml/types/qqmllistmodel.cpp index d6d3de8af3..7e441023c9 100644 --- a/src/qml/types/qqmllistmodel.cpp +++ b/src/qml/types/qqmllistmodel.cpp @@ -1508,11 +1508,11 @@ QQmlListModelParser::ListInstruction *QQmlListModelParser::ListModelData::instru Here is an example that uses WorkerScript to periodically append the current time to a list model: - \snippet quick/threading/threadedlistmodel/timedisplay.qml 0 + \snippet ../quick/threading/threadedlistmodel/timedisplay.qml 0 The included file, \tt dataloader.js, looks like this: - \snippet quick/threading/threadedlistmodel/dataloader.js 0 + \snippet ../quick/threading/threadedlistmodel/dataloader.js 0 The timer in the main example sends messages to the worker script by calling \l WorkerScript::sendMessage(). When this message is received, diff --git a/src/quick/doc/src/qmltypereference.qdoc b/src/quick/doc/src/qmltypereference.qdoc index cf40fbe37c..0155ee4e2d 100644 --- a/src/quick/doc/src/qmltypereference.qdoc +++ b/src/quick/doc/src/qmltypereference.qdoc @@ -246,8 +246,8 @@ QML Lists and Models The \l{Qt QML Models QML Types}{Qt QML Models} submodule provides the types for structuring data with models and lists. \list -\li \l ListModel - Defines a list of data -\li \l ListElement - Defines a data item in a \l ListModel +\li \l{ListModel} - Defines a list of data +\li \l{ListElement} - Defines a data item in a \l{ListModel} \endlist These QML types are part of Qt Quick for backwards compatibility, but for -- cgit v1.2.3