aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* V4: Conform method_objectLiteral arguments to equal other methodsErik Verbruggen2018-10-124-5/+5
| | | | | | | This runtime function was the only one taking argc before arguments. Change-Id: If0b049697f7fcc2746e8d287193a5b1230a6ea56 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* JS: Check expressions inside template literals for validityErik Verbruggen2018-10-121-0/+4
| | | | | | | | | And not use (a possibly invalid result) blindly, because this will cause assertion failures down the line. Task-number: QTBUG-71081 Change-Id: Id10149c55026094a355bd747f66014119c0e24f5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove doc about accepting/rejecting the event in ungrabEvent virtualsShawn Rutledge2018-10-111-4/+0
| | | | | | | | There is no event being passed to these virtuals, so it's not possible. Amends 9cb13a422e11b6523aa52cd71cf073c8469c20d6 Change-Id: Id122270c5988bfd06ebd46b154a25b165d7fed13 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Item Views: cancel flicking before programmatic absolute positioningShawn Rutledge2018-10-111-0/+2
| | | | | | | | | | | | When the velocity timeline is driving movement and simultaneously someone calls positionViewAtIndex(), it gets very confused and goes on creating and destroying delegates for a very long time. So now we cancel the flicking animation immediately when calling any of the positionViewAt* invokables. Fixes: QTBUG-70941 Change-Id: I85e09344e79356b877a57ab634f72be1d7f93fca Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix error reporting when imports or re-exports in modules failSimon Hausmann2018-10-115-4/+28
| | | | | | | | Collect the location of the import/export statement and include it in the exception thrown. Change-Id: I7966dfd53ed67d2d7087acde2dd8ff67c64cb044 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* JS: Check array subscripts for validity when generating codeErik Verbruggen2018-10-111-0/+2
| | | | | | Task-number: QTBUG-71079 Change-Id: I999130f3994f513bb9d2ca8ddaa94688451937fc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QML Engine: Support for JavaScript PromisesValery Kotov2018-10-116-2/+1308
| | | | | | | Support for JavaScript Promises. Change-Id: I90ce328b35f3bdf3fd666a8829f22b5d56b6f861 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix QQuickRenderControl::invalidate with software rendererAllan Sandfeld Jensen2018-10-101-3/+3
| | | | | | | | | | With the software renderer QQuickRenderControl::initialize() is never called, but we still need to cleanup scenegraph nodes on destruction or invalidation. Change-Id: I4c17a440d683b1f0512fb8a9370430cf3680d8ee Task-number: QTBUG-70740 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QML Tooling: Prevent property capture while collecting dataUlf Hermann2018-10-101-0/+28
| | | | | | | | | We don't want additional connections to be formed as result of reporting data to the debugger. Task-number: QTBUG-70989 Change-Id: I78b038a159addac43a8661e402a70e5b14fb222b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QML Tooling: Don't read properties in order to count themUlf Hermann2018-10-101-2/+1
| | | | | | | | | Reading properties may have side effects and we don't actually need the values here. Task-number: QTBUG-70989 Change-Id: If9f43f3c6a390ebd0ab1d1375fd021189adb10f7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: Clarify that BC does not apply to Qt Quick TestPaul Wicking2018-10-101-0/+5
| | | | | | Task-number: QTBUG-17531 Change-Id: I6ec35005800dd84d9d2a2c36c0ead97c573c9792 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix use of OpenGL scenegraph in static buildsAllan Sandfeld Jensen2018-10-092-7/+7
| | | | | | | | Make sure the resources are initialized when the default QSG context is in use, and not just when QML is used. Change-Id: I581906bf59cf4ea07505c8ad9e15f2833f727ca2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix possibly uninitialized use of unionErik Verbruggen2018-10-091-2/+2
| | | | | | Task-number: QTBUG-71011 Change-Id: I42410364b45ecd38832a0e5abb82eb56f9828504 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmlplugindump: Properly handle extension typesKai Koehne2018-10-092-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extension classes do augment the primary C++ class with additional properties that should be part of the QML type. Anyhow, they should not be visible in the API. The old logic tried to emulate this by making the extension class the actual C++ type, and 'inheriting' from the normal class by setting it in the prototype. Anyhow, this failed for e.g. Qt3D, where there are numerous types sharing the same extension class. Instead, this patch fixes the issue a) hiding the extension class metainformation itself, and b) printing properties of the extension class as part of the main type. In the QMetaObject collection phase, we now traverse the class hierarchy using QQmlType::baseMetaObject instead of QQmlType::metaObject. In the generation phase, we explicitly resolve the extended type, and dump additional properties and "DefaultProperty" information into the main type description. Note that the ExtendedType sets the DefaultProperty independent of the version. Changing this would require either revisioning the defaultProperty, or (again) splitting up the types, which however brings other problems. Task-number: QTBUG-70294 Change-Id: I324469152398a605fae9e5a35b619845444ac4e8 Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* Enhance the documentation about changing model data from QMLNils Jeisecke2018-10-082-28/+80
| | | | | | | | | | | | | | | | Since 4253f11774ed113cfc69794435e7e66b373bc2cd (5.6), write access to QQmlListModel model properties is implemented. QAbstractItemModel derived models seem to have implemented setData invocation on model property writes since 5.0. However this was never mentioned in the documentation, so it has been a rather unknown but very useful feature. Task-number: QTBUG-32064 Change-Id: I0424bd440480166f1c36ce9fbad2c36a0e73f08e Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-10-087-39/+109
|\ | | | | | | | | | | | | | | Conflicts: src/3rdparty/masm/yarr/YarrJIT.h src/quick/items/qquickwindow.cpp Change-Id: I551404e1558d56c0b0626346ad1c86406bff0ec7
| * Fix crash in QQuickAnimatorProxyJob::sceneGraphInitialized()Andrew Smolko2018-10-051-2/+4
| | | | | | | | | | | | | | | | Check for null pointer to controller. Fixes: QTBUG-64402 Change-Id: Ic84bdc9c5cde0e65da436e1c85b40eaf6e3ed77a Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * QQuickItem: document which events are accepted by defaultMitch Curtis2018-10-042-1/+51
| | | | | | | | | | Change-Id: I64a2ab811b48d2a231e18c493fb1f6087fd02905 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Mark QML captured scope/context loads as having side effectsErik Verbruggen2018-10-041-0/+4
| | | | | | | | | | | | Task-number: QTBUG-69973 Change-Id: I8636d74c76db3859a6bd5134fd5e52f571340a71 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Don't get confused about the grabber during replayDelayedPressShawn Rutledge2018-10-031-35/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-apply a fix equivalent to 8bdf33051aa679db1f060314c6ccab1cb9a77a7a which seemingly never got included in 5.10 or newer branches. If a ListView with pressDelay contains a MouseArea in a delegate, and you tap the MouseArea on a touchscreen, QQuickFlickablePrivate::replayDelayedPress() sends a saved copy of the original QMouseEvent, and then a synthetic release, without marking it as synthetic. (QQuickFlickable is not touch-aware in any way: it thinks the mouse events it receives are real ones.) As a result of sending the delayed press through, QQuickWindowPrivate::setMouseGrabber() is called and sets the touchpoint's grabber to the MouseArea, but does not set the core pointer's eventpoint's grabber. Flickable then ungrabs for itself, so we have to ensure that the ungrab affects either the actual mouse or the synth-mouse, whichever was in use. Then because the synthetic release is not known to come from a touchscreen, QQuickWindowPrivate::deliverMouseEvent() was checking the core pointer's grabber and concluding that there is no grabber. In such a case, it now checks whether touchMouseId is set, meaning that we are somewhere between sending a synthesized press and release, gets the touchpoint's grabber (which is MouseArea, because it didn't reject the press), and sends the release there. Task-number: QTBUG-61144 Fixes: QTBUG-69059 Change-Id: Ie027bef4c8de16e1cbf5d19e120cb22a3df4c037 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * YarrJIT: disable MatchResult decoding constructor on 64bitErik Verbruggen2018-10-022-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The YarrJIT generated code returns result differently on 32bit and 64bit platforms: on 64bit the struct is returned (where Win64 is explicitly handled separately), but on 32bit a uint64_t is returned. This constructor takes care of decoding that uint64_t value, so it is only needed on 32bit platforms. The code is actually invalid on 64bit. Task-number: QTBUG-69996 Change-Id: Ie8cc737da55633aafa4bd6b3ebb8625b4ab354c1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Add QQuickItemPrivate::updateOrAddItemChangeListener()Mitch Curtis2018-10-022-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is identical to the existing updateOrAddGeometryChangeListener(), except that it updates the regular "types" member, not "gTypes". This function will allow preventing duplicate change listeners, at the expensive of a call to QVector::indexOf(). It's useful when there is no other way for calling code to check if a listener will be a duplicate before adding it. Task-number: QTBUG-69056 Task-number: QTBUG-70729 Change-Id: Idba039f355023e8d45a8b46e4af95aa81c13c3f4 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Make Codegen::Reference movableErik Verbruggen2018-10-072-67/+4
| | | | | | | | | | | | | | | | This removes the call to Reference::operator= and allows the constructor and assignment to be inlined. Change-Id: I173ae47127cc5c939300c1178c4c8637882f1c49 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Trim some #includesErik Verbruggen2018-10-073-14/+4
| | | | | | | | | | Change-Id: I5346fc36c89b7969c2bef3069f256f33bd4d9eb9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | ES7: Implement Tail Position Calls in the runtimeErik Verbruggen2018-10-0511-31/+174
| | | | | | | | | | Change-Id: If1629109722496b3fd10b36b2376548440f2fee9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Whitelist the Qt tests pathUlf Hermann2018-10-051-1/+3
| | | | | | | | | | | | | | | | | | | | Having that blacklisted only provides some bullet/foot interaction when running the test on an installed Qt. Just leaving it out of blacklist is not enough as the prefix and data paths are usually parents of the tests path. Change-Id: I480ecd88716a2f0084c1acbb8c29cde2c2b4590a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | ES7: Detect Tail Position Calls and pass that to the runtimeErik Verbruggen2018-10-0411-34/+180
| | | | | | | | | | | | | | Doing the tail call in the runtime will come in a follow-up patch Change-Id: I8224aac0edbdc765ee9b97703948edd52fd33f3e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QQuickGridView: Respect marginsUlf Hermann2018-10-041-6/+8
| | | | | | | | | | | | | | | | | | | | The margin has to be taken into account when calculating the positions for the dimension we are not scrolling and when calculating the number of columns available. Fixes: QTBUG-69863 Change-Id: Id2a53ced263c8926a8bfaf658376be293af3e8c9 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Fix QSGImageNode with QSGLayer in software modeAllan Sandfeld Jensen2018-10-031-1/+11
| | | | | | | | | | | | | | | | This worked in OpenGL but not in software mode as the combination is not recognized. Change-Id: Ic44d1506d7cb2281f268325207a03ea1254b43a0 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Remove obsolete VisualDataModel, *Group and VisualItemModel in Qt 6Shawn Rutledge2018-10-031-0/+2
| | | | | | | | | | | | | | | | | | | | VisualDataModel, VisualDataGroup, and VisualItemModel are replaced with DelegateModel, DelegateModelGroup, and ObjectModel respectively (since 7cad0e52c5a020bd29635e9912fd8946a6b48124). In Qt 6 they will be removed. Change-Id: Ia54bb7a2f9b97b7a8115a0f0bab63a08eca59fc0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Replace more vestiges of VisualDataModel, *Group and VisualItemModelShawn Rutledge2018-10-034-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | VisualDataModel, VisualDataGroup, and VisualItemModel are replaced with DelegateModel, DelegateModelGroup, and ObjectModel respectively (since 7cad0e52c5a020bd29635e9912fd8946a6b48124), so shouldn't be mentioned anymore, in preparation for removal. Task-number: QTBUG-37725 Change-Id: I9a01ec8db748f817efca638383b7a278c7b562cd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | QQuickItemPrivate::canAcceptTabFocus(): respect non-editable spinboxesJ-P Nurmi2018-10-031-10/+9
| | | | | | | | | | | | | | | | | | In Qt Quick Controls 2, SpinBox can be a non-editable mobile-like value "stepper". Change-Id: If1440170c9d5dc193e01541bcf3c706ab4fc346e Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | no-thread: build fix for when networking is enabledv5.12.0-beta1Lorn Potter2018-10-011-1/+1
| | | | | | | | | | Change-Id: I5e9601d056d43fe4ba1ecf874a68c1986110e447 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into 5.12" into ↵Liang Qi2018-10-017-17/+28
|\ \ | | | | | | | | | refs/staging/5.12
| * | Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-10-017-17/+28
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickevents_p_p.h Change-Id: I8c699aeb46903e2ea80a97a346cb5af460859a98
| | * Add QT_CONFIG(filesystemwatcher) guard for includeLiang Qi2018-10-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This is needed by 555a6b5d in qtbase. Change-Id: I4c8379c2db704f7d7f2f9a933b062285dd9d8e26 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Fix Integrity OS allocator memory attributesJanne Koskinen2018-09-283-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Correctly set the attributes when allocation is extending to more than one page. Code spanning multiple pages can now be executed. Task-number: QTBUG-70350 Change-Id: I02af1add274f80befda5662d9670bfd2052c3c52 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Doc: Remove wrong ';' from Q_PROPERTY exampleKai Koehne2018-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | | This won't compile. Change-Id: I823435673ebe47900dd8ba2a2a9f6f49e4a31539 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * Prevent PathView's parent stealing mouse grab during double-flickChris Adams2018-09-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes an issue where mouse events could be stolen by the parent of a PathView due to the PathView not correctly setting the keep-mouse-grab flag in handleMousePressEvent(). This commit ensures that the flag is correctly set, so that the second flick in a double flick is handled by the PathView rather than being stolen by the parent. Task-number: QTBUG-59620 Change-Id: Iccdfe16e7e80e6d1d31f95c3dba9c8839b20f30f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * Merge remote-tracking branch 'origin/5.11.2' into 5.11Qt Forward Merge Bot2018-09-112-10/+13
| | |\ | | | | | | | | | | | | Change-Id: I2fe338065152bc8186c32cf3f56966c6bc9dc10c
| | | * Add some null pointer checks to avoid some rare crashesv5.11.2Jan Arve Sæther2018-09-112-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The crashes happened because somebody was calling processEvents() from a mouse/touch event handler that was running for a long time. If we called processEvents() from the onPressed handler, and we released the mouse while still not having returned from the onPressed handler, it meant that we were actually delivering the release event before the press event was fully delivered... This should normally not be a problem, but QQuickWindow is reusing the QQuickPointerEvent object for each incoming QEvent, which meant that when we were delivering the release event, it would reuse (and overwrite) the QQuickPointerEvent that the press event handler is still using.... This then caused some assumptions that the code made to be wrong. This only avoids the crashes, and doesn't really fix the "out-of-order" delivery and the state inconsistency that this can lead to (e.g. mouse button states might be still wrong). But on the other hand, it is not the recommended way of making a long-running handler not block the application. The proper way is to create a thread that will run in the background, so that there would be no need to call processEvents() in the event handler. Change-Id: I6fa5d4f5748ef30d082a210f03ef382922bd4b29 Task-number: QTBUG-65454 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Doc: Fix QDoc warningsPaul Wicking2018-10-015-7/+7
|/ / / | | | | | | | | | | | | Change-Id: I19545953bde10d4ccc2f37843dcda2569dc77df4 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | | Doc: Remove references to Qt Quick 1Kai Koehne2018-10-0113-49/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Quick 1 is dead since Qt 5.0, so it doesn't make much sense anymore to link to different names there, or highlight behavioral differences. Task-number: QTBUG-70780 Change-Id: Iac5e0b226621f127714e722a11208ca1b21d977f Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | QQuickTableView: improve performance when scrolling with scrollbarsRichard Moe Gustavsen2018-09-292-23/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When flicking, the current implementation would load and unload edges around the table until the new viewport was covered. The downside of that strategy is that you if you move the viewport a long distance in one go, you will need to load and unload edges hidden outside the viewport until it catches up with the new viewport. It gets even worse if you flick with a scrollbar, since then you can end up flicking thousands of rows in one go. And this will keep tableview busy loading and unloading edges for a "long" time. This patch will fix this issue by checking how much the viewport changes during a flick, and select a strategy based on that. So if the viewport moves more than a page (which is the size of the viewport), it will schedule a rebuild of the table from the viewports new location, rather than trying to load and unload edges until it catches up. Fixes: QTBUG-70704 Change-Id: I88909e118ec0759a7b7a305c19ccc6670af6263b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Add missing Q_FLAG declarations in QObject subclassesShawn Rutledge2018-09-286-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should make debugging easier (qDebug() << value will print the name rather than the number). This patch does not address remaining enums in private classes, namespaces and non-QObject classes. Change-Id: I1d28e5b15de5a4f267e280ff1823bc5982ac29ca Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | Remove redundant Q_ENUM declarations in QQuickEventPointShawn Rutledge2018-09-281-3/+0
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-70374 Change-Id: Ic382bef1f6155ecd4d4b0a5a4e7b28b3dcb257ff Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | QmlPreview: Change license to LGPL/GPL/CommercialUlf Hermann2018-09-2814-57/+211
| | | | | | | | | | | | | | | | | | Change-Id: I17484583ca02f98d6120816611ccc7e8b0ce43e3 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | | Make a method constErik Verbruggen2018-09-281-1/+1
| | | | | | | | | | | | | | | Change-Id: I70043699d15daf858c47d30018060aef31810abb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Disable GL_NV_path_rendering unless explicitly requestedLaszlo Agocs2018-09-272-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flip the default value of enableVendorExtensions, so that we use the generic Shape backend (triangulating + QSGGeometryNode) by default, even on NVIDIA systems. The Nvpr backend is only tried when enableVendorExtensions is set to true by the application. This makes the offering more stable over all since applications will not run into confusing glitches that only reproduce on certain systems while behaving differently on others. [ChangeLog][QtQuick] The Shape item is changed not to try using GL_NV_path_rendering by default, unless explicitly requested. Thus the default value of enableVendorExtensions is now false. Task-number: QTBUG-66843 Task-number: QTBUG-66457 Change-Id: I564708b672bd08a8e760af689d64349aab4ead82 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | Remove unused variable 'EmptyTag'Liang Qi2018-09-271-1/+0
| | | | | | | | | | | | | | | Change-Id: I5970e3261a8a0891965c99d4d8c352ebf4cc6681 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>