aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.11.3' into 5.11Qt Forward Merge Bot2018-12-045-8/+23
|\ | | | | | | Change-Id: Ic6d109c7107d2e401276f1a3d1f765915f20dadd
| * Fix leaking resources by OpenVG scene graph backendKirill Burtsev2018-11-143-5/+16
| | | | | | | | | | Change-Id: I4e67c639d8343e39673ef5ea08bda7af033fb19f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * Fix leaking textures and animation resources by software backendKirill Burtsev2018-11-142-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | QQuickStyleItem1::updatePaintNode assumes every instance of QSGNinePathNode (QSGSoftwareNinePatchNode for software backend) to own new texture object on setTexture. Instance of QQuickAnimationController is also assumed to be deleted by render loop on window destroy. Fixes: QTBUG-69290 Change-Id: Ibd22229108c986c1c115600280482cea01bf4160 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Stop codegen after errorErik Verbruggen2018-11-161-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | We won't use the bytecode anyway, and it prevents consistency checks that come after the error from failing. Specifically: there might be jumps that have no label defined. Fixes: QTBUG-71738 Change-Id: I62a7e943b0156d42caccfa40507853de79e3b1ce Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit c4f82e59d5e9bd3df37c3f08657beb2aeac53161) Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | JS: Check array subscripts for validity when generating codeErik Verbruggen2018-11-161-0/+2
|/ | | | | | | | Task-number: QTBUG-71079 Change-Id: I999130f3994f513bb9d2ca8ddaa94688451937fc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit b8f4005f132c26b842387e1ae5f492594dc03d86) Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Doc: Add a link from enumeration basic type to enum attributesAlexander Akulich2018-11-061-0/+1
| | | | | | Change-Id: I7a7c095f3df11233029e91b3a95262122ae31fcc Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: Add enumeration object attributes to the QML ReferenceAlexander Akulich2018-11-061-0/+1
| | | | | | Change-Id: I2d402d9be905794e731c73aac75c84168390e07d Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Accessible: Return StaticText if there is no explicit role setAndy Shaw2018-10-191-4/+6
| | | | | | | | | | Before, it would assume that StaticText was the role if the item could be cast to a QQuickText. It should only do this if the role is not explicitly set, in case it is not really StaticText in the attached property. Change-Id: I800810f1347fc9aa412c4ca5d180f78d27a89b38 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
* At least warn when triggering a rendering limitationAllan Sandfeld Jensen2018-10-181-0/+3
| | | | | | | | | We can only have up to 65536/4 tiles since we are indexing with quint16. Task-number: QTBUG-58924 Change-Id: I55b5a9f2a3fb4582e327859482dd978b61b21e4e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: place more importance on not binding to x/y/width/heightMitch Curtis2018-10-171-4/+8
| | | | | | | | | | It's common for users to bind to these properties and think that it's a bug that it doesn't work, so we should make the note in the docs more strongly worded and elaborate a bit. Change-Id: I82c8d5644ed81cc616a3035f489344a491ea5a66 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Warn, don't crash during nested delivery of mouse or touch pressesShawn Rutledge2018-10-132-0/+10
| | | | | | | | | | | | | If during delivery of a mouse press, user code calls qApp->sendEvent() with another mouse press, then when delivery of the nested event is finished, we call QQuickPointerMouseEvent::reset(nullptr). Then when delivery of the original mouse press resumes, crashes are possible because most of the code assumes that QQuickPointerEvent::m_event is not null during delivery. Change-Id: Id65b1f2f64351e40d03bcd4f4d16693d616729da Fixes: QTBUG-70898 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Qt Labs Settings: warn if failed to initialize internal QSettings instanceMitch Curtis2018-10-111-0/+22
| | | | | | | | | | | | | | | | First, warn the user that the QSettings instance failed to initialize if there was an error. Then, if the error was QSettings::AccessError, print the specific application identifiers that weren't set so they know what they have to do. For example: QML Settings: Failed to initialize QSettings instance. Status code is: 1 QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain") In my case, the QSettings instance wasn't created on Windows because organizationName wasn't set. Change-Id: I7970209e09b78f785730422c45978775311b96ac Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Document that aliases cannot point to attached propertiesMitch Curtis2018-10-091-0/+2
| | | | | Change-Id: I0acef28542e5322cf3de23ec7fcb571513ccb673 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* 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>
* 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>
* | Build: XmlListModel depends on qtConfig(qml-network)Liang Qi2018-09-101-0/+2
|/ | | | | | Task-number: QTBUG-70414 Change-Id: I90ca63304bfc20cc5eab113d26f02a5a2a5d76f3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge 5.11 into 5.11.2Frederik Gladhorn2018-08-272-5/+24
|\ | | | | | | Change-Id: I886fb173e156fb719d5e1d84cb1b0f3052a606b4
| * Delete textures even if one of the windows is invisibleVaL Doroshchuk2018-08-271-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | If there is an invisible window that will not be rendered but is constantly requested to render, updatePending is always set. This prevented purging of already unneeded textures, and meant endSync() was never called and m_texturesToDelete was never cleared. Added a fix to clear the updatePending flag regardless of visibility. Task-number: QTBUG-66116 Change-Id: Ib8bf453a3dee18d3d43342580c619664b701acae Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Fix quadratic behavior when allocating very large objectsLars Knoll2018-08-211-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | MemberData would get reallocated to exactly the required new size. In case there's one large object dominating things, this would then trigger a GC run on every reallocation, causing a quadratic runtime behaviour due to marking and sweeping that memory. Task-number: QTBUG-69475 Change-Id: I1834cbe21412ce3409cfd47810af1f73c5a29b46 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Doc: Fix broken linkPaul Wicking2018-08-231-0/+4
|/ | | | | | | | | | Add missing external page reference to resolve link. Fixes: QTBUG-70130 Change-Id: I3af162c619ba88d425a7714fbf20f45f7b3213ab Task-number: QTBUG-70130 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: add list of SVG colors to color QML Basic Type pageMitch Curtis2018-08-093-2/+605
| | | | | | | | | The page that we link to used to contain a list of the colors, but it doesn't anymore, so we'll add our own. Change-Id: I1160e3de7f4ab0ead727b0261edafda30cce3270 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* Doc: Rename section titles to avoid auto-linker issuesPaul Wicking2018-08-071-4/+4
| | | | | | | | | The section titles cause links that should target QML types to link to the page sections. Renaming the section titles to link correctly. Task-number: QTBUG-59445 Change-Id: Idde600c87621d270c4e25a5dac0a55fbfc7a96ef Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: Use [] instead of new Array() in snippetPaul Wicking2018-07-311-1/+1
| | | | | | | | | | This change removes warning about using new Array() as constructor with the snippet in Qt Creator. Task-number: QTBUG-65891 Change-Id: I858601c21d703e4226db4f4c4d9ef52ec6418ed8 Reviewed-by: Nico Vertriest <nico.vertriest@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix build without GUI moduleSamuli Piippo2018-07-311-2/+2
| | | | | | | | | | | | | | Qt Quick has a dependency to gui, but there is no way to disable an entire configure module from the configure system. Add module checks to configure.json so that it passes even without the gui module present. Fixes "Unknown feature object movie in expression 'features.movie'." Task-number: QTBUG-56656 Change-Id: I16355b7e218c32cab33e8ef9a6012da3e55656bb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: Extend ItemSelectionModel QML documentationPaul Wicking2018-07-301-4/+59
| | | | | | | | | This change provides a bare minimum documentation for the ItemSelectionModel QML type. Task-number: QTBUG-58090 Change-Id: I0e232f8e05e7629d6f573f8dce21154d0ec307e5 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: Add precision to scene graph descriptionPaul Wicking2018-07-301-4/+4
| | | | | | Task-number: QTBUG-60913 Change-Id: I3a9d8925337a12a849e39a70f168dbfc7f007e5f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Remove const from QQuickPointerEvent::device propertyShawn Rutledge2018-07-271-1/+1
| | | | | | | | | A property never has const pointer as its type. Getting this wrong also causes problems with the QML type registration not matching the actual type. Task-number: QTBUG-61749 Change-Id: Ic3c47499cc4dff6df0beecf5b1413c76509ca6f5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: Fix broken link targetsPaul Wicking2018-07-251-0/+1
| | | | | | | | | * Rename two section titles that caused confusion for the autolinker. * Add see also link to correct location from SpriteSequence QML type. Task-number: QTBUG-58640 Change-Id: I62b941d00198ac56d998ca14b926c7bb37f6c91e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: Add homepage to masm attributionKai Koehne2018-07-241-0/+1
| | | | | Change-Id: I7ab9545d8c7fd747e3a6ddae8ecee53897d9cb66 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Revert "[Quick] Make sure an transition instance is stopped when destroyed"Simon Hausmann2018-07-171-1/+0
| | | | | | | | | | This reverts commit cf0b965aaab0ea7e777c1f8e8d35de3a73d7d08e because it causes crashes in qtquickcontrols tst_extras. Change-Id: I3809f2da84cf24b990b017a44837c02fc6c776d1 Task-number: QTBUG-69497 Task-number: QTBUG-38099 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix unaligned memory access on ARMSimon Hausmann2018-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | When decoding the bytecode, we must be careful to avoid that the compiler generates aligned memory access instructions, because the current byte code pointer may not be aligned at all. When decoding integer parameters, the existing code would expland to qFromLittleEndian(reinterpret_cast<const int>(code)[-nargs+offset]) which loads the integer from the array before passing it by value to qFromLittleEndian. [ChangeLog][QtQml] Fix crashes with unaligned memory access on ARM. Task-number: QTBUG-69328 Change-Id: Ib1c66113e2b8e103ad6f5de11443a561d23a4185 Reviewed-by: Bhushan Shah <bshah@kde.org> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Doc: update link to point to Controls 2 rather than Controls 1Mitch Curtis2018-07-161-1/+1
| | | | | | Change-Id: I2dd5877754b3ccbc975e5cdae5e80d1db28f8e48 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: Extend documentation for ItemSelectionModelPaul Wicking2018-07-161-0/+41
| | | | | | | | | | | Add documentation for setCurrentIndex() and the select() methods. Include SelectionFlag enum values in select(index, command) description. Task-number: QTBUG-56320 Change-Id: Ia43fa2903656d89a1e80bef6097500d329df0c59 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Fix conversion of numeric literals in the AST to stringsSimon Hausmann2018-07-132-1/+23
| | | | | | | | | | | | After commit 91f3687ee51db83d9018bd61c3fbc736c6e9912e in qtbase, QString::number includes a zero padding in the exponent that breaks compliance with the ECMAScript tests. Instead of QString::number, we have to use a QLocale instance that turns off the padding of the exponent. Change-Id: Ib8c63bc501cadca026c52359006628f6c271ba6d Task-number: QTBUG-69432 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* [Quick] Make sure an transition instance is stopped when destroyedErik Verbruggen2018-07-131-0/+1
| | | | | | | | | | | | | | | When a running transition does not finish of natural causes (reached the end state due to e.g. the timer finishing), it can happen that it will never be marked as finished. Specifically, when an transition is running (e.g. an add animation for a ListView), and that transition is replaced by another transition (a displace transition, because another item got added to the ListView before the add transition was finished), the first animation was never marked as stopped. The effect was that the running property would stay "true" for forever. Task-number: QTBUG-38099 Change-Id: Id7d7053cb2fc1912127d9f5e71f27eb984ba7435 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: Fix broken link to examplePaul Wicking2018-07-131-1/+1
| | | | | | Task-number: QTBUG-69438 Change-Id: I4ac191029eccc97e7b9947ec56bf008562c9f4ef Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickRenderControl: Grab framebuffer with alpha if the window uses itAndy Shaw2018-07-121-1/+2
| | | | | Change-Id: Ie11e86be997d749e6f82f0fb81a82bb0b50ab1f1 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: Update QTime to JavaScript Date conversion descriptionPaul Wicking2018-07-101-9/+9
| | | | | | | | | | | | | * Update description as the behavior changed with 2b8b7a162be52f8cd6c2bc39f498a1ddfb59dd68. * Remove implementation details from description (the specific date), as it may be subject to change. * Simplify a needlessly complicated explanation. Task-number: QTBUG-68516 Change-Id: Ibc25a9923d8c996c47927964cd69b5bd7bbe0240 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Item, QQuickItem: document which properties are used in map functionsMitch Curtis2018-07-102-0/+34
| | | | | Change-Id: Idf3aecf88319a2967ca51985003be32c7e7ef42a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* QML Debugger: Check in time if values can be saved to QDataStreamUlf Hermann2018-07-101-9/+34
| | | | | | | | | If you feed something non-saveable to operator<<() the application will crash. Task-number: QTBUG-69316 Change-Id: I9fe5f83a9eb49e5bde3002c0a5dda4206470c644 Reviewed-by: hjk <hjk@qt.io>