aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* FolderListModel: use header initialization; fix pedantic warningsv5.12.0-beta3Shawn Rutledge2018-10-192-26/+14
| | | | | | | | | | That is, initialize variables in the private class where they are defined, and move the padding warning out of that section (now it says the whole class is padded to the alignment boundary, but there's not much we can do about that). Change-Id: I63101b6a837c69265c73b4c6001f1901fcaa8572 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Add sortCaseSensitive property so the sorting can ignore the caseAndy Shaw2018-10-197-8/+74
| | | | | | | Change-Id: Id308272cc59eca8c95f1386db8cd64f266124579 Fixes: QTBUG-48757 Fixes: QTBUG-70212 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Item Views: cancel flicking before a model resetTobias Koenig2018-10-191-0/+1
| | | | | | | | | | | While the view is flicking, if the content is updated by a model reset, it gets very confused and creates many delegates that won't be shown inside the visible area. Now we cancel any active flicking before the model reset is handled. Fixes: QTBUG-70742 Change-Id: I6f7aa368b760a00d08c540f3963c32e1e174a908 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Export QQmlInstantiator and QQmlInstantiatorPrivate privatelyMitch Curtis2018-10-182-2/+6
| | | | | | | | | | This is needed to fix a bug in Qt Quick Controls 2. We need to know if items within a Menu were created by Instantiator so that we don't try to recreate them. Task-number: QTBUG-71066 Change-Id: Iaedaea2be6bf4f70c2c7b6fb37871d5537328e96 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Optimize QQuickWindowPrivate::grabTouchPoints()Shawn Rutledge2018-10-181-7/+19
| | | | | | | | | It's given a list of touchpoint IDs, which normally are from the same event, so we should not need to find the corresponding device and its event repeatedly. Change-Id: I65ce120c50251d23b1300b79b9372e8e54e53741 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* qtlite: qml-preview depends on features.filesystemwatcherLiang Qi2018-10-181-0/+1
| | | | | | Fixes: QTBUG-71191 Change-Id: Ia55fcf3a1b4061fc1fd096a306b4664d1ac3cad9 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* JS: Fix stack buffer overflow in the QML/JS parserLars Knoll2018-10-182-15/+11
| | | | | | Task-number: QTBUG-71083 Change-Id: I7a06a01871c2ae0b3162699189c4e836c36d7759 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Improve interaction between snapping and sectionsMichael Brasser2018-10-173-11/+134
| | | | | | | | | | * Use velocity to prefer snapping in the active direction. * Calculate snap based on where the item is, rather than where the section is. Change-Id: I2531501dbe0a58f26f20bc3e719e435185e047a5 Task-number: QTBUG-67051 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* TableView: connect to 'layoutChanged' signal from the modelRichard Moe Gustavsen2018-10-174-2/+62
| | | | | | | | Ensure we rebuild the table when the model emits 'layoutChanged'. Fixes: QTBUG-71140 Change-Id: I70dac897830bf5a12ae6987920e388743fd358a1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QQmlAdaptorModel: return correct column count from the modelRichard Moe Gustavsen2018-10-173-1/+3
| | | | | | | | | | | There is no reason for QQmlAdaptorModel to return the wrong column count to the view. For models that are not QAIM, the accessor that wraps the model will report the column count to be 1 anyway. The same is also true for QAbstractListModel. Change-Id: Ia259b044201d76743e5f43d9f0999d3848912075 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Improve some pathelogical borderImage casesAllan Sandfeld Jensen2018-10-172-9/+19
| | | | | | | | | | Makes what the renderer is expected to do more well-defined, and makes the software and OpenGL backend agree in the rendering of the QML lancelot tests. Change-Id: I3991ec06e3b4b5f1713e224bb3b7d57e8f951ab4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QQmlScriptData: Extract qmlContextDataForContext from scriptValueForContextJüri Valdmann2018-10-173-44/+56
| | | | | | | | Refactoring only, no behavior changes. Task-number: QTBUG-69408 Change-Id: Ifd26957dca69bcd658ad5f989108a661b9996d6c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* wasm: fix opengl layers, depth stencilLorn Potter2018-10-161-0/+25
| | | | | | | | | | | | | WebGL is more strict than OpenGL ES2 https://www.khronos.org/registry/webgl/specs/1.0/#FBO_ATTACHMENTS Task-number: QTBUG-71132 Task-number: QTBUG-71099 Fixes: QTBUG-71132 Fixes: QTBUG-71099 Change-Id: I27c31f3a9833e7187612ee4bc211d0b0b6fa935b Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove old 'Getting started with Qt Quick' exampleKai Koehne2018-10-1523-1786/+0
| | | | | | | | | | | The example is actually not very easy to build, and arguably too complex for a 'getting started' example. qtdoc commit 1df7011858 therefore replaced it by the alarms example in the documentation. Task-number: QTBUG-66064 Change-Id: I2f2776c649410575aef71948f64b358d60233022 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* JS: Check if the rhs of an assignment had errors before using itErik Verbruggen2018-10-152-1/+5
| | | | | Change-Id: I34d70759732433b6f0ecccc5ae175d33ec8e1577 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* JS: Check lhs of an 'in' expression to be an lvalueErik Verbruggen2018-10-152-0/+5
| | | | | | | | | For example: 'for (foo() in something) {}' is not valid: a call expression is not an lvalue. Task-number: QTBUG-71086 Change-Id: Ia1498cd38526b073afb8e4524ceaea14dca3d65f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix translation contexts for paths with drive letters on WindowsErik Verbruggen2018-10-154-19/+85
| | | | | | | | | | | | | | | Inside method_qtTr, the filename is assumed to be a (correct) URL. When a (normalized) path with a windows drive letter is passed to QJSEngine::evaluate, the URL will have a scheme that is the drive letter. We cannot correct this in method_qtTr, because at that point we might get in files that do not come from the file system, but through actual URLs. The place where we know for sure that the filename is a real file name and not a URL, is in QJSEngine::evaluate. So at that point, make sure that the filename is a valid URL. Task-number: QTBUG-70425 Change-Id: Ia41859c4024ac46e6f8c3d96057a5dffdecd8f56 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Store the instruction pointer in more instructionsErik Verbruggen2018-10-151-0/+4
| | | | | | | So backtraces will show the correct line number. Change-Id: I6e79f6b3f461956f7f6d98743aff684b894426cf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove useless assertErik Verbruggen2018-10-151-2/+0
| | | | | | | | There is a {{Q_UNREACHABLE}} right after it. Change-Id: Id69fb1403a5f99912e6fbcb4a397a78a9d6948d7 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Revert "BaselineJIT: slightly improve arm codegen for shifts"Lars Knoll2018-10-151-3/+6
| | | | | | | | | This reverts commit 41e15cb21c2f8924eee56aacc4ba8aace950cae5. The patch causes us to hit assertions in the x86/x64 JIT. Somehow this slipped through CI. Change-Id: Ia77ecb956472172bf5543c01fdccd6dddedba168 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Abort parsing on errorLars Knoll2018-10-152-17/+15
| | | | | | | | | | The visit() methods need to return false on parse errors, so that we don't continue iterating into that subtree of the AST, but rather exit as quickly as possible. Task-number: QTBUG-71090 Change-Id: I1912d955a0ffc86389a4cbbb3b6ac0209c3c556a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix compilation in C++11 modeLars Knoll2018-10-152-0/+12
| | | | | | | | std::make_unique() doesn't exist in C++11, so add a polyfill. Task-number: QTBUG-71010 Change-Id: I6f1f32447be6fb7411c66fa2c986df5bf4346ee2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* BaselineJIT: slightly improve arm codegen for shiftsv5.12.0-beta2Erik Verbruggen2018-10-121-6/+3
| | | | | Change-Id: I7327f982d11a0d2942750ebfbc9f0d379093b87e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make the function name printing the same when dumping bytecodeErik Verbruggen2018-10-121-1/+1
| | | | | | | | So searching for "function blah" will find both the dumped bytecode and the generated assembler from the baseline JIT. Change-Id: Ia1e2debfb73068a1692653f304146f7b0f88aa16 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* 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-122-0/+5
| | | | | | | | | 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-119-5/+50
| | | | | | | | 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>
* Examples: Use XmlHttpRequest to fetch flickr public photosVenugopal Shivashankar2018-10-1111-85/+186
| | | | | | | | | | | | | | | | | | This change is to facilite moving the XmlListModel code to the qtxmlpatterns repo, but still keep all the Particles examples together. Also fixed: - the old TODO about darkening images according to depth, and make it generally look a bit better. - move the visualdatamodel examples to a directory called delegatemodel, since that's how they work now. And add them to the main "views" example launcher so that they become more visible to users. Change-Id: I78f9f19e1e110608580adedcf4cd3be554222515 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* JS: Check array subscripts for validity when generating codeErik Verbruggen2018-10-112-0/+22
| | | | | | Task-number: QTBUG-71079 Change-Id: I999130f3994f513bb9d2ca8ddaa94688451937fc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QML Engine: Support for JavaScript PromisesValery Kotov2018-10-1142-148/+3536
| | | | | | | 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-102-1/+29
| | | | | | | | | 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-104-3/+91
| | | | | | | | | 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-0911-79/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge qmlplugindump testsKai Koehne2018-10-0942-694/+304
| | | | | | | Move all qmlplugindump test cases to the autotest one. Change-Id: If7b5ea119c862507686c11f4dafaa4648d4808f5 Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* qmlplugindump: Fix calling of qmlimportscanner on WindowsKai Koehne2018-10-091-2/+4
| | | | | Change-Id: I16618f0858b3fa878b4255147291c011efdacfc8 Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* Fix qmlplugindump autotestKai Koehne2018-10-092-1/+3
| | | | | | | | Also add CONFIG += testcase in the hope that this will let the CI also run the autotest. Change-Id: I8c048f37886ce898df8f408b492e4c0e7e8dced9 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-088-77/+175
|\ | | | | | | | | | | | | | | 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>
| * Amend TouchMouse::buttonOnDelayedPressFlickable to test delayed tapShawn Rutledge2018-10-031-38/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test is for Flickable with pressDelay set to a testable timeout value. For some reason it only checked trying to flick before the press delay is over, or holding and waiting for the press delay to expire. But if the user taps a child MouseArea before the press delay expires (neither moving nor waiting), at the moment of release it's supposed to send the delayed press and then the release, so that the MouseArea gets "clicked" almost as if there was no delay. Lack of test coverage allowed a regression in this functionality for 2 minor versions: 5.10 and 5.11. Task-number: QTBUG-61144 Task-number: QTBUG-69059 Change-Id: I0d8867587e6877359c41ec5fc3a5cdd17447d0b8 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>