aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix regression with UniformAnimator target property validationJoni Poikelin2017-02-013-1/+10
| | | | | | Task-number: QTBUG-58549 Change-Id: Iaa2a9cd8b86e8c2bb7e20b99fabad99d0bd51799 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* fix memory leak in QQuickWindowPrivate::deliverTouchAsMouseShawn Rutledge2017-02-011-7/+7
| | | | | | | | | | A QTouchEvent is allocated with a reduced subset of TouchPoints for each Item to which we attempt to deliver it, and thrown away afterwards. (Ιt's not efficient to heap-allocate it, but we can't avoid doing it at all without changing behavior.) So now it's stored in a QScopedPointer. Change-Id: I48badb493610d0a715e582a2eedae95e2006eb2b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Doc: Improve introduction to Qt Quick SceneGraph RendererKai Koehne2017-02-011-9/+5
| | | | | | | | | | | | | | Mention that the new backends are introduced with Qt 5.8. Also remove some details that rather belong in subsections, in particular the mentioning that the Qt Quick API's originally were designed for OpenGL. It is unclear what consequences this has for the user. Limitations on backends should be rather spelled out in the respective subsections. Change-Id: I21239ea99b89b4c7771e3d79a38c6aa39007d0ea Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix -no-qmldebug debug build with MSVCKai Koehne2017-02-014-10/+15
| | | | | | | | | [Platform Specific Changes][Windows] Fixed compilation on MSVC with -no-qml-debug configure argument. Task-number: QTBUG-58412 Change-Id: I915ed3d345b3f1e4e5863456522784ab6c9b15cf Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Quick: Check fbo msaa related extensions via QtGuiLaszlo Agocs2017-01-313-9/+11
| | | | | | | | | GL_EXT_xxxx is not sufficient here. QOpenGLFunctions already has support for the ANGLE and some other variants of the framebuffer multisample and blit extensions, so use that instead of the manual checks. Change-Id: I2d8e0850d3b0b9a9cfd9e55aa38adad07a0ba45d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Doc: Fix documentation warningsTopi Reinio2017-01-306-16/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | src/qml/jsapi/qjsengine.cpp:524: warning: Undocumented parameter 'metaObject' in QJSEngine::newQMetaObject() src/qml/qml/qqmlengine.cpp:1023: warning: Undocumented parameter 'retCode' in QQmlEngine::exit() src/qml/doc/src/qmlfunctions.qdoc:182: warning: Undocumented parameter 'reason' in qmlRegisterUncreatableMetaObject() src/qml/qml/qqmllist.cpp:393: warning: Undocumented parameter 'at' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:393: warning: Undocumented parameter 'count' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:402: warning: Undocumented parameter 'at' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:402: warning: Undocumented parameter 'count' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:402: warning: Undocumented parameter 'append' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:402: warning: Undocumented parameter 'clear' in QQmlListProperty::QQmlListProperty() src/quick/items/qquickwindow.cpp:4461: warning: No such parameter 'backend' in QQuickWindow::setSceneGraphBackend() Also do some minor language editing. Change-Id: I2e806d1a77e3c4264d709c27d2bfc4542a782716 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix build without animation by disabling quickTasuku Suzuki2017-01-301-1/+1
| | | | | | Change-Id: I3b9bc6aa69dbf2a780765ba935b76be6a22280e6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* QQmlTypeCompiler: Fix read after free in tst_qqmllanguageRobin Burchell2017-01-281-2/+1
| | | | | | | | | | invalidAlias.11 revealed a problem with the loop here, in that the vector was modified while it was being iterated. There isn't any need to modify the vector being iterated, as it'll be put into pendingObjects for the next loop. Change-Id: If9b537c4ac00697237d12e4b0be67ef39cc8b3c4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Mention that QVariantList is also a supported model typeKavindra Palaraja2017-01-281-6/+16
| | | | | | | | | Also added a section with more info that asks the reader to refer to the QStringList example above. Task-number: QTBUG-47768 Change-Id: I4e99b81ac242f7df1ddc412f85c9c1b822080514 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Doc: reinserted hello.qml which had been deleted by mistakeNico Vertriest2017-01-272-1/+77
| | | | | | | | | During the update of plugin.cpp this file was deleted by mistake. plugin.cpp still refers to it and it needs to be reinserted in src/quick/doc/snippets. Change-Id: Ie23c926ff6096392da96f0063c767009a3965a30 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Fix build without features.temporaryfileTasuku Suzuki2017-01-271-0/+5
| | | | | Change-Id: I31bcf56ee0c4ec9285dccb356b03b89e8ce8356a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* remove obsolete host build declarations from subdirs projectsOswald Buddenhagen2017-01-261-2/+0
| | | | | | | follows up qtbase/4eb2feb2. Change-Id: I13ba74fb25dfd059782b369350fa14e44b70bf79 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix build without qml-debugTasuku Suzuki2017-01-241-1/+1
| | | | | Change-Id: If4308195b05255a49a06184cab3db88ec9532f76 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix build without features.localserverTasuku Suzuki2017-01-231-2/+2
| | | | | Change-Id: I25edd84fb67f417caa98e63f284547eac3a7793a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* No need to define c99 math functions in c++11 modeJulien Gueytat2017-01-221-1/+1
| | | | | Change-Id: I5a04cb678ad4a222d2a716dd1499f5103bb66c8e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* StackLayout: propagate rearrange() call to child layoutsOleg Yadrov2017-01-191-1/+5
| | | | | | Task-number: QTBUG-57867 Change-Id: I0190b892e2bc2966b82a0dbd99e53fd9d6848957 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Fix memory leak in V4Gunnar Sletta2017-01-191-1/+1
| | | | | | | | | | | | | | | | | | Transitions contain both an id and a set of flags, but the sorting failed to take the flags into account in the operator<. As a result we would some times end up with duplicate entries if the same id was added multiple times with different flags. If the same id was added again and again with varying flags, this could lead to an ever expanding list filled with duplicate entries. Fix this by also taking flags into account in operator< so that operator< and operator== are symetric and the list gets correctly sorted. Change-Id: I762ec3f0c5b4ed9a1aecb9a883187a0445491591 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Fix support for QJSValue as C++ signal parameter type, part 2Simon Hausmann2017-01-181-1/+1
| | | | | | | | | | | | | | | | After commit 0e3380f9c6ab6e3ea7398caccf5aa84f1575f1cd we wouldn't crash anymore, if QJSValue::UndefinedValue was provided as value for a QJSValue C++ signal parameter. However that was not a complete fix for the regression of commit aa869cbb06bcf005e238059a2cb0205947ff0b5f, as other primitive values stored in QJSValue as QVariant were not converted, so for example QJSValue(42). So let's fix this once and for all by using QJSValuePrivate::valueForData, that handles all types of QJSValuePrivate encodings. Task-number: QTBUG-58133 Change-Id: Ib7c0461b18df6260ccd4bce729ae2348281eb7f3 Reviewed-by: Arnaud Vrac <avrac@freebox.fr> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Clarify that QML's date object includes timeKavindra Palaraja2017-01-161-2/+2
| | | | | | Task-number: QTBUG-42495 Change-Id: I0f7693ed32d3ec696f5c75b7ce7acdb41dd0ce6f Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Fix build without feature.statemachineTasuku Suzuki2017-01-161-2/+2
| | | | | Change-Id: Iea95465a88627e312259ea62a8908d9cbb3f82ac Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix build without feature.shortcutTasuku Suzuki2017-01-153-3/+17
| | | | | Change-Id: Id0ea0037db4cc3878ae2f75109aa3a7daa120189 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-141-1/+9
|\ | | | | | | Change-Id: I981c19429b1bf6f0990b5740c165e235829f702e
| * Fix incorrect JavaScript evaluation with the JITv5.8.0Simon Hausmann2017-01-061-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression from commit 7e14b531b294650733a61a9365eb9ef74f8a7a90, that replaced a QHash<temp, liveInterval> with a vector of intervals. When an interval is split, it may happen that during one interval a temp is stored in a register and in the second interval it ends up in a different register or the stack. The _liveIntervals variable, formerly the _intervalForTemp hash, tracked the intervals per temp when going through the basic blocks and statements during the renumbering phase. Indexing uniquely by temp is important therefore for _liveIntervals and addNewIntervals violated that by replacing the QHash replacement _intervalForTemp[i->temp()] = i; with _liveIntervals.push_back(i); This is how we may end up with multiple intervals for the same temp (in different locations), and when doing the linear lookup we'd only find the first. Restoring the replacement behavior and thus ensuring uniqueness by temp fixes the miscompilations. Task-number: QTBUG-57779 Change-Id: Ib8f53672b66750f68e16e47794dbc5f39989e1a2 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Remove documentation references to internal functionsKavindra Palaraja2017-01-131-7/+0
| | | | | | | | | | | | | | | | | | | | QSGOpacityNode::combinedOpacity() and QSGTransformNode::combinedMatrix() are intended to be internal. Task-number: QTBUG-53897 Change-Id: Icc73476eb8af5cdc673f7ce9bacd25ecc75202b5 Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* | Fix crash when C++ QJSValue parameterized signal interacts with JSSimon Hausmann2017-01-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | When converting the parameters of a C++ signal to JS values to provide to a signal handler written in JS, the conversion of a QJSValue to a QV4::Value* may yield a null pointer in case of a default constructed QJSValue for example. This is a regression from commit aa869cbb06bcf005e238059a2cb0205947ff0b5f and we must check for this. Task-number: QTBUG-58133 Change-Id: I528b606b2851dfb3072e54902bd8843d31571a55 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix build without feature.imTasuku Suzuki2017-01-131-0/+2
| | | | | | | | | | Change-Id: I9c0c0138e48b30a443307faf6cd7251017bf84ae Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QJSValue: Mention how to construct QJSValue from other non-obvious typesRobin Burchell2017-01-121-1/+2
| | | | | | | | | | | | | | This has come up in queries from users, so let's add a helping hand. Change-Id: If4e5efdd8969a71a78fc88ae168ede8d681858aa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix projection matrix for DepthAware QSGRenderNodesLaszlo Agocs2017-01-121-1/+6
| | | | | | | | | | | | | | | | Unlike renderUnmergedBatches(), renderRenderNode() did not adjust the projection matrix. Change-Id: Ib5a7183a3623d35c85af47205cc22187bad89409 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Propagate root changes to rendernodes tooLaszlo Agocs2017-01-121-0/+4
| | | | | | | | | | | | | | | | | | Otherwise weird things will happen once a node gets turned into a batch root and the rendernodes in the child subtree still refers to their old root. Change-Id: I42b0ba514c2fbeed833f0f665e49b275c19b5686 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Update QSGRenderNode docs to match realityLaszlo Agocs2017-01-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | Scissor and stencil tests are not actually enabled when invoking render(), meaning rendernode implementations do not clip by default. This has been documented when making the class public in 5.8, but the older list with the OpenGL states still contains contradictory entries which are false since Qt 5.2 or so. Change-Id: I46875b11322585d40962db2c4302602a1410a7b9 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Avoid needless notifications when destroying layoutsJan Arve Saether2017-01-123-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When deleting a layout with children, it ends up in ~QQuickItem(), which in turn will call setParentItem(0). setParentItem(0) will in turn call setEffectiveVisibleRecur(), which will recurse down all its descendants. Therefore, deleting a top level layout might trigger item change listeners for *all* its descendants, not only its direct children. This behavior might even cause crashes: The visibility changes will then trigger an invalidation of the layout, which will propagate up the parent hierarchy, and potentially call invalidate() on a partially-destroyed layout, which then might crash. Change-Id: I48e11d57f69e9011ced6c3a0b51e3d89b24ad5c1 Task-number: QTBUG-55103 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QML tooling: Make sure we signal object creation also from QQmlIncubatorUlf Hermann2017-01-112-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | We have to call the QQmlEngineDebugService back from QQmlObjectCreator rather than QQmlComponent, as there are more ways to create an object. We also add the new instance to the global instance list if only the V4 debug service is active, as both QQmlEngineDebugService and QV4DebugService use it. Change-Id: I5dcc71b2e91049bc19ec70d7b87959a61c9b6b75 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix crash in CanvasGunnar Sletta2017-01-101-1/+0
| | | | | | | | | | | | | | | | | | | | The Image based code path will delete the texture in textureForNextFrame() so deleting it again here is wrong. The convention is supposed to be that if the textureForNextFrame returns 0, it also deleted the input texture. So not deleting is correct for both Image and FBO. Change-Id: I45a5ef94c13358f3637f51ae2d21224518ea6a25 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Doc: Rearranged order of Extending QML ExamplesNico Vertriest2017-01-091-0/+36
| | | | | | | | | | | | | | Rearranged in logical order of example build up Change-Id: I6af8e39bd900d4ce058de46e0b3ebd5e368222c8 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Clarify MouseArea's onClicked and onPressAndHold documentationKavindra Palaraja2017-01-081-2/+2
| | | | | | | | | | | | | | | | | | | | Changing the accepted property within the onClicked and onPressAndHold event handlers only have an effect if the propagateComposedEvents property is true. Task-number: QTBUG-46912 Change-Id: I66a9114f6dafdf79a5fbf1278656c2988ffb42a2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Clarified that QQmlListProperty can only be used for lists of ↵Kavindra Palaraja2017-01-051-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | QObject-derived object pointers Added the info to the QQmlListProperty's brief itself so it stands out. Removed the original note. Also added a See also link to the complete example. Task-number: QTBUG-37888 Change-Id: I9e1b77b035321ade44fe57d56e68a9c3d20cb879 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Added documentation for the GroupSwitchModifierKavindra Palaraja2017-01-051-0/+1
| | | | | | | | | | | | | | | | Used the default sentence from Qt::KeyboardModifier. Task-number: QTBUG-53211 Change-Id: If763ca1b8d9ee7dcfa511f3a19dd012aac4d4f9c Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Fix stencil clips with core profile contextsLaszlo Agocs2017-01-041-1/+22
| | | | | | | | | | | | | | | | Client-side pointers are not supported. Start using a VBO instead. Task-number: QTBUG-57768 Change-Id: Ia7ac9b0838d837b02e8bf99fcd22f0373cb357c9 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Added the missing link to AnimationKavindra Palaraja2017-01-031-0/+1
| | | | | | | | | | | | | | | | | | | | Animator inherits from QQuickAbstractAnimation which is known as Animation in QML. Its properties are inherited. Task-number: QTBUG-55738 Change-Id: If16c87c9367825d7661940e7c1930179862e59cb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Fix QML cache not being invalidated when source path changesSimon Hausmann2017-01-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | When somebody renames the directory name underneath a QML file and its cache file, then we need to re-generate the cache as it contains the fully path of the source path. That is sometimes used to resolve relative URLs (such as images) and therefore needs updating (by re-creating the cache). Task-number: QTBUG-57644 Change-Id: I9766668859aad8e9d71f278c3f26c0585258c14e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QQuickWindow flushFrameSynchronousEvents: don't hover if nothing dirtyShawn Rutledge2016-12-281-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | An optimization revising 6f84a09dfbd15aac023580cf06e7b8c24f3b524c Calling hoverMoveEvent every frame is too inefficient when an item subclass is actually doing something there. For example, any QtQuick-based Wayland compositor needs to notify its client windows when hover state changes, so calling this method too often would impose extra work to double-check whether it really changed or not. Change-Id: I98b40a2083700e7a50820bd13154247444249e59 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Get rid of the GCBlockerLars Knoll2016-12-284-36/+0
| | | | | | | | | | | | | | | | | | It's a hack we needed when we still had a conservative GC, but it is not required anymore. The only thing we still need is the protection against running the GC recursively. Change-Id: I55cd51d4929c828db5b61b38e781467c5bf77314 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Removed auto-generated links to internal classesKavindra Palaraja2016-12-281-0/+10
| | | | | | | | | | | | | | | | | | | | QQmlExtensionInterface and QQmlTypesExtensionInterface are internal classes that are not relevant from an external API perspective, but merely an implementation detail of the plugin loading mechanism in QML. Task-number: QTBUG-57190 Change-Id: I5fdfe26f1b74c4782040aaadd3ee13b9c92153eb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2016-12-253-10/+15
|\| | | | | | | Change-Id: I72ed8656ef03d1bc28225e2186f03620b9e119e9
| * 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>
| * 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>
* | Example: corrected screenshot of the localstorage appNico Vertriest2016-12-211-0/+0
| | | | | | | | | | | | | | | | Was still displaying a screenshot of the previous example \image --> \borderedimage Change-Id: Ifb23d0ffe1216c7d79170b6bbbd7da1511afe79c Reviewed-by: Topi Reiniö <topi.reinio@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-201-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>