aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-2523-77/+329
|\ | | | | | | | | | | | | Conflicts: tools/qmlimportscanner/main.cpp Change-Id: I01e17581f6691a03f83788773364d0cf96319514
| * Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2016-12-255-12/+190
| |\ | | | | | | | | | Change-Id: I72ed8656ef03d1bc28225e2186f03620b9e119e9
| | * Add changes file for 5.8.0v5.8.0-rc1Jani Heikkinen2016-12-091-0/+172
| | | | | | | | | | | | | | | Change-Id: I29311143b04cdd4d6a13980ccb57b7867bcf9c53 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| | * change type of QQuickPointerDevice::uniqueId to QPointingDeviceUniqueIdShawn Rutledge2016-12-091-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will make it easier to change or extend further, in case some future device has some sort of unique serial number which does not fit in a quint64. Task-number: QTBUG-54616 Change-Id: I8f20b13d75b937fce6a66653476d0d25f2abf34b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| | * rename QPointerUniqueId -> QPointingDeviceUniqueIdShawn Rutledge2016-12-092-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several people agreed that the name was confusing and that this one is better. Task-number: QTBUG-54616 Change-Id: Ie9d24fc6e233949be36c8b6ee2650080a8a3506e Reviewed-by: Sune Vuorela <sune@vuorela.dk> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| | * Calqlatr Example: Pass the third arg to the mapToItem() callsVenugopal Shivashankar2016-12-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently the mapToItem version used in the example requires at least three arguments, for some reason only two were provided, the item and the mouseX coordinate. Without the third argument, mouseY coordinate, the drag operation to move the display fails with warnings on the console. Task-number: QTBUG-57514 Change-Id: If1b16c27539bd90a2d20203dedc26f11ac2a0942 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * V4 Interpreter: reset the exception handler for every catch blockErik Verbruggen2016-12-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an exception handler consists of multiple basic-blocks, and is then followed by a finally block (for example: a catch block with a throw followed by a return, and then a subsequent finally block), then the finally block can be reached before the exception handler is reset by skipping the second block of the catch handler with a throw. As the finally block will then rethrow, and the old exception handler is still there, it will end in an endless loop. The fix is to reset the exception handler for every catch block. The problem occurred in ch12/12.14/S12.14_A13_T3 Change-Id: I968b62c6c2af30af32e2717a9ce85f852523dbe8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Doc: minor grammar mistakeNico Vertriest2016-12-211-1/+1
| | | | | | | | | | | | | | | Change-Id: If3aebd27e886181ebe0d41532935afdfb974586c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Example: corrected screenshot of the localstorage appNico Vertriest2016-12-213-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Was still displaying a screenshot of the previous example \image --> \borderedimage Change-Id: Ifb23d0ffe1216c7d79170b6bbbd7da1511afe79c Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * | qmlimportscanner: Output the relative path of a pluginFriedemann Kleint2016-12-201-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 3c5e438890db63ecde98c84d221f87a3af52e1bf enabling using the target path version of a parent module made it harder to determine the deployment target path from the module name. Output the relative path in addition to remove the need to do that in deployment tools. Task-number: QTBUG-57494 Task-number: QTBUG-52556 Change-Id: Ib76f40f19b530f9351205df9109f2fef6191979d Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * | Fix wrong grabbing behaviorFilipe Azevedo2016-12-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickWidget::grabFrameBuffer() was not polishing its items nor syncing the scene graph compared to standard QQuickWindow::grabWindow(). This lead to QQuickWidget grabbed content to be outdated (render the previous frame as a new frame). Task-number: QTBUG-57596 Change-Id: I94f5e0aa5b096fb9e21259267c0e50473e8ed5bd Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | ListView, GridView: fix missing keyNavigationEnabled propertyMitch Curtis2016-12-205-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, this code: import QtQuick 2.7 ListView { keyNavigationEnabled: true } Would cause this error: "ListView.keyNavigationEnabled" is not available in QtQuick 2.7. This is because ItemView was missing a revision: qmlRegisterUncreatableType<QQuickItemView, 7>( uri, 2, 7, "ItemView", QQuickItemView::tr("ItemView is an abstract base class")); Task-number: QTBUG-57621 Change-Id: Ia00cb7446a0d83278760f3aa361db5a864661bc6 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * | QmlProfiler: Don't create a new event ID for each binding instanceUlf Hermann2016-12-202-31/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want the IDs to reflect the location and the type of event that is happening. Thus all instances of a particular component should share the same IDs for their bindings. Otherwise the aggregated views of the QML profiler list the same locations again and again for each object. Change-Id: I3f8a7531589b42f785e40c7c5b04b229f639d696 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | V4 Profiler: Don't delete compilation units when copying trace dataUlf Hermann2016-12-201-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the trace data is the only thing holding a reference to a particular compilation unit and we are copying the last FunctionCall from that compilationUnit onto the second last, we have to first addref() and then release() as otherwise it might disappear in between. Also we don't need to check m_function for null, as the ctor guarantees it is never null. Change-Id: I6eaf64abe71f9785d4e76e18dabd9a0676564da1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Q_CHECK_PTR QSGGeometry allocationsUlf Hermann2016-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | We want to cleanly crash if they fail, rather than return a null pointer from vertexData(). Change-Id: Ie88adaa9f0977c70ef4a47a59463509dcd15bdcf Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * | Q_CHECK_PTR the result of malloc() in batch rendererUlf Hermann2016-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | We want to cleanly crash if it fails. Change-Id: Ib32d3d6ae0c5d58e0a954e55adca8b2c4081a7f5 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * | Doc: added support for JSON in localstorage documentationNico Vertriest2016-12-202-11/+41
| | | | | | | | | | | | | | | | | | | | | Added examples on how to store in JSON format Change-Id: Ief58e28d42cd87cc0829e9265670e7c7bbdbeffe Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Fix Q_QUICK_SG_PROFILE macros in OpenVG renderloopAndy Nichols2016-12-251-4/+8
| | | | | | | | | | | | | | | Change-Id: Ied37cc78b5338d17bb72735061be24cb20501d57 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | quicktest: Don't warn if the root item has no sizeRobin Burchell2016-12-221-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It could be argued that all callers should be fixed, but this warning has existed since 2012 and even our own tests do not all set sizes, so I think that battle is a lost fight. This helps make real problems with the tests more visible. Change-Id: Ie29521695ef11943154dae40726d194dc72316c2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | QQuickValueTypes: Avoid QVariant boxing (and unboxing) to convert color to ↵Robin Burchell2016-12-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | string We can maintain the spoken about compatibility without the performance penalty by inlining what qguivariant.cpp does. Change-Id: I95a8b8d660fb9104ae2d30d0ece943bccf169679 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | | particles: Fix up 16k warnings and apply them on non-ES tooLaszlo Agocs2016-12-212-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | The isOpenGLES() condition is plain wrong: the code always uses ushort as the index type. Change-Id: Ibc5989227f61201913ff124485df4890b3490db5 Task-number: QTBUG-57515 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | | TestCase: make parent argument to createTemporaryObject optionalMitch Curtis2016-12-212-7/+37
| | | | | | | | | | | | | | | | | | | | | | | | This matches the behavior seen from Component's createObject() function. Change-Id: I83fe73a588d04c5efd30c49059bb19e7584bef48 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Remove checksync.plRobin Burchell2016-12-211-106/+0
| | | | | | | | | | | | | | | | | | | | | | | | This seems to date back to much earlier times, and does not seem to be of much use anymore. Change-Id: Ia0047c280102da9e85de0d10133df3135433dc45 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | TestCase: don't try to access destroyed temporary objectsMitch Curtis2016-12-212-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Objects created with createTemporaryObject() and createTemporaryQmlObject() can be destroyed manually before the test ends. Before this patch, there would be a type error when trying to check if the object still exists in qtest_destroyTemporaryObjects(). The error seems to stem from the fact that objects that are stored in an array and later destroy()'d are not nullified, but rather left in a corrupt state. See the linked bug for more information about this. We work around this issue by checking for the existence of the destroy() function on the object before attempting to call it. Task-number: QTBUG-57749 Change-Id: I0f6ddd47d86af6fb87392c2992f9f6143af6aab8 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Keys: add shortcutOverride signalMitch Curtis2016-12-185-1/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows an item to accept the shortcutOverride event, preventing e.g. Shortcut from stealing key events. The original use case that prompted the creation of this patch was using a Popup from Controls 2 to create a keyboard shortcut editor. When the user wanted to cancel the shortcut that they were editing, they could press escape, but Popup would grab the shortcut and close itself. As the test case demonstrates, the same problem occurs with the Shortcut type in Qt Quick. [ChangeLog][QtQuick][Keys] Added shortcutOverride signal to Keys attached object to allow prevention of e.g. Shortcut from stealing key events. Task-number: QTBUG-57098 Change-Id: I594e4ea17ec417d8c7d93c6cf347c1a1a2e62b93 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | | Add pressAndHoldInterval to MouseAreaOlivier JG2016-12-166-2/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce pressAndHoldInterval to allow setting the pressAndHold delay per-MouseArea. [ChangeLog][QtQml][MouseArea] Introduce pressAndHoldInterval property, which controls the elapsed time before pressAndHold is emitted. Task-Id: QTBUG-47662 Change-Id: Ic2173335033a6ed0d4b652333020f030de63a8e7 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-14299-4262/+5332
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_debugger/qv4debugjob.cpp src/plugins/qmltooling/qmldbg_inspector/globalinspector.cpp src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp src/qml/qml/qqmlimport.cpp src/quick/items/context2d/qquickcontext2dtexture_p.h tools/qmleasing/splineeditor.h Change-Id: I8f6630fcac243824350986c8e9f4bd6483bf20b5
| * | Example: correction initialization fields Header.qmlNico Vertriest2016-12-131-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | Error msg: Can't assign to existing role 'distance' of different type [String -> Number] Change-Id: I28842ed25a56077e52496a229294ef992406ca1d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Accept PUA characters, ZWNJ and ZWJ as input in TextInput/EditEskil Abrahamsen Blomfeldt2016-12-134-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Private Use Area characters are quite valid input characters when used in combination with a custom font. Joiners also serve an important language purpose in semitic writing systems. [ChangeLog][QtWidgets][Input] Support characters in Private Use Area, as well as zero-width joiners and zero-width non-joiners in input in TextInput and TextEdit. Task-number: QTBUG-42074 Task-number: QTBUG-57003 Change-Id: I4a9d6b9ea172d29375c20abfb7aebb6748c5d300 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * | Minor optimizationLars Knoll2016-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Use the pre-computed hasQmlDependencies boolean in QV4::Function instead of checking three integers. Change-Id: Ib7194ccf9e9eb58b0d3c692388adc0cfa4cd3891 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Optimize code in instanceOf() of FunctionObject::protoForConstructor()Lars Knoll2016-12-133-17/+17
| | | | | | | | | | | | | | | | | | | | | Saves around 1.5% instructions for the Earley Boyer benchmark Change-Id: I552d324d5e1713f655ab9909f30c9527bb4ff777 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Micro optimizationLars Knoll2016-12-131-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Avoid checking whether the object is a Managed if we already know that. Change-Id: I78234b47269d3eb1a322fdafe7654f91dae7545a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Streamline code allocating MemberDataLars Knoll2016-12-134-34/+12
| | | | | | | | | | | | | | | | | | | | | Saves around 1% in the Splay benchmark. Change-Id: I32c8807d6688351beea2a34d945e8ef87b31355f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Optimize Arguments ObjectLars Knoll2016-12-133-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid creation of the Array in most cases. Fix FunctionObject::method_apply so that it correctly recognizes this case and does the right thing. Add a getLength() method to ArgumentsObject to speed up the lookup of that property. Improves the RayTrace benchmark by around 15%. Change-Id: I53eb34a1f9515e59a191ee6f0eb23a3f4c6882d1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Initialize idx in QV4::Lookup::indexedGetterFallback()Ulf Hermann2016-12-121-1/+1
| | | | | | | | | | | | | | | Change-Id: If7fe6635155937fa3e8c94ac081a267d96563859 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Example: Improve the localstorage exampleNico Vertriest2016-12-1212-173/+669
| | | | | | | | | | | | | | | | | | | | | | | | - insert/update/delete instead of only insert - database connection and sql handled in Database.js Change-Id: I513b23061e569f4511dd166ed79898db7f628139 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * | Clean up the amount of init() methods on FunctionObjectLars Knoll2016-12-112-47/+7
| | | | | | | | | | | | | | | | | | | | | | | | Remove some unused ones and simplify the version taking a QString Change-Id: I682b4a06d4da84c2d6be7e4a9a3e831dbd11c9c4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Get rid of SimpleScriptFunctionLars Knoll2016-12-116-94/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the code paths are very similar, we can simply to the check whether to do a fast or slow function call in ScriptFunction::call/contruct. To make this fast, cache the result of the required check in QV4::Function Change-Id: I03085ca2beb83b1721b60b0d7b2ab4c9266d1e48 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Some smaller optimizations for indexed property accessLars Knoll2016-12-102-23/+47
| | | | | | | | | | | | | | | | | | | | | Saves around 1% of instructions on crypto.js Change-Id: Iccef08b204e6e752d827242baf156efd9a4d58a7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Avoid one additional check when retrieving the Heap object from a ValueLars Knoll2016-12-101-7/+7
| | | | | | | | | | | | | | | Change-Id: Ief43d899e47cbfd865458a38aab8c466f6c2c76f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Get rid of QQmlJavaScriptExpression::setFunctionObject()Lars Knoll2016-12-093-14/+2
| | | | | | | | | | | | | | | | | | | | | | | | It was only used in one place now, and the code is actually cleaner when calling setupFunction() instead. Change-Id: Idfe2842b81e765569f2c70f3d5dcd1862442a2ee Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Fix coding styleLars Knoll2016-12-091-10/+6
| | | | | | | | | | | | | | | Change-Id: I2d6d67273533930aaa9fc61c5f4cdbef2f0bcf53 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Pass a QV4::Function to the QQmlBoundSignalExpression constructorLars Knoll2016-12-093-6/+6
| | | | | | | | | | | | | | | | | | | | | And avoid the creation of a temporary FunctionObject Change-Id: Idaacfd978ac4ee26960bdf185272cc44d6618a71 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Avoid passing a FunctionObject to QQmlBinding::create()Lars Knoll2016-12-096-22/+10
| | | | | | | | | | | | | | | | | | | | | | | | Like this we can remove the QQmlBinding::create() overload that takes a FunctionObject. Change-Id: Ib6c37395ded325e68cf0fbf3afd08fb6dd6efa3b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Directly store the referenced QV4::Function pointer in the binding functionLars Knoll2016-12-093-26/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need to store a pointer to the original function here, we can simplify the code when storing the pointer to the QV4::Function directly. Change-Id: I377aaecf56a0118606713c26cc7da4da001766b1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Fix the init() function in Heap::FunctionObjectLars Knoll2016-12-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the overloads took a QV4::Function * and was so far apparently unused (as it couldn't have worked since change 3b14e2ffdd8eb4b7f7f4508768b75f2acc399370). Fix it since it's getting some use again in the next change. Change-Id: I3eabb332f9e3f2262a5710d43016346b7138f7e7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Don't store a source location in the QQmlBindingFunction anymoreLars Knoll2016-12-096-19/+5
| | | | | | | | | | | | | | | | | | | | | | | | It's not needed anymore as we now store this in the binding directly. Change-Id: I518c83207f219b690f31200e4d17251075bbd322 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Add a setSourceLocation() methodLars Knoll2016-12-092-1/+9
| | | | | | | | | | | | | | | Change-Id: I611ab4fe5dd59cb8e07b0fa69ce22c7df5a6c3f2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Get rid of FunctionObject::createQmlFunctionLars Knoll2016-12-097-37/+23
| | | | | | | | | | | | | | | | | | | | | | | | Instead, simply create a QmlContext, and setup the bindings with the QV4::Function itself. Change-Id: I9db93b15112e43a6d5e275d126fb20f9c8833e8f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Don't create a FunctionObject in createQmlBinding()Lars Knoll2016-12-093-53/+2
| | | | | | | | | | | | | | | | | | | | | | | | This also removes the last use of the QmlBindingWrapper, so remove that class as well. Change-Id: I2ec795b6ab695a689fb24d64c9b8809b651c2b37 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>