aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge 5.12 into 5.12.0Oswald Buddenhagen2018-10-3011-35/+85
|\ | | | | | | Change-Id: I9c455be35c18031c1eb4e8ca8d4b85183f72a051
| * Hold internal reference to incubator object while incubatingMichael Brasser2018-10-261-7/+11
| | | | | | | | | | | | Task-number: QTBUG-53111 Change-Id: Ifaef6a855914d79155f8028b0de7ccca3c9a00f5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix backward QML compatibility for Flickable.isAtBoundaryChanged()Alexander Akulich2018-10-251-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QML code that imports any previous QtQuick version (e.g. 2.11) and connects to any of the four 'at boundary' properties (atXEnd, atXBeginning, atYEnd and atYBeginning) change notifier (e.g. atXEndChanged) stop working because the new signals available only with new import, but the older import has no idea that it could connect to the older notifier (isAtBoundaryChanged). Remove revision number from the notifiers of the four 'at boundary' properties to mostly fix backward compatibility until a better solution is available. Fixes: QTBUG-71243 Change-Id: I9b4c944c62e0c6c83ceed765b7cd99519e9cd109 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Fix QML compatibility for Text.contentWidth/Height changed handlersAlexander Akulich2018-10-251-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The properties used to have a single notifier that name is different from the properties names. QML Engine always connects a handler to signal, if it exists and only if there is no such signal then it lookup for a property notifier. In commit e92f76cf9ea91e87ec2e3e68234899fd9c12142f we introduced new signals that match the names of the two property changes handlers, but the signals are not available on older import. Remove revision number from the notifiers of Text.contentWidth/contentHeight to fix backward compatibility until a better solution (such as extra engine logic like "if a signal that matches the handler is not available then check if there is a way to connect to a property notifier that matches the handler" Fixes: QTBUG-71247 Change-Id: I11fb6230d85218ef437816c60c8147b953d47241 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * [Micro]Optimize duplicate state name checkAlbert Astals Cid2018-10-251-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | With 9 states the benchmark showed QSet 0.00041 ms QVector 0.00016 ms QVLA 0.00015 ms Change-Id: Ie2de19bd8281b7fddd9ad4246035dcd0f3483102 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Add missing "We mean it." warningLiang Qi2018-10-241-0/+11
| | | | | | | | | | Change-Id: I19ca6e366cb8b2ca069ac2f4b2c2c834bcea8f3d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix erroneous enum conflict warningsSimon Hausmann2018-10-231-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | Permit enums from sub-classes to overwrite enums from super-classes, but keep warnings about clashes within a class, provided that the values differ. The last condition relates to the declaration of enums and a subsequent declaration of Q_FLAGS, which appear to have the same keys and values in the meta-object system. Task-number: QTBUG-71184 Change-Id: I2a00dc90e3714fc4c6fe8add5a6268b88bb9e745 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
| * QQuickStateGroup: Warn if two states have the same nameAlbert Astals Cid2018-10-231-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise it is silently ignored and given that we change states by name i think it's a thing the user would want to know that he made such a mistake, i know i would since i just lost some time figuring out why changes i made to a state didn't apply and it was because i had a duplicate state name in a long states definition Change-Id: I342e44829f7d32daf6eed0edad33f5b7a42ff5bf Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix lookup of methods in the scope objectSimon Hausmann2018-10-221-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit 939014cb9cad2f3357f47b28a4580397c17b913c improved performance of property lookups beyond the scope object, with the unfortunate side-effect that the previously polymorphic lookup of methods broke. Fix this by moving the handling to the caller side and falling back to the string lookup for functions. Fixes: QTBUG-71204 Change-Id: I2d9924034a9c14e7d161fa49d51b1f876ab5bc0f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * INTEGRITY: Fix build failures on 64-bit ARMPasi Petäjäjärvi2018-10-224-12/+12
| | | | | | | | | | Change-Id: I44a90dec16dc1421a32a7770b353a4df14c057f9 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Add WavefrontMeshEskil Abrahamsen Blomfeldt2018-10-258-1/+901
|/ | | | | | | | Add a mesh type for use with ShaderEffect which loads the geometry from an .obj file. Change-Id: I53c9149fc56cdab4a36fccc087abf54a6b50f42f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* 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-194-1/+36
| | | | | | | 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-181-15/+10
| | | | | | Task-number: QTBUG-71083 Change-Id: I7a06a01871c2ae0b3162699189c4e836c36d7759 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Improve interaction between snapping and sectionsMichael Brasser2018-10-171-11/+27
| | | | | | | | | | * 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-172-0/+11
| | | | | | | | 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-171-1/+1
| | | | | | | | | | | 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>
* JS: Check if the rhs of an assignment had errors before using itErik Verbruggen2018-10-151-1/+4
| | | | | Change-Id: I34d70759732433b6f0ecccc5ae175d33ec8e1577 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* JS: Check lhs of an 'in' expression to be an lvalueErik Verbruggen2018-10-151-0/+4
| | | | | | | | | 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-153-19/+16
| | | | | | | | | | | | | | | 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-151-17/+14
| | | | | | | | | | 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-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