aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-1023-1197/+899
|\ | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4managed_p.h Change-Id: I5da7ae9c87a539e42292f272d9e2b5faab619c9f
| * 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>
* | [new compiler] CleanupsSimon Hausmann2014-01-104-900/+900
| | | | | | | | | | | | | | | | Move all compilation phase related sub-classes (property cache generator, component and alias resolver, etc.) together into qqmltypecompiler.cpp Change-Id: I598c801d9434623fc8e6338dec11e4d4ee6d7232 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [new compiler] Add support for implicitly defined componentsSimon Hausmann2014-01-107-35/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use-cases like itemDelegate: Item { ... } implicitly define a component without the item-surrounding Component {}, base on the fact that the property itself is of type QQmlComponent (or derived). This means we have to synthesize a Component {} object and insert it into the data structure. Change-Id: I8992451a5a6732c7fd898eaf83c276dc6a8b7d19 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [new compiler] CleanupsSimon Hausmann2014-01-105-86/+155
| | | | | | | | | | | | | | | | Tie QQmlCompilePass and QQmlTypeCompiler together, so that we can eliminate the battery of parameters to the individual compiler phases. Change-Id: If2b6cf8416e6c2253c8f054048d1fd5ae12282b6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | QQmlSettings: if debugging is turned on, show the path where storedShawn Rutledge2014-01-091-0/+3
| | | | | | | | | | | | | | Being able to read the file as stored is useful for debugging. Change-Id: Ifae8d2e1acc654d24efdbff2d2cb433f0e7d3f13 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | [new compiler] Move component determination and alias resolvingSimon Hausmann2014-01-093-44/+54
| | | | | | | | | | | | | | | | | | Move the code before the JS code generation, as we are going to need the component boundaries for the correct scoping. This requires the component and alias resolver to operate on the pre-compiled-data data structures. Change-Id: I8d2e697d8a05e5a4914db93e785704f6b2434a2e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Classify as Q_PRIMITIVE_TYPE a few private types.Sérgio Martins2014-01-092-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found by clang plugin matching the criteria: - is pod / movable - sizeof(T) <= sizeof(void*) - used by QList The only case that can't be fixed is: QList<TypeCache::Iterator> in qqmltypeloader.cpp:1924 because Iterator is declared in qhash.h:349 Maybe use a QVector ... Change-Id: I9007cf43b0cf29ff39f3d2c95fb60d766c976ce7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Classify struct Use with Q_MOVABLE_TYPE.Sérgio Martins2014-01-091-0/+3
| | | | | | | | | | | | | | It's movable, private, !isLarge and used by QLists in this code. Change-Id: I08c6e7e65625aba1bc798a3911a20d6d2ddc73fb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Cleanup: change signature of Object::insertMember()Lars Knoll2014-01-0911-73/+75
| | | | | | | | | | | | | | | | | | | | | | | | Methods returning a Property pointer have to be removed, so that we can move over to store member data requiring only one value for the common case of data properties. This will in the long term reduce memory consumption on 64 bit systems quite a bit. Change-Id: I78de3794ec7b3bc5db13aa57275d3f08fa9d470a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Smaller code cleanupLars Knoll2014-01-092-24/+13
| | | | | | | | | | | | | | Move the check for isEmpty() into ArrayData::getProperty. Change-Id: I1791ced706afadbb2f45883cb1b3915f40500b71 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Rework array handling for JS objectsLars Knoll2014-01-0936-803/+1299
| | | | | | | | | | | | | | | | | | Split up ArrayData into two classes, one for regular arrays, one for sparse arrays and cleanly separate the two cases. Only create array data on demand. Change-Id: I9ca8d0b53592174f213ba0f20caf93e77dba690a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fixes for argument objectsLars Knoll2014-01-094-4/+14
| | | | | | | | | | | | | | | | | | Fix a possible infinite recursion, and a corner case where we wouldn't set the correct data when writing to the argument object Change-Id: Ia64b9f62e9b881e24d74e23d96d5eb27805a126f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Add Object::hasOwnProperty()Lars Knoll2014-01-095-10/+16
| | | | | | | | | | | | | | | | This allows us to remove more getOwnProperty calls. This will be required later on to extend our array handling. Change-Id: I7b7f5887990cd443accf51891644fdfbb849cf35 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2014-01-0814-24/+196
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-01-0814-24/+196
| |\| | | | | | | | | | Change-Id: Ied8d65aaf57e897a3dbc4df100744a594e8ee2cf
| | * 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>
* | | Dont call updatePolish if an item is not visibleFabian Bumberger2014-01-083-6/+24
|/ / | | | | | | | | | | | | | | | | [ChangeLog][QtQuick][QQuickItem] "updatePolish" is not called for invisible items any more. Task-number: QTBUG-31830 Change-Id: Idad6107afaf0c6e6c96d9404ac286695c21883c7 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | [new compiler] CleanupsSimon Hausmann2014-01-085-173/+308
| | | | | | | | | | | | | | | | Move the code that calls the main compilation passes into a separate QQmlTypeCompiler class, away from the QQmlTypeLoader. Change-Id: Ia2f33a074d7fe7d9a092ff94d1e6cfc961ad5bdb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [new compiler] Fix signal handlers for properties declared in the same objectSimon Hausmann2014-01-085-82/+103
| | | | | | | | | | | | | | | | | | | | | | | | We need to generate the property caches before we can try converting the signal handler expressions in the AST to function declarations, as that conversion requires looking up the signal signature / meta-data from the property cache. This in turn requires rewriting the property cache generator code to operate on the data structure we have before creating the QV4::CompiledData. Change-Id: I0d1c59d947f36171b4eb89f47a2e1ff1bc493c6f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [new compiler] Fix assigning signal handlersSimon Hausmann2014-01-081-1/+4
| | | | | | | | | | | | | | | | When assigning a signal handler to the fooChanged property, we need to look up fooChanged as signal function, not as data property. Change-Id: I4c0e4374cea8ce9596428975e45e78a0b743a6fc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [new compiler] Initial support for custom parsersSimon Hausmann2014-01-089-10/+117
| | | | | | | | | | | | | | | | Enough to support the Connections {} element. What's missing are pre-compiled bindings signal handlers. Change-Id: I3ad1413fa636434d899ae8fb380249aaf40363dc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [new compiler] Preliminary support for QQmlIncubatorSimon Hausmann2014-01-086-10/+44
| | | | | | | | | | | | | | | | Just enough to run some unit tests that use QQuickLoader, components are created instantly. Change-Id: I1c827aa946d3e2a60ccc220bb79572aca2ed8c96 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Add QQuickMatrix4x4, a way to specify a matrix transform in QML.Erik Larsson2014-01-074-1/+102
| | | | | | | | | | | | | | | | | | | | | | | | Add QQuickMatrix4x4 which makes it possible to specify a 4x4 matrix tranformation directly in QML instead of decomposing the transformation into rotation, scale etc. It does NOT replace anything, just adds a new way of specifying a tranformation of an Item. Change-Id: I1b123778d1d458dfe4314cdb4f0fc99fd8a4c86a Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | remove QtQuick.Dialogs and related modulesShawn Rutledge2014-01-07100-10905/+0
| | | | | | | | | | | | | | | | | | | | | | | | They are being moved to the QtQuick Controls repository (see change ba9ba084124403bd8930e29d8afcea9d64b6c0b6 in qtquickcontrols). This makes it possible to use QtQuick Controls in the implementation. [ChangeLog][QtQuick][Dialogs]Moved dialog implementations from qtdeclarative module to qtquickcontrols module due to dependencies Change-Id: I76d5b71b185dd14a188ea68f18bfec61b4bf2f41 Reviewed-by: Liang Qi <liang.qi@digia.com>
* | [new compiler] Fix determination of id objects within component boundariesSimon Hausmann2014-01-062-28/+22
| | | | | | | | | | | | | | | | | | | | | | Don't draw the boundaries at Component {} level but at the level of the element inside the Component, so that we can still get the id of the Component element itself within the surrounding scope. Also removed unused data structure. Change-Id: I29e086e92f0310a38ba0a71224329f7399b397b2 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | [new compiler] Add support for parser status callbacksSimon Hausmann2014-01-063-0/+41
| | | | | | | | | | Change-Id: I62ce1fab2537d533d1d2052a7f5edc5061adf75e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Clean up handling of illegal names and enable in new compilerSimon Hausmann2014-01-066-31/+24
| | | | | | | | | | | | | | | | | | | | Access to the identifier hash may not be thread-safe from the loader thread, so use a QSet copy instead (which is cheap because we don't detach). This also enables the checking for illegal types again. Change-Id: I8c3ec1fd0fc01cce3269e206f479a90bdbbc89dd Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-0660-276/+383
|\| | | | | | | Change-Id: If9a205bea219b9aca95d78b1e556ca9bbff58dd0
| * 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>