aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports
Commit message (Collapse)AuthorAgeFilesLines
...
| | | * Doc: improve FolderListModel::rootFolder documentationMitch Curtis2016-11-151-3/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: I33ca6140d89041f89f0e3db9db7206aca50361d7 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | | | TestCase: add createTemporaryObject(), createTemporaryQmlObject()Mitch Curtis2016-12-142-0/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A typical pattern with QML tests is to dynamically create an item and then destroy it at the end of the test function: TestCase { id: testCase name: "MyTest" when: windowShown function test_click() { var item = Qt.createQmlObject("import QtQuick 2.0; Item {}", testCase); verify(item); // Test item... item.destroy(); } } The problem with this pattern is that any failures in the test function will cause the call to item.destroy() to be skipped, leaving the item hanging around in the scene until the test case has finished. This can result in interference with future tests; for example, by blocking input events or producing unrelated debug output that makes it difficult to follow the code's execution. By calling e.g. createTemporaryQmlObject() instead, the object is guaranteed to be destroyed at the end of the test function: TestCase { id: testCase name: "MyTest" when: windowShown function test_click() { var item = createTemporaryObject("import QtQuick 2.0; Item {}", testCase); verify(item); // Test item... // Don't need to worry about destroying "item" here. } } [ChangeLog][TestCase] Added createTemporaryObject() and createTemporaryQmlObject() functions that can be used to ensure that dynamically created objects are destroyed at the end of each test function. Change-Id: I483342052462aa86464c86bf2082892712dceb58 Task-number: QTBUG-56361 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | | | Add touch event support to qmltestJeremy Katz2016-12-063-0/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QuickTest] Add support for simulating touch events from TestCase. Task-number: QTBUG-23083 Change-Id: Ic045e00a91b8270b6f08d398323e06b576615e79 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-232-5/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4object_p.h Change-Id: Iff4d3aba7710a999b8befdc493cbe959e1ce02f9
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Simon Hausmann2016-11-151-3/+3
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4string.cpp The conflict resolution for qv4tsring.cpp is to essentially omit the change of commit 64714ea431f2fd355ed27edc69dba4e992511e75 as the code in 5.8 already uses the add/mul_overflow functions. This merge also reverts commit f4ac007f4a19bc095ff15d415a6629986de78e49 as we can deal with dead store elimination now. Change-Id: Iee08c87cbe1a2ff23a73ce621d56262b4e007c56
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-151-0/+5
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qmldevtools/qmldevtools.pro tests/auto/qml/qqmlconnections/tst_qqmlconnections.cpp Change-Id: I12255c16716bd8a74e7047cdb1f9302a4d1ea827
| | | * Fix more cases where DSE would optimize out too many storesErik Verbruggen2016-11-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC5/6 do aggressive dead store elimination on memory passed to placement-new. This resulted in the Heap::Object::prototype being a nullptr. qml.pro already contained the -fno-lifetime-dse flag, but there are other places where we ask the memory manager to allocate data. This is temporary band-aid, and is already fixed in 5.8. Change-Id: Ia61a69f65fab351068a588cfc36b5b3d762ffc9f Task-number: QTBUG-56932 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * | Doc: replace "the empty string" with "an empty string" in TestCase docsMitch Curtis2016-11-101-3/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: Idcc23782f2ed382914a74740ad9f2984d7a98f78 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * | | Update Window plugins.qmltypesMarco Benelli2016-11-091-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some signals (ie onClosing) as marked as error by QtCreator because they are registered with version 1 or 2, while QQuick is exported only as version 0. Exporting version 1 or 2 of QQuickWindow seems to cause some conflicts with QQuickWindowImpl. So the plugins.qmltypes has been manually updated. Task-number: QTBUG-47917 Change-Id: I2ddacfbf0564d8ecfbaadc0323011dbd18439c36 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-11-032-4/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tools/qmljs/qmljs.cpp Change-Id: Ifa9e74bdb780eaff22fbc9ba1c514d0078a3fb29
| * | | Imports: Build settings depending on feature settingsFriedemann Kleint2016-11-012-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warning: qtdeclarative/src/imports/settings/settings.pro:1: Cannot find feature qfeatures Change-Id: I215801bbadd1a07deef69bb38b0ac31b8da4d64e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-10-221-27/+3
|\| | | | | | | | | | | | | | | Change-Id: I171c7dbb6a74fe743c2eec63e86e9c0bef7c7dfd
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-10-201-27/+3
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickitemsmodule.cpp tests/auto/quick/rendernode/tst_rendernode.cpp Change-Id: I90582df69feb95a4e4aafb0b9793c23714654f19
| | * | Row/Column/GridLayout: add missing margins properties to documentationMitch Curtis2016-10-141-27/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 52e1044a1a22525b960d9e1d336ac06c4f39e6d5 in qtquickcontrols missed this. Change-Id: Ie104c421e34d4d2a13a88864a279eb65738bd5a8 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-10-181-26/+37
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4variantobject.cpp src/qml/types/qquickworkerscript.cpp src/quick/scenegraph/util/qsgdefaultpainternode_p.h tools/qmljs/qmljs.cpp Change-Id: I876242714ec8c046238d8fd673a5ace2455b2b59
| * | | QML: Also check for correct destroy() chainingErik Verbruggen2016-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check that the destroy() method of Heap::Base was called when a Managed object needs destruction. This checks if a call to the parent's destroy() method was accidentally omitted. Change-Id: Id025ecd6d4744bf3eab23503fbe317ed2a461138 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | QML: Make Heap::Object and all subclasses trivialErik Verbruggen2016-10-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC6 might dead-store-eliminate out our secret write to Base::mmdata, because it expects all memory content to be "undefined" before constructor calls. Clang might take the same approach if the constructor of Heap::Object is removed. By making these structs trivial, it also makes them memcpy-able. Change-Id: I055b2ad28311b997fbe059849ebda4d5894eaa9b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | QML: Introduce destroy() on Base subclassesErik Verbruggen2016-10-051-25/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the destructors of subclasses of Base, making them nearly trivial. Change-Id: Ia6f7d467e87899b5ad37b8709a8f633a51689d59 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Qml, Imports: mark some methods as constAnton Kudryavtsev2016-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These methods do not modify objects. Change-Id: I67b1a10cfd0b32688500fca3265a96f53afd1b57 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | | LocalStorage plugin: fix warning with debug buildAnton Kudryavtsev2016-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I549a39f72bcd837872c0d5e9a6ab3c15cea01658 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Imports: add missing 'override'Anton Kudryavtsev2016-10-0610-29/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and drop redundant 'virtual' Change-Id: I13246ff07a219d41c9e0fd11fbc6a0b00109912a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-10-012-4/+18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4qobjectwrapper.cpp Change-Id: I1a125b2334532ec5de4af39c0d6628890f4d0587
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-212-4/+18
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/qml/qqmltypeloader.cpp Change-Id: I07647700fc86764c95a5ef95c568e700a70fe45f
| | * | Fix crash on exit when using default property aliases with layoutsMitch Curtis2016-09-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The layout was being destroyed before the text, which meant that the removeItemChangeListener() call never got hit. To ensure that the listener is always removed, loop through each child in QQuickLayout's destructor. This is a manual cherry-pick of 59c6c0e0b1b5b46747595a58e11311b7393d7e70. Task-number: QTBUG-51927 Change-Id: I669f42beb8c3dd6b4b741cae0b16e017bb3409df Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | * | Doc: Updated Local Storage QML Types documentationNico Vertriest2016-09-121-4/+14
| | | | | | | | | | | | | | | | | | | | Change-Id: Idbaff2def0ad7171cbca912b54b30d43ef7771bf Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Simon Hausmann2016-08-251-1/+5
| | |\| | | | | | | | | | | | | Change-Id: I12efb77e812364052eca12ea35219ceff64d7cc3
| | | * Fix crash in tst_qqmlextensionplugin on shutdownSimon Hausmann2016-08-251-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On shutdown the test will unload all the plugins it loaded. In the case of the QtQuick2 plugin we only loaded it but never called registerTypes, as the test merely sees if the plugin can be instantiated. Consequently the attempt at unregistering the value type providers will fail because it was previously never defined. Note: We can't just let the QQmlValueTypeProvider destructor take care of the deregistration, as we do not truly unload plugins anymore (thankfully). However the plugin object will be destroyed and along with it we should correctly de-register the things we registered earlier, otherwise when initializing the plugin again, we'll register handers multiple times. Task-number: QTBUG-55524 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 23527754d60780ac4830f1acd6a54d3487a2c362) Change-Id: I52c9e4c33649966c6291fafaa2efc4242ada6788
* | | | FolderListModel/FileProperty: Use member initializationFriedemann Kleint2016-09-231-10/+10
|/ / / | | | | | | | | | | | | Change-Id: Ic9badca90a65348eb4668092a2d66e3f2bc34f71 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Update .qmltypesMarco Benelli2016-09-1213-1253/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update qmltypes for 5.8. For some files the -noforceqtquick option is used; in this way there are no redundand definitions of QtQuick component and no unneded dependencies from QtQuick. Change-Id: Id29683fcd6d15056923867ea65b091f998297fc4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Imports: replace 'foreach' with 'range for'Anton Kudryavtsev2016-08-201-3/+2
| | | | | | | | | | | | | | | Change-Id: I283ce40b52de2371550dab7a54cdce89c78cdc68 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.7' into dev" into refs/staging/devLiang Qi2016-08-193-10/+6
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-193-10/+6
| |\| | | | | | | | | | | | | | Change-Id: I326616356ee26d4532c6d57558c43c919f0a900d
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-191-4/+5
| | |\| | | | | | | | | | | | | Change-Id: I7bd70996e3372d154c6b0e47336baa22146667b0
| | | * TestCase::mouseDrag: set mouse move delay >= 1 msShawn Rutledge2016-08-191-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Infinite-speed drags do not work well with velocity-sensitive components like Flickable. As with change d04982dc on qtbase, adding a short delay helps to stabilize tests. To keep it flexible, we make QTest::defaultMouseDelay() available via the qtest_events.defaultMouseDelay property. So the delay can be increased by passing a larger delay value to mouseDrag, or by changing the QTEST_MOUSEEVENT_DELAY environment variable (as before). Task-number: QTBUG-55382 Change-Id: I8f8088758a206be104a439ee0d1832eeca574e8c Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
| | * | Revert "localstorage: disable warning about tautological comparison"Shawn Rutledge2016-08-181-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 12c7f22, the comparison should now be done at compile time. This reverts commit a858ce0039cb63a6a0afdfabab80ad4adc98ce17. Task-number: QTBUG-53373 Change-Id: I79d2c8aaabba8a2676df6da64206fefc9cdef3b2 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-181-1/+1
| | |\| | | | | | | | | | | | | Change-Id: I20c622263f40c322954328e4d10a8071db3ca6d1
| | | * Doc: Change instances of 'OS X' to 'macOS'Topi Reinio2016-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of version 10.12 (Sierra), the name of Apple's desktop operating system will be macOS. Change all occurrences where the Mac platform is discussed to use the macro \macos (defined in the documentation configuration in qtbase). Change-Id: Iea114ac73c01d74401bcd77373b41a825d2636c9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | | Fix crash in tst_qqmlextensionplugin on shutdownSimon Hausmann2016-08-191-1/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On shutdown the test will unload all the plugins it loaded. In the case of the QtQuick2 plugin we only loaded it but never called registerTypes, as the test merely sees if the plugin can be instantiated. Consequently the attempt at unregistering the value type providers will fail because it was previously never defined. Note: We can't just let the QQmlValueTypeProvider destructor take care of the deregistration, as we do not truly unload plugins anymore (thankfully). However the plugin object will be destroyed and along with it we should correctly de-register the things we registered earlier, otherwise when initializing the plugin again, we'll register handers multiple times. Change-Id: Id778890bcd3f1fab16eb312a01de7d423ea3aa22 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Adjust decarative after qtConfig changes in qtbaseLars Knoll2016-08-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the changes are optional, but cleanup our QT_CONFIG usage. Change-Id: I5253d53f72f6fb03c2cfedae1e17d94f424a6bbb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into devEdward Welbourne2016-08-021-0/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickshadereffect.cpp 5.7 had a bug-fix in code dev has replaced wholesale. src/quick/items/qquickwindow.cpp src/quick/items/qquickwindow_p.h One side changed a method's signature; the other side renamed a method declared adjacent to it and changed some code using it, moving some from the public class to its private partner. tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp One side added a blank line before a comment the other re-wrote. Kept the re-write, killed the stray blank. .qmake.conf Ignore 5.7's change to MODULE_VERSION. src/qml/compiler/qqmltypecompiler.cpp src/qml/compiler/qqmlpropertyvalidator.cpp 5.7 changed code in the former that dev moved to the latter. Reflect 5.7's changes there, adapted to dev's form. src/qml/qml/qqmlobjectcreator.cpp One side added new QVariant types; the other changed how it handled each type of QVariant (without git seeing any conflict); adapted the new stanzas to work the same as the transformed ones. tests/manual/v4/test262 dev had a broken sha1 for it; so used 5.7's 9741ac4655808ac46c127e3d1d8ba3d27ada618e Change-Id: I1fbe2255b97d6ef405cdd1d0cea7fab8dc351d6f
| * | localstorage: disable warning about tautological comparisonShawn Rutledge2016-07-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building with gcc 6.1.1, there is a warning like this: plugin.cpp:152:126: error: self-comparison always evaluates to true [-Werror=tautological-compare] DEFINE_OBJECT_VTABLE(QV4::QQmlSqlDatabaseWrapper); In the definition of DEFINE_OBJECT_VTABLE, the comparison &classname::SuperClass::static_vtbl == &Object::static_vtbl ? 0 : &classname::SuperClass::static_vtbl.vTable will be done at runtime. Maybe the macro could somehow do that at compile time (or maybe the compiler will optimize it away after detecting that the result is constant); but for now, this warning breaks the build. Task-number: QTBUG-53373 Change-Id: I5f8e429a3f1446d3ef931ff8b0c41fcf652f7a02 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add tryVerify()Mitch Curtis2016-07-201-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful for conditions which can't be tested using tryCompare. One such situation is that of the currentItem property of ListView. In Qt Quick Controls 2, the currentItem property of the ListView that is internally a child of Tumbler can be null for a certain period of time, so using tryCompare() would result in errors due to trying to access a property of a null object: tryCompare(tumblerView.currentItem, "text", "2") The current workaround is to use wait(50) in a for loop, which is ugly and could lead to flaky tests: for (var delay = 1000; delay >= 0; delay -= 50) { if (tumblerView.currentItem) break; wait(50); } verify(tumblerView.currentItem); compare(tumblerView.currentItem.text, data.currentIndex.toString()); Using tryVerify(), we can first ensure that currentItem isn't null, and then use a regular synchronous compare afterwards: tryVerify(function(){ return tumblerView.currentItem; }); compare(tumbler.currentItem.text, data.currentIndex.toString()); [ChangeLog][QtTest][TestCase] Added tryVerify() function to allow verification of asynchronous conditions that can't be tested using tryCompare(). Change-Id: Ie93052b650f7fe0bf26853054a8f0f35a483e387 Task-number: QTBUG-19708 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Fix quickcontrols test failure after tryCompare changeAllan Sandfeld Jensen2016-07-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | One test also used tryCompare with indexes instead of property strings, so continue to allow that. Change-Id: If8bdb9935181666f975f02fd256734a9992d2b48 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | QQuickLayout: Remove unused QQuickItemPublic structRobin Burchell2016-07-081-5/+0
| | | | | | | | | | | | | | | Change-Id: I4e0e929118d708a4157c07df93ce5eb4083263ee Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Layouts: Use qmlobject_{dis}connectRobin Burchell2016-07-072-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is significantly faster, especially with a large number of items and signals. For a RowLayout with 5 child items, I go from being able to create ~95 per frame to ~145 per frame on a 2011 mbp. Change-Id: I2c09078573a745b6d275931785de548364604a85 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Improve error handling in TestCase::tryCompareFrederik Gladhorn2016-07-041-0/+5
| | | | | | | | | | | | | | | Change-Id: I27a6962e404be0b92a9702f9deff8775edb782b1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | V4: Pass scope around as parameters inside the runtime.Erik Verbruggen2016-06-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation of many (or all) runtime functions consist of first creating a QV4::Scope, which saves and restores the JS stack pointer. It also prevents tail-calls because of that restoring behavior. In many cases it suffices to do that at the entry-point of the runtime. The return value of a JS function call is now also stored in the scope. Previously, all return values were stored in a ScopedValue, got loaded on return, and immediately stored in another ScopedValue in the caller. This resulted in a lot of stores, where now there is only one store needed, and no extra ScopedValue for every function. Change-Id: I13d80fc0ce72c5702ef1536d41d12f710c5914fa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-06-133-14/+38
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp Change-Id: I26d6435a29cac3840bb567ade5149c2562a94bf9
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-102-11/+33
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of 0e053528 was reverted in the merge, about lastTimestamp. It will be applied later in separate commit. qmltest::shadersource-dynamic-sourceobject::test_endresult() was blacklisted on linux. Conflicts: .qmake.conf tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp tests/auto/qmltest/BLACKLIST tests/auto/qmltest/qmltest.pro Task-number: QTBUG-53590 Task-number: QTBUG-53971 Change-Id: I48af90b49a3c7b29de16f4178a04807f8bc05130
| | * Fix bug in SQL database integration with null valuesSimon Hausmann2016-06-031-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 91d6a63ab317817990c3b2306860adbd8916cca4 a null JS value is mapped to a QVariant(VoidStar) to properly create null JS values when converting back again. However that broke the binding of values in the SQL database, where it ended up mapping null to an empty string. [ChangeLog][QtQml] Fix mapping of null JS values to null SQL values instead of empty strings. Task-number: QTBUG-53412 Change-Id: Icf1fea4674e9dd8bb5313e3770ed2d3f99849987 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>