aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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>
| * 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>
| * V4: re-enable test cases disabled for QTBUG-34047Erik Verbruggen2014-01-021-9/+1
| | | | | | | | | | | | | | Task-number: QTBUG-34047 Change-Id: Idcce254f3594e1f7021705704dbe6a2330aa7e65 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * V4 IR: change datastructures for dominator calculations.Erik Verbruggen2014-01-021-112/+172
| | | | | | | | | | | | | | | | Replace hashes from basic-block to basic-block with vectors that associate basic-block index to basic-block index. Change-Id: I834ea3d825e4d2b02c075b1b0f080f5a65f41317 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
| * Doc: Fix broken linksSze Howe Koh2013-12-3044-76/+75
| | | | | | | | | | Change-Id: I4c4577edde96978a986606bf30fbb925f871bd42 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * QtQuick ColorDialog: ensure slider rotation takes effectShawn Rutledge2013-12-301-0/+5
| | | | | | | | | | | | Task-number: QTBUG-35206 Change-Id: Ia6b4f743cd9bea937eb891ddd16776f975d42bcd Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * QtQuick.Dialogs: check for inheriting from QApplicationShawn Rutledge2013-12-291-1/+1
| | | | | | | | | | | | | | | | | | Widget-based dialogs are allowed if the application is a QApplication, but subclassing is OK too. Task-number: QTBUG-35769 Change-Id: Iec329792d7c1d85adcb1c3542444f0e92792b20b Reviewed-by: Liang Qi <liang.qi@digia.com>
| * Context2D: don't use an arrow to illustrate scaling in the docs.Mitch Curtis2013-12-261-0/+0
| | | | | | | | | | | | | | | | | | | | The example image scales an arrow, but uses an arrow to indicate that the next image (an arrow) is a result of the first arrow being scaled. Instead, use a circle. Change-Id: I8de18d4c2f3cb309681f63c31b0c9f7255d1868c Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | Fix interaction of QQuickItems with the garbage collectorSimon Hausmann2014-01-066-0/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QObject ownership of QQuickItem objects is not accessible / mutable in QML, because the parent property maps to the (dynamic) visual parent. There are use-cases of creating QQuickItem objects without a QObject parent and to support this, the visual parent needs to mark its visual children in order to provide intuitive semantics. [ChangeLog][QtQuick][Import Behavior Changes] A QQuick Item is now strongly referenced by its visual parent item, so it doesn't require a QObject parent to stay alive. Task-number: QTBUG-35913 Change-Id: Ief2d40ac76298a0cf241ca73ff654c4ecfa12748 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix a warning about casting from asciiLars Knoll2014-01-031-2/+2
| | | | | | | | | | Change-Id: I4e1b7151742dcb6296e59dd59146c908cd5587ba Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Move array data into it's own structLars Knoll2014-01-0316-335/+338
| | | | | | | | | | | | | | First step of separating the array data from Object. Change-Id: I5c857397f0ef53cff0807debdb1e405424e1046a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Get rid of the nonStrictArgumentsObject flag in ManagedLars Knoll2014-01-036-9/+10
| | | | | | | | | | Change-Id: I4ac58e9d87506ae930c2e44e6089f4af3cd9ccb2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Use the flags to check whether a Managed is of a certain typeLars Knoll2014-01-032-6/+5
| | | | | | | | | | Change-Id: I740c4b7e26bdb9d9f40c1c46615cc68f679e036f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix compiler warning about wrong reinterpret_castLars Knoll2014-01-031-4/+4
| | | | | | | | | | | | | | | | | | No need to use reinterpret_cast's in the type checking for the Managed casting. A static cast works just as well (as it's actually used two lines further down). Change-Id: Ie531098eddddda7e9f151eaedc136cbeab14f473 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Move Managed::type and some flags into the vtableLars Knoll2014-01-0332-82/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | Move the type flag into the vtable to free up these bits in the Managed class, and not have to set them at object construction time. As we often need to know whether a Managed object is a Object, FunctionObject or String, add some bitflags to test for these to the vtable. Change-Id: I7d08ca044544debb307b55f124f34cb086ad9e84 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Clear out memory in the GC, not when constructing objectsLars Knoll2014-01-032-4/+2
| | | | | | | | | | | | | | | | Object construction shouldn't need to zero initialize itself, let's rather do this in the GC, where we can use fast memset's. Change-Id: I2f9efa1729183b0d737de5a84f92af319b2c5631 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Do not call InternalClass::changeVTable directlyLars Knoll2014-01-032-4/+6
| | | | | | | | | | | | | | | | vtable changes need to happen when the internal class is being constructed, not later on. Change-Id: Ibb9515745c9fc3507a5a90b4cc50a33e2e0d3f99 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2013-12-2444-118/+175
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-2444-118/+175
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickrectangle.cpp Change-Id: Ia40bc0f2f08b5be68e32eb1e1f118445d20e44fc
| | * systemdialogs example: path to /tmp is different on WindowsShawn Rutledge2013-12-231-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-34100 Change-Id: Ic06ed2933b76704b1a298de826cbe6b8587fee76 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| | * Doc: Fixed a few broken links and snippetsVenu2013-12-232-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <nico.vertriest@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * QtQuick docs: add missing \qmlpropertygroup commandsJ-P Nurmi2013-12-2012-0/+16
| | | | | | | | | | | | | | | | | | | | | "warning: No QML property group command found; using..." Change-Id: Iafbdbc09cbd76bf81a5baf3a5a4fab843778b5cb Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * Doc: Updated the image URLVenu2013-12-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing HTTP url for logo.png was automatically redirected to an HTTPS url which fails without SSL. So updated the example to use different HTTP url. Also updated another image URL, which is invalid now. Task-number: QTBUG-35557 Change-Id: I793fc5ebda64b21f443da7db9ecda76ae951d5bf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>