aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* V4: fix range splitting when split is between intervals.Erik Verbruggen2014-01-177-13/+227
| | | | | | | | | | | Also added some "white-box" unit tests and sprinkled in a bit of documentation. The case that went wrong is covered by the test rangeSplitting_1: before the fix, the new interval would have two ranges: [66-64],[70-71]. The first range is invalid and should not be there at all. Change-Id: If0742f4e6a96d98ea5d696f95126886ba66f92bb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge remote-tracking branch 'origin/release' into stableSimon Hausmann2014-01-169-134/+222
|\ | | | | | | Change-Id: Id18709cb0a4d85ffdadffa28aef98323367292d4
| * V4: relieve more memory allocator pressure.Erik Verbruggen2014-01-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | For _ZN13BenchmarkDemo11initPhysicsEv from the Octane testsuite, the total allocated memory drops from 1.5GB to 51MB. Peak memory usage stays at 29MB. Again, slow implementations of malloc()/free() will see a performance improvement. Change-Id: I21bc2f0d3735de0980fc9b3745906016e2e48a61 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * Fix usage of FileDialog.folder property in QtQuickTobias Koenig2014-01-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | The content of the FileDialog.folder property has not been applied to the native QFileDialog, so it was not possible to pre-select a folder for the file dialog. Change-Id: Iaadd6aa71bc37739c16a2e7c5bff2d0050f15f3a Task-number: QTBUG-35973 Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com> Reviewed-by: Liang Qi <liang.qi@digia.com>
| * QtQuick.Dialogs FileDialog: don't go astray into qrc:/ on AndroidShawn Rutledge2014-01-161-3/+12
| | | | | | | | | | | | | | | | Was due to string->URL conversion when setting FolderListModel.folder. Task-number: QTBUG-36006 Change-Id: Ia768d8a5473b3d4c22ef9be7c8b3cf28d3956f6f Reviewed-by: Liang Qi <liang.qi@digia.com>
| * Fix failing context->next != 0x1 assertionSimon Hausmann2014-01-163-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit bf173fe5da381c88343296ca33ef6b06389c6d20 context objects are always on the GC heap and no more in that special linked list or stack allocated, so the next pointer became dangling/uninitialized and asserting on it was bound to fail randomly. Since we no more allocate contexts on the stack, we can safely remove the assertion. Task-number: QTBUG-35917 Change-Id: I104bd129c6c32f46a6302052f563abdf926cb879 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * V4 IR: do edge splitting after SSA transformationErik Verbruggen2014-01-161-8/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reduces the work for the dominator tree/frontier calculations, because there are less blocks to consider. All blocks inserted by splitting the critical edges, have (by definition) no effect on the dominator calculations. However, the immediate dominators for all new blocks needs to be added, because this information is used by the block scheduling. This change reduces memory/time usage during optimization passes, especially when processing excessively big switch statements. Change-Id: Ia69882e9dabdddffa1c98b1079012d8d988e1e8f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * V4: lower memory allocator pressure.Erik Verbruggen2014-01-163-77/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | Changes to datastructures and more re-using of locally used temporary vectors. For the test regress-74474-002.js this lowers the total allocated memory from 1.98GB to 158MB. Thse peak memory usage stays at 75MB. There is no functional change. This should give a modest performance improvement which mainly depends on the speed of malloc()/free(). Change-Id: I1877c1903e59a33ee79ff2b801ef6f2c1cee30a6 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * V4 IR: update immediate dominators when purging unreachable basic-blocksErik Verbruggen2014-01-161-13/+19
| | | | | | | | | | | | | | | | | | The basic block scheduling uses this information to place loops. When the immediate dominator information is invalid, the scheduling can be sub-optimal, or will sometimes forget to schedule some blocks. Change-Id: Iaeb45f2b757b676310be25a658ceadc07d5722ec Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * Revert "Support batching of rotated antialiased elements."Gunnar Sletta2014-01-161-5/+6
| | | | | | | | | | | | | | | | | | This patch broke scaled text rendering This reverts commit 6acaa1c42936f89d74324be9c0cce4873a9a565b. Change-Id: I1f7a3ba0556f6d59bc1e28946631be2d9fc2b67d Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * V4: remove unnecessary spills and order them correctly.Erik Verbruggen2014-01-163-21/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When doing edge resolving, too many spills were generated, and the dependency tracking of moves was not complete. Now we only insert spills that are caused by phi-nodes (because any other spill would be generated at the point a variable was defined). However, there can still be multiple dependencies between the moves generated by the edge resolving. Instead of only checking the first dependency, all of them are tracked. The bug report was a case where an unneccesary spill was generated, that got tracked, but "suppressed" the other (valid!) dependent move. The randomness was caused by the hash seeding of QHash. Task-number: QTBUG-35840 Change-Id: Ifbc3c8fc13de53c46a8b5859721b2497189921a3 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Bump MODULE_VERSION to 5.2.2Sergio Ahumada2014-01-161-1/+1
| | | | | | | | | | Change-Id: Id20a6043ba142c14cd2b1062181a399e93782179 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Re-enable mac testsAlan Alpert2014-01-161-7/+0
| | | | | | | | | | | | Task-number: QTBUG-35344 Change-Id: Ifc4d5420c95a615b35f02ec585c324b2cc93c5e0 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Make sure the test window has focusAlbert Astals Cid2014-01-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | Some setups like xvfb-run under Linux do not focus windows after showing them, this means that any focus based test will fail since the windows itself is unfocused. This makes sure the test window will be shown and focused. Change-Id: I1903b7cdf88b772e1ca15acd4899695b49615712 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Increase the timeout for QPacketProtocol testsUlf Hermann2014-01-161-1/+1
| | | | | | | | | | | | | | | | | | Recent failures when testing a completely unrelated one-line commit (https://codereview.qt-project.org/74584) suggest that the timeout is actually too small. Change-Id: I9c3fd0b09c6be2d42f92485c3c223fe88bb8328e Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | Remove the two default role names listed in cppmodels documentation.Mitch Curtis2014-01-161-14/+1
| | | | | | | | | | | | | | | | | | The list is incomplete, and they are now fully documented under QAbstractItemModel::roleNames(). This saves us maintaining two lists that can easily get out of sync. Change-Id: I4895a8ba19a4f48c26b4077e8bf2eba8c4c8407c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | Make sure that profiling can only be started if debugging is enabled.Ulf Hermann2014-01-156-5/+95
| | | | | | | | | | | | | | | | | | | | | | Enabling the profiler doesn't make much sense if there is no debug service as the messages can't be sent anywhere then. Furthermore, the profiler instance is only properly initialized if debugging is enabled and thus enabling profiling without debugging being enabled can cause problems. Change-Id: I784a110126d45a9a2bc9d9e14d9a22e2980c3a42 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | Add support for a separate index bufferLaszlo Agocs2014-01-153-14/+70
| | | | | | | | | | | | | | | | | | | | The renderer binds same buffer both for vertex and index data. This is allowed on desktop & ES but is forbidden in WebGL. Add a compile-time flag to disable this optimization(?) and force using a separate buffer for the index data. Change-Id: I57c17c883a55e02513a8e4427efb202cafaaf37e Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Fix some compiler warnings in tests and examples.Christian Kandeler2014-01-154-4/+3
| | | | | | | | | | Change-Id: Ia739c995005635caf6fd0bd4e495ed8567350e83 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* | Do not crash if /proc is not mountedAlbert Astals Cid2014-01-152-18/+30
| | | | | | | | | | | | | | | | When proc is not mounted pthread_getattr_np fails, so default to 1MB stack in getStackLimit and to exactGC in MemoryManager Change-Id: Ic7515fd420f2d39a656808d24a3915a657722891 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix nodetest autotest.Gunnar Sletta2014-01-151-1/+3
| | | | | | | | | | | | | | | | | | GL context was initialized with the wrong surface format resulting in warnings, and we did not clean up the render context properly. Change-Id: I19f748ca985a0becf1f7a6caa987f21567029cfd Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Alex Montgomery
* | Fix warning about cast from char* to QStringThiago Macieira2014-01-141-2/+2
|/ | | | | | | Use QStringLiteral. Change-Id: I201fc44b2a6bf0f7ff3ff1c9ea81ff3b64b2bba9 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* On Mac only editable ComboBox should receive tab focusFrederik Gladhorn2014-01-112-2/+9
| | | | | | | | | [ChangeLog][QtQuickControls] Mac: ComboBox will only get tab focus when it is editable. Change-Id: Ife04de67b2e3dea77ba878b247ad0b676c879c02 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Make qtdeclarative compile with QT_NO_TRANSLATIONTasuku Suzuki2014-01-101-3/+5
| | | | | | Change-Id: I73efc8c568e2368bc804eacab9e8f9cced8a030b Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* tst_qquickpathview: Use QCOMPARE instead of QVERIFY.Friedemann Kleint2014-01-101-7/+7
| | | | | | | | Attempting to get some diagnostic output for the failues. Task-number: QTBUG-35705 Change-Id: Iffebae89743c31e88125c0b1e21be172d3373b05 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* not build QQmlSettings when QT_NO_SETTINGS is definedTasuku Suzuki2014-01-101-0/+3
| | | | | | | | The current implementation is based on QSettings. Change-Id: I2e45070dabaf915b1c1b9f4e7c63b6c3e36e48a0 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Support batching of rotated antialiased elements.Gunnar Sletta2014-01-101-6/+5
| | | | | Change-Id: I0522a23617c897aff01b7b50e0af98553374d792 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Doc: Fix current QtQuick module version.Takumi Asaki2014-01-101-2/+2
| | | | | Change-Id: I8056757967ff2693f69b5a7afa11a00ca826ece0 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Fix bad cast of virtual class to base class via reinterpret_castThiago Macieira2014-01-101-1/+1
| | | | | | | | | | | | | | | | | | | Clang 3.4 found it: qv4managed_p.h:202:9: error: 'reinterpret_cast' to class 'QQmlDelegateModelGroupChangeArray *' from its base at non-zero offset 'QV4::Managed *' behaves differently from 'static_cast' [-Werror,--Wreinterpret-base-class] QV4::Managed and QV4::Object are non-virtual classes (they have no virtual table). I'm not sure if they are (C++11) standard layout, but they seem to fit the bill. However, QQmlDelegateModelGroupChangeArray has virtual functions, so the QV4::Managed sub-object in that class does not start at offset zero. That means reinterpret_cast'ing the base to the derived class is *wrong*, even if we're just calling a static function. In any case, we're static_cast'ing in the next line anyway, so this can't hurt. Change-Id: Icc796f7ecf8f41f859ea5fc877f5db5c87799964 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Doc: QtTest - Fix documentation for TestCase and SignalSpyCaroline Chao2014-01-099-1038/+777
| | | | | | | | | | | | | | | | | The property/methods documentation needs to be available in the components qml file. Thus we now import those components from the qml files directly instead of using fake header files. Rename the Qt Quick Test page to Qt Quick Test Qml Types to be consistent with the other submodules. Task-number: QTBUG-33587 Change-Id: Ifb1df8e7d15f2e23b4b4268e5df138934e62fc42 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Remove redundant copies of enabled flag in QML profilerUlf Hermann2014-01-093-145/+63
| | | | | | Task-number: QTBUG-35315 Change-Id: Idd35a330531722cb3d4e0d3e95cb3be6e5697688 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Fix some typos in documentation.Jeff Tranter2014-01-094-4/+4
| | | | | | | | | Fix some spelling and grammatical errors in comments that show up in Qt documentation. No changes to code. Change-Id: I2d91518900c9b60ee8e8a8f549c88a1d50632b3d Reviewed-by: Nico Vertriest <nico.vertriest@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* Updated the code to resize the text box on window resizeVenu2014-01-091-0/+1
| | | | | | | | | | | Without the QQuickView resizeMode set to QQuickView::SizeRootObjectToView the text box control appears in the middle and blocks the squircle effect. Task-number: QTBUG-35584 Change-Id: Ib8fc40f087a44d05062e900c33b9de5a620d1cc5 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Fix Flickable generated release event with pressDelay.Martin Jones2014-01-093-1/+42
| | | | | | | | | Map mouse position to grabber when forwarding release event due to release before pressDelay timeout. Task-number: QTBUG-34570 Change-Id: I7214077c9ac95f77407cf66f9dad52f577eccd79 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Fix broken build with Clang < 3.4 after 60aed669345be33b916c445565Thiago Macieira2014-01-081-1/+2
| | | | | | | | | | | The -Wunused-const-variable option was added in Clang 3.4 and is not yet supported on Apple's Clang. This test needs to be extended with the Apple Clang version that supports the option. Change-Id: Ief6ece91f1c0200c3359e74dafca4b893fcde7ca Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* V4: optimize dominator frontier storage.Erik Verbruggen2014-01-081-7/+164
| | | | | | | | | | | | | | | | | | Changes the dominator frontier storage from a set of basic-blocks for every basic-block to a BasicBlockSet for every basic-block. This new class stores a maximum of 8 nodes in a vector, and switches to a bit vector when going beyond 8 nodes. This is important in two cases: most basic-blocks have 2-3 nodes in the frontier, and an array is faster than a set in these cases. The few cases where the frontier goes beyond 8 nodes, is when a switch statement is used with lots of cases that all fall-through. On regress-74474-003.js this reduces peak memory usage from 1.68G to 60M. The switch statement in this test results in 27000 basic-blocks. Change-Id: I42646522ba9f8642d42a5d70fc6b760bb47ae69f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Keys Attached Property: Fix doc reference to nonexistent propertiesGabriel de Dietrich2014-01-081-2/+2
| | | | | Change-Id: I5e6a0855b3ad10e3adf6cf73b08a7794daf187da Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Ameliorate DocumentationAlan Alpert2014-01-071-2/+3
| | | | | | Task-number: QTBUG-33438 Change-Id: I9187513d3b4c68d99c90726288653aae5c553a67 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* [ChangeLog][QtQml] Fix JavaScript Array.pop() not updating the internal ↵Simon Hausmann2014-01-072-1/+14
| | | | | | | | | | | | | array length correctly While the length property was reporting the correct value, the internal array length was out-of-sync. Task-number: QTBUG-35979 Change-Id: I68820a349cf1ce88c6aabc6a2301a8a861018a10 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Use qDebug for all debug under src/quick/scenegraph.Gunnar Sletta2014-01-077-10/+11
| | | | | | | Mixing printf and qDebug can make the output come out of sync. Change-Id: Ia71e71b09cb3bf651010eb2eb652db7899b07f0d Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Doc: Add links to Qt Quick Test Reference DocumentationCaroline Chao2014-01-072-2/+2
| | | | | | | | To TestCase and SignalSpy documentation. Change-Id: I83f18ab107e8d047756568ab2cdddd1eaf5574ec Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Accessibility: mark more items as focusableFrederik Gladhorn2014-01-061-1/+17
| | | | | Change-Id: I8b5189bdf46305ad11f2dd1e689423152e542dcf Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility: quick items are not visible when their window is notFrederik Gladhorn2014-01-061-1/+1
| | | | | Change-Id: I126b0ca7414b03f17834ca8e90dd84c9d1c44add Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Remove unused static functions from QtQml found by Clang 3.4Thiago Macieira2014-01-041-28/+0
| | | | | | | qqmlcomponent.cpp:112:23: error: unused function 'buildTypeNameForDebug' [-Werror,-Wunused-function] Change-Id: I5cc82b20fee8e3f0b61ad59b831723359c8dcda4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Also fix the unused variable warning that ICC found with ClangThiago Macieira2014-01-041-0/+2
| | | | | | | | | | The ICC fix happened on e02cb2b31ab0b171f11d278305d9f532f005bc80. This now fixes for Clang 3.4: cached-powers.cc:134:18: warning: unused variable 'kCachedPowersLength' [-Wunused-const-variable] Change-Id: I876d9d5cf43fb7eb76117d6fdc37265295c360df Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* QtQuick.Dialogs FileDialog: default mode is ExistingFileShawn Rutledge2014-01-031-0/+1
| | | | | | | | | Previously did not sync the mode with the state of the selectExisting property on construction. Task-number: QTBUG-35877 Change-Id: Ifb630fb51c463025ec2f6a1932714f354552c234 Reviewed-by: Liang Qi <liang.qi@digia.com>
* Fix property access to QQmlPropertyMap objects when addressed via idSimon Hausmann2014-01-023-5/+35
| | | | | | | | | | | | Property access to id objects is optimized at compile time, but we cannot do that for QQmlPropertyMap instances (or generally fully dynamic types). This issue was a regression against Qt 5.1 Task-number: QTBUG-35906 Change-Id: I759a1a899f6a3a1f6466282f455b289ad7451086 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix lookups of enums in singletonsSimon Hausmann2014-01-025-35/+65
| | | | | | | | | | | | | | | | | | | This is a regression against 5.2.0 (which didn't have this bug), due to optimizations introduced in the stable branch after the release. The code path for optimizing access to the members of C++ based singletons through the regular meta-object properties would end up excluding access to enums when the lookup happens at run-time. The run-time getter for the singleton itself would return a wrapped QObject instead of a QQmlTypeWrapper, and only the latter includes enums. As QML based singletons (composite singletons) cannot declare enums, we can continue to do fast lookups on these, but otherwise have to fall back to the slower code path. Task-number: QTBUG-35721 Change-Id: Icc66bdaf3572622cdb718f82b706e3204afa0167 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* V4: remove class field in DominatorTree that was used only once.Erik Verbruggen2014-01-021-21/+18
| | | | | | | | | Calculation of all the children of nodes in the dominator tree is now calculated as a local variable right before computing the dominator frontier. The effect is that they are not retained after their only use. Change-Id: I83c962c691b78cb767708eb04cf30d3b7a760deb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* V4 IR: do not add unconditional jumps to work listsErik Verbruggen2014-01-021-1/+4
| | | | | | | | | | Both type inference and the optimization pass do not do anything with unconditional jumps. So, instead of adding them to the worklist and later on removing them again, it’s faster to never add them in the first place. Change-Id: Ib81d43e9ea6df2b1a70e9dd1e9b9c29cb6d345d2 Reviewed-by: Lars Knoll <lars.knoll@digia.com>