aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* simplify host_build logic againOswald Buddenhagen2013-10-253-23/+3
| | | | | | | | | | qt_tool handles bootstrapping fully automatically. This reverts commit 0fc040ef70513ccaeb9e96f7ca05a3df4d6c7879, and adds some more. Change-Id: Icffcf7f487dbf660678c7ee622f94b1063fef7e3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* sanitize dependencies surrounding qmlimportscannerOswald Buddenhagen2013-10-251-7/+6
| | | | | | | | | the tool's subdir must come before its dependants, otherwise qmake -r is broken (ok, that's mostly academical nowadays). also remove the unnecessary dependencies. Change-Id: Idf785522d466d4abb5f864ef4b66784024322339 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* untangle SUBDIRSOswald Buddenhagen2013-10-251-10/+13
| | | | | | | this also excludes qmlprofiler on android, as it is not a host tool. Change-Id: I0bc2582fa4b951ea1f871cd67ef05d0d15ed9763 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove useless CONFIG-=app_bundleOswald Buddenhagen2013-10-251-1/+0
| | | | | | | qt_app.prf does this for us. Change-Id: Ifdbed1028a170f1a5040d9ef38c0adc89ed6da52 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make qtdeclarative compile with -no-guiTasuku Suzuki2013-10-252-35/+70
| | | | | Change-Id: I079f5e09a0099550348388379c496fc8f8cfa27c Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Item documentation: visibleChildren is a list of items, not a realShawn Rutledge2013-10-251-1/+1
| | | | | | | | | Followup to I5ec541226fabd72c05ce8ccb8bb7e56f6ec7717a Task-number: QTBUG-22724 Change-Id: I3f74fda29faba4054c5bb97aad4735f7c5f0f278 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Clear text node references after sub-tree has been cleaned up.Alan Alpert2013-10-241-0/+3
| | | | | | Task-number: QTBUG-34181 Change-Id: I861e192cee2c683efee79e7404a5c9d70b60691f Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Doc: Fixed broken linksVenu2013-10-243-46/+47
| | | | | | | | | | | | | | | | | There were many links (including the broken) on the Qt Quick index page and QML type reference page using the html file name to link to a page or a section within a page. Using html file reference in a link is not a good approach as qdoc does not give complete control to the author to define the html file name. This change updates all such links to use the page \title and \target names, which are considered to be better ways to link. Task-number:QTBUG-33360 Change-Id: Ibd1b1e3223a7e205bbdcf21b1b7f6e515749c5c9 Reviewed-by: Nico Vertriest <nico.vertriest@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* V4 debugger: retrieve formals and locals.Erik Verbruggen2013-10-2410-102/+404
| | | | | Change-Id: I47507a4d7d1b429b9c43ed3a7822079efe577327 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Allow &quot; in QQuickStyledTextJohn Brooks2013-10-242-1/+3
| | | | | | | | QString::toHtmlEscaped generates &quot;. QQuickStyledText should be symmetrical with that function. Change-Id: I67ea0abe446b5fa1edb53258dca58b84af910e28 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
* Doc: Added a QML module page for Qt Quick TestVenu2013-10-233-1/+17
| | | | | | | | | | | | This should avoid the TestCase and SignalSpy types being listed in the All Classes page, which is meant for the C++ classes. Task-number: QTBUG-33316 Change-Id: I0f2f9e557df89f46f656a8820602fe5712c64073 Reviewed-by: Caroline Chao <caroline.chao@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Win32: Remove dependency to DbgHelp DLLSimon Hausmann2013-10-231-4/+0
| | | | | | | | This was used for natice stack trace determination, which is done differently now. Change-Id: Id983f2bf6805aaf3f7081a16196268be88c98951 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Make LocalStorage more verboseGatis Paeglis2013-10-221-1/+3
| | | | | Change-Id: I4f3dd475156941f1a1d2815a4db57ad9abf8f27d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Avoid crash when a QML signal is connected to a non-void slotJ-P Nurmi2013-10-224-5/+27
| | | | | | | | | | Don't pass a QVariant pointer for the return value when we're not interested in it and the return type might not even be a QVariant (that would be only true for QML methods). Task-number: QTBUG-32801 Change-Id: I8f14e40d8f94caef7e3d086b776735f0484dbf0e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Re-enable debugger autotests on MacKai Koehne2013-10-221-7/+3
| | | | | | | | | Partially revert 8ed38c70 to also test qqmlprofiler, qqmlinspector on Mac. The tests were unreliable before, but that was fixed with 816e7f11f in qtbase. Change-Id: Icca7ff6617ea18d069d4cd95905d76fe59b92e31 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* Remove ancient and unused leftoversGunnar Sletta2013-10-224-70/+9
| | | | | Change-Id: Ia3a2aa2244748c2f3f2df8853f5bddfbbc4bc19f Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Rename v4 to qmljsSimon Hausmann2013-10-225-5/+6
| | | | | | | | We don't want to officially support this binary in our release builds, so give it a "safer" name and enable it only in developer builds. Change-Id: Iaa007bc2ccdb133635161aae01d140efe0f44e23 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make example work on WindowsGunnar Sletta2013-10-222-23/+10
| | | | | Change-Id: I75a035939a390de8cdae03c11599efa0b7ed68df Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Re-enable working test.Gunnar Sletta2013-10-221-3/+0
| | | | | | | Task-number: QTBUG-33517 Change-Id: I05ec6085b26a8d002cb904fecc172fa2eefbf79d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Add support CompositeSingleton to the new V4 compiler.v5.2.0-beta1Antti Piira2013-10-217-6/+95
| | | | | | | | | | | | | | | | | Implements QQmlCodeGenerator::visit(AST::UiPragma *) to process any pragma statements in a QML file for the new V4 compiler approach. Only pragma Singleton is supported, others will generate errors. Also adds necessary hooks to treat types as Singletons. Basic functionality is working, but three of the QML Singleton unit tests fail. Some of them are dependent on other language capabilities that seem to have problems. In addition removes unnecessary toString() call in the equivalent visit(AST::UiPragma *) function of the old parser. Change-Id: Iec9fa887f953b80b7f9a11878d846637a8f519ef Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Don't use reserved keyword "texture" as uniform variable nameSean Harmer2013-10-216-73/+73
| | | | | | | | | | The "texture" keyword is a function name in OpenGL core profile. This commit is in preparation for making the Qt Quick 2 renderer and materials work with a core profile context. Change-Id: Iad243e64ab8db739fc46b85bb626bdb8b9ceb208 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix MSVC2013 compilationYuchen Deng2013-10-212-0/+4
| | | | | | Change-Id: I79b50e786f46c9a15963f09158c18871c95fe093 Reviewed-by: Peter Kümmel <syntheticpp@gmx.net> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Revert commit d818575966e2e2000fe2b7ee390c620f595d9825Simon Hausmann2013-10-213-17/+0
| | | | | | | | | | | | This reverts the commit that deprecated the with statement and added a note to the docs that binding expressions will be compiled in strict mode in Qt 5.2. It turns out that we had to keep the with statement and enabling strict mode breaks just too much unfortunately. Change-Id: Id38c27f684fbfcb6b6b848be8f691658089d1adb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Prevent badly formed texture nodes in the scene graph.Gunnar Sletta2013-10-214-10/+10
| | | | | | | | | | | | | | | | | A texture based node without a valid texture is not allowed, as the material and the renderer will only tolerate well-formed nodes. If a node is missing any part of its material state it should not be in the scene graph in the first place. Because of an "optimization" in QSGDefaultImageNode::setTexture and QSGSimpleTextureNode::setTexture, we must temporarily set the texture to 0 to ensure that it gets updated properly. This temporarily puts the node into an invalid state which can lead to crashes when QSGNode::markDirty() reaches the renderer. Task-number: QTBUG-34062 Change-Id: Ic1735c9b974b90b3684262de9589133c961bac6e Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* tests: Replace Q_OS_MACX -> Q_OS_OSXSergio Ahumada2013-10-211-1/+1
| | | | | | | | Use the correct identifier for the OS X operating system. Change-Id: Iff433d312c7c808ddce13466be3db628cf3a9890 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* suppress qml import scan for the tools which don't need itOswald Buddenhagen2013-10-215-1/+5
| | | | | Change-Id: Iefdaf60edbe47d2941a0696d96e7b79a67b46d8d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Reset on model layout changedAlbert Astals Cid2013-10-216-4/+285
| | | | | | | Otherwise the next dataChanged from the model may not be received Change-Id: I16b859d92fdb1823c4a56c297d4451abe438fbb1 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Qml JavaScript code generation cleanupsSimon Hausmann2013-10-208-91/+75
| | | | | | | | | | | | | | | * Run the binding expressions, functions and signal handlers through the V4 codegen _per_ component, and run the isel at the end for the entire file. We need to do per-component codegen because we want to set up the correct id and object scopes, which are different for the root component and anonymous components. * Changed V4IR::Module to allow for the concept of "qml modules" where there is no root function defined. This is a logical consequence of running v4 codegen multiple times with different input but the same V4IR::Module. Change-Id: Ib3a719f83507cbab7c2e4e145ccad5b663c795cf Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Cleanup: Avoid unnecessary irModule->functions.indexOf callsSimon Hausmann2013-10-207-50/+58
| | | | | | | | | With a growing number of functions per module, these calls become expensive and are unnecessary. defineFunction in the code generator can simply return the correct index right away. Change-Id: I8ab56a3083bf215674a1b46c502b415be694e465 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove internal method from public APILars Knoll2013-10-1911-39/+36
| | | | | | | | QQmlError is public API and shouldn't expose an internal method. Change-Id: I7caf06af9340fefec5c96103395fe74acbf19497 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Some minor optimizationsLars Knoll2013-10-194-42/+38
| | | | | Change-Id: Ib2e08e7c89ca59a48f8fd52b30981e5d7e60803b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Increased precision in shader exampleBernd Weimer2013-10-171-2/+2
| | | | | | | | On BB10 the shader effect displayed as a black rectangle. Change-Id: I9cd12e66875c07cc7ecfa2aec6d7e5912926511e Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* QtQuick.Dialogs: deploy qml files only for debug buildsShawn Rutledge2013-10-171-2/+5
| | | | | | | | | | QML_FILES are installed with the qml plugin they belong to. This is helpful for debugging, but redundant because the same QML is also packaged as resources (after 8780af05b1bc63aa71c3a318972465ffdb830070). Task-number: QTBUG-31565 Change-Id: I0b277b62b48e0a742f3ef2ff6ee2a81cc071295e Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* Fix ARM thumb2 mode detectionSimon Hausmann2013-10-171-1/+5
| | | | | | | | | __TARGET_ARCH_THUMB may not always be defined, but __thumb2__ for example is also a good indicator that we can generated and run thumb2 code and thus enable the JIT. Change-Id: I987d0af5883d9bb844c4c99a0691a12aedc94ff5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix iOS buildsSimon Hausmann2013-10-171-1/+5
| | | | | | | | | Other tools in tools could theoretically be using QML modules, so qt.prf tries to use the qmlimportscanner on them. That means we have to build it before all the other tools. Change-Id: I5ee49d0f3f4f3bf73183a6be9414c8d0e926bdf1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix crash in FolderListModelFabian Bumberger2013-10-173-8/+29
| | | | | | Change-Id: I8d012e9a356676dd3dad246579c7339eaddc1e91 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Fix flaky QQmlProfilerService::scenegraphData testKai Koehne2013-10-171-6/+5
| | | | | | | | | | | QSGRenderThread::syncAndRender first triggers the frameSwapped() signal, and only then adds the SceneGraphRenderLoopFrame message. We're waiting for the frameSwapped signal to stop profiling, and therefore can't be sure whether we'll get the final SceneGraphRenderLoopFrame message or not. Task-number: QTBUG-33024 Change-Id: I3216667e8e5cdc79f210290ce22cc6b08c579b6a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make sure v8 service sends a finished signalKai Koehne2013-10-171-0/+2
| | | | | | | Otherwise Qt Creator will block forever ... Change-Id: I2ffe5e826c10338aeb4ded7079154fe83710c108 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Disable WTF assertions in release buildsSimon Hausmann2013-10-171-0/+2
| | | | | | | Define NDEBUG to disable them. Change-Id: Ie1f08863b9b483216be2c0768b505f2e9e7ccef8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix build on ARM in ARM mode (instead of thumb2)Simon Hausmann2013-10-177-34/+54
| | | | | | | | | | We don't support the traditional ARM assembler (yet), only JIT on thumb2. In order for us to reliably check that, we have to wait until the pre-processor runs, which this patch achieves by moving all JIT enable/disable decisions into qv4global_p.h Change-Id: I7eff5b4fbf1cd26297a08dee16984ad867358113 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Implement WTFReportAssertionFailureSimon Hausmann2013-10-171-1/+2
| | | | | | | At least do a printf with the failure details, to make debugging easier. Change-Id: I092d31e3408cd0a651c6dd96b5fd94adf4abe3a7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix ASSERT_VALID_CODE_POINTER for our ARM buildsSimon Hausmann2013-10-171-4/+2
| | | | | | | | | | | We want to allow intermixing thumb and ARM for all builds, not only Android. Modified the macro to do a thumb-compatible null pointer check. This also works around a miscompilation on QNX where the compiler appeared to make incorrect assumptions about the address of functions we are taking. Change-Id: Ib8fc400178e0c2621bde2ca94b3f94041591e19a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* V4 ARM: extend disassembler.Erik Verbruggen2013-10-172-0/+77
| | | | | | | Added VADD/VSUB/VLDR/VSTR. Change-Id: I25fbb338652c3457e15cc9ef17209d35c63fefe5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix performance regression when doing property lookups for non-existant ↵Simon Hausmann2013-10-163-6/+14
| | | | | | | | | | | | | | | | | properties Commit 84627464eb11ca1149d46946b12e3c82eb54a8bf introduced a performance regression of falling back to reading the QMetaObject, when the lookup for a property in QML failed, after we've tried in the property cache. This is very very expensive to do and was only due to QQmlPropertyMap not correctly invalidating the property cache. Instead remove the property cache from the property map's QObject and on the lookup side rely on the property cache being correct in the result (positive or negative). Change-Id: I8a013483203f2007d48b71feafa10b3ea02c53fd Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Speed up exception propagationSimon Hausmann2013-10-1610-163/+136
| | | | | | | | | | Avoid catch (...) with re-throw as it turns that this is very slow because it throws a new exception and the unwinder starts from scratch. Instead use stack allocated objects and cleaning destructors to restore state before continuing with the propagation of exceptions. Change-Id: I6d95026bcd60b58cb6258a9dae28623a46739532 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Speed up stack trace generation for the JITSimon Hausmann2013-10-168-272/+38
| | | | | | | | | | | | | | It turns out that in QML it is not unusual that during early binding evaluations due to the undefined order, the evaluation tries to look up properties in objects that aren't initialized yet and thus exceptions are thrown. Eeach thrown exception saves a stack trace, which is expensive to generate when using the JIT, as it does full stack unwinding. This patch implements a more light-weight approach by storing the instruction pointer in the context before leaving JIT generated code. Change-Id: I95e1cfd01179247dfc2c1df949828f474a23161b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Avoid infinite loop with distance fields disabledLaszlo Agocs2013-10-161-1/+5
| | | | | | | | createGlyphNode() and createNativeGlyphNode() kept calling each other on GLES whenever QML_DISABLE_DISTANCEFIELD was set. Change-Id: Ic1c2cfe0c4c7301f82cbbcce1cb512bd515b52ef Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Dialogs: use resources for QML and imagesShawn Rutledge2013-10-163-15/+65
| | | | | | | | | | | | | | | | All the qml and image files are embedded in the QtQuick.Dialogs plugin. If DefaultFileDialog.qml is missing from the installation directory, loading from resources will be enabled. Otherwise, the files will be loaded from the local path. This is analogous to change b2e5d1acb1aca93157a6d4d0a026153134f9ad01 in Qt Quick Controls: it reduces the number of files that need to be installed, but also preserves ease of debugging whenever the QML files are separately installed. Task-number: QTBUG-31565 Change-Id: Idbe6be5d818eb6a25367f2053ea52bc7ac1485bc Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* Fix infinite loop in QQmlIncubator::forceCompletionAlbert Astals Cid2013-10-162-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change I'm getting this backtrace 3 0x4025b9f2 in QQmlIncubatorPrivate::incubate (this=0x18daa78, i=...) at qml/qqmlincubator.cpp:273 4 0x4025c1c2 in QQmlIncubator::forceCompletion (this=0x1527360) at qml/qqmlincubator.cpp:592 5 0x404e1626 in QQuickVisualDataModelPrivate::object (this=this@entry=0x13909f8, group=QQuickListCompositor::Default, index=index@entry=1, asynchronous=asynchronous@entry=false) at items/qquickvisualdatamodel.cpp:900 6 0x404e1f7e in QQuickVisualDataModel::item (this=<optimized out>, index=1, asynchronous=<optimized out>) at items/qquickvisualdatamodel.cpp:968 Note: This is with patched 5.0.x, change QQuickVisualDataModel to QQmlDelegateModel for >= 5.1 and line numbers may be a bit off What is happening: QQmlIncubator::forceCompletion is doing while (Loading == status()) { while (Loading == status() && !d->waitingFor.isEmpty()) static_cast<QQmlIncubatorPrivate *>(d->waitingFor.first())->incubate(i); if (Loading == status()) d->incubate(i); } Calling QQmlIncubatorPrivate::incubate on the first item of d->waitingFor Then, that item is getting to QQmlIncubatorPrivate::incubate and happens that progress is QQmlIncubatorPrivate::Completed and waitingFor is not empty, so the only thing that QQmlIncubatorPrivate::incubate ends up doing is calling a few calls over vmeGuard and returning, that way the inner waitingFor items never finishe incubating and you end up in an inifite loop inside while (Loading == status() && !d->waitingFor.isEmpty()) static_cast<QQmlIncubatorPrivate *>(d->waitingFor.first())->incubate(i); This patch basically replaces this loop with a loop that does while (QQmlIncubator::Loading == status && !waitingFor.isEmpty()) static_cast<QQmlIncubatorPrivate *>(waitingFor.first())->forceCompletion(i); This way we make sure we incubate the waitingFor items of our waitingFor items Change-Id: I4298efc7ba9d8af624bb138e64b92a40ed4c4dc9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Improve output of test caseKai Koehne2013-10-165-3/+61
| | | | | Change-Id: Ib36583120ca42835534f0f8494637aeb9618f317 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>