aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Normalize URL before loading typesErik Verbruggen2018-04-276-10/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents loading of types with slightly different paths multiple times, like "qrc:/One.qml" and "qrc:///One.qml". Task-number: QTBUG-65723 Change-Id: I6e26db6d1d271b2ed37b97eb990618843e99c372 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | QQmlDelegateModel: provide better warningsMitch Curtis2018-04-271-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, QQmlDelegateModel errors look like this: <Unknown File>: QML VisualDataModel: Error creating delegate This patch uses the delegate as the QQmlInfo object so that we get errors with actual file names and line numbers: qrc:/main.qml:19:19: QML Component: Error creating delegate This has several benefits: - It's obvious which file is causing the issue - A clickable link in Creator's application output pane Task-number: QTBUG-49224 Change-Id: I0df0d1a9e898aff5f83131ca62a47cc7f1c74c6e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * | Fix crash when using drag with Drag.AutomaticFriedemann Kleint2018-04-262-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickPointerTouchEvent::m_event is 0 when calling QQuickPointerTouchEvent::isPressEvent(). Add a convenience function with a check returning the Qt::TouchPointStates. Task-number: QTBUG-44976 Change-Id: I2433ec3c56adeda2de190ca46aed8413a1357c55 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | Clarify ownership around QQmlEngine::setNAMFMårten Nordheim2018-04-262-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were leaking an instance of MyNetworkAccessManagerFactory in the "NetworkAccessManagerFactory"-example. To add to this the documentation around QQmlEngine::setNetworkAccessManagerFactory did not specify whether or not it took ownership, causing confusion. Change-Id: Ic9eee2c45682c752bcb4aa98943fc0af2b630795 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Fix JIT build on INTEGRITY ARM64Kimmo Ollila2018-04-266-132/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -typedef "Jump" may not be used in an elaborated type specifier -explicit specialization of function must precede its first use -"Value" is ambiguous Change-Id: Ic15c196f1b33211cd3f2f25a54ba478747336fe4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
| * | Enable JIT on INTEGRITY ARM64Kimmo Ollila2018-04-266-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | This patch enables JIT on INTEGRITY s820Am and other ARM64 builds Change-Id: I2fa130f41a6c5bc6aa86bcfd5a01c2d431300561 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
| * | Add handling of device pixel ratio to animated spritesAllan Sandfeld Jensen2018-04-268-25/+56
| | | | | | | | | | | | | | | | | | | | | Change-Id: I472f61241d1875daf0de0a597bf27c019314f48f Task-number: QTBUG-50119 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * | Make the test pass on my high resolution screenLars Knoll2018-04-251-1/+1
| | | | | | | | | | | | | | | Change-Id: I08e952fb8c19c21caf33ffb1cfdc260b533a01d9 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | Fix QQuickListViewPrivate::snapItemAt for lists with spacingJohan Klokkhammer Helsing2018-04-253-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If lists had spacing, snapping would have gaps where snapItemAt would return nullptr eventhough there were items above and below in the list. I.e. if we have a list with items of size 100, and a spacing of 100, and scroll to 110 (right below the first item), then the first item would fail because this is false: itemTop+itemSize()/2 >= pos (50 >= 110) And the next item (the one we should have snapped to), would fail because this is false: itemTop-prevItemSize/2 < pos (200-100/2 < 110) The meaning of first part was probably to see if the middle of the current item is inside the view. The meaning of the second part was probably to see if the middle of the previous item is outside the view. This patch refactors the code so it's more visible what's happening and fixes the bug by taking the spacing into account when computing the position of the halfway positions. Task-number: QTBUG-59852 Change-Id: I60eec0d16e91d2f22d70b97d11bcde5d88ac2997 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Make the shared test code independent of QtQmlUlf Hermann2018-04-2413-52/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | This enables us to drop the QML dependency from a number of tests. This is desirable because we want to test that we didn't do any incompatible changes to the debug framework. Change-Id: I937dd45d3079eac15c200c9d68bb4c911f61afc0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Use different buffer for indices and vertices only in the WebGL pluginJesus Fernandez2018-04-245-89/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch partially reverts 098ba086530ccd555369a9ea88f3c6668726ab81. Only QtWebGL will use separate buffers for indices and vertices. This patch gives a performance boost. Task-number: QTBUG-66191 Task-number: QTBUG-67147 Change-Id: I58b4db2bdf44cd954390e85e079de82031caf9e5 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
| * | Make QtQmlDebug independent of QtQmlUlf Hermann2018-04-2417-204/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This means QtQmlDebug needs its own qqmlprofilerdefintions.h. This is a good thing because this way we notice if we change the definitions in an incompatible way. The test uses QtQmlDebug after all. Also, qqmldebugserviceinterfaces_p.h is not available anymore, which means the service names have to be spelled out. This, also, is beneficial as it prevents us from accidentally changing the names. In the context of QmlDebug we don't need to namespace the profiler definitions, either. This simplifies some code. Task-number: QTBUG-60996 Change-Id: Ibb39e48c9b758687d68b8ce4431f45eb26939a09 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Update submodule now that I've fixed the actual bug hereEdward Welbourne2018-04-231-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The submodule has now reverted my "fix" for a test the ES spec initially lead me to think was misguided; the test is fine, in fact, but I was using the wrong time-zone to run it. That's now fixed here, so we can take in the revert of the mis-fix. Task-number: QTBUG-67010 Change-Id: I89c8236ce11ee4dc16eb145e37f4510e19977bb2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Make QPacketProtocol independent of QmlUlf Hermann2018-04-2315-24/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just because we need a data stream version for QQmlDebugPacket, we don't need to add such a huge dependency. Using a template here adds some boiler plate to all users of QQmlDebugPacket, but this is worth it. Task-number: QTBUG-60996 Change-Id: Ibade8757e28ac772942129c22c8721b504da3aee Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Build fix for -no-feature-testlibPasi Petäjäjärvi2018-04-232-4/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-66609 Change-Id: I6d96b14299f7d764414f6482b7b9b003611d8344 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | Use Los Angeles to represent PST8PDT, not VancouverEdward Welbourne2018-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This amends commit 2b8b7a162be52f8cd6c2bc39f498a1ddfb59dd68. The very last test (15.9.5.43-0-8) in the ES test-suite relies on constructing a time *just* outside the valid range, to provoke (and check it gets) a RangeError. However, it uses the current time-zone offset in computing this; and the local time -> UTC conversion in the Date constructor uses the zone information for the zone at the given time. The TZ db uses each zone's local mean solar time for the period before a formal zone was introduced; and Vancouver is further West than the nominal meridian for its zone. The test code throws in an hour's correction in case it's run in daylight-saving time, which would put the test time, when run during standard time, an hour (and a millisecond, rather than just the millisecond) outside the valid Date range, so as to ensure it's still a ms outside when the test is run during DST. However, the 12m28s mean solar offset overcomes the 1ms and puts the time back in range durign DST (but still 47m32.001s outside during standard time, which is why this problem only surfaced when North America entered summer time). Fortunately, Los Angeles is further East than the meridian in question, and uses the same zone. Task-number: QTBUG-67010 Change-Id: I58fd7bf14366ebe5842b8abd7e6802c9c78ca27e Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | wasm: revert DirectConnection changesLorn Potter2018-05-152-16/+3
| | | | | | | | | | | | | | | | | | | | | Requires the wasm qthread changes in qtbase Change-Id: Ib55b683e0f752031a596ecdafcef22b7c8b9d494 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | webassembly: fix for crash and assert on no thread and wasm buildsLorn Potter2018-05-147-41/+24
| | | | | | | | | | | | | | | | | | | | | This change requires moveToThread change in qtbase Change-Id: Idf35af4b416f577dabb91f749929dbfe5c88a0f0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Merge remote-tracking branch 'origin/5.11.0' into wip/webassemblyMorten Johan Sørvig2018-05-11230-1105/+3580
|\ \ \ | | |/ | |/| | | | Change-Id: Ice58db1687c0cfbd5a19e84ca9fa81b8d3fa7959
| * | Add changes file for Qt 5.11.0v5.11.0-rc2v5.11.0-rc1v5.11.0Antti Kokko2018-04-301-0/+167
| | | | | | | | | | | | | | | | | | Change-Id: I6ab3877b8fff6966141abe1bb40609e5d8d842e3 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | Only create CallContext objects for bindings that might be signal handlersLars Knoll2018-04-261-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creating the callcontext for all bindings causes a 15% performance regression in both of the moving images benchmarks of qmlbench. But in most cases, we know that a binding can't be a signal handler, as those always have to start with 'on'. Take this into account and avoid creating the context for most binding expressions. Task-number: QTBUG-67782 Task-number: QTBUG-67783 Change-Id: I9a25cb916e374c7d03693e49646ca28853c6ba54 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Fix crash in Function.prototype.bindLars Knoll2018-04-241-7/+9
| |/ | | | | | | | | | | | | | | Allocating a 0 sized MemberData hits an assertion in debug builds. Change-Id: I0251b2b38f4b48c7ed35d22f88c0c5c4a98e6464 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Update builtins.qmltypesKai Koehne2018-04-201-2/+37
| | | | | | | | | | Change-Id: I2e08061ff7d084b08d1fb6d857dc6fb985c66a48 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document latest QtQuick.Test import version to be 2.11Kai Koehne2018-04-202-3/+3
| | | | | | | | | | | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: Ie2fe1d172898bd0d51f0841c078abd1f8ab8d744 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document latest QtQuick.Layouts import to be 2.11Kai Koehne2018-04-203-4/+4
| | | | | | | | | | | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: I4131a399cca7c66b0e9df549f14be43eeaa94af3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document latest QtQuick.Particles import version to be 2.11Kai Koehne2018-04-202-4/+4
| | | | | | | | | | | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: I9443be62da5cc9fc281e167f38fa299c73115eda Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document latest QtQml.StateMachine import version to be 2.11Kai Koehne2018-04-203-3/+3
| | | | | | | | | | | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: I61a1015d74beaeac9d7a2aecd73e3f05c8a545c9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document latest QtQml import version to be 2.11Kai Koehne2018-04-202-4/+4
| | | | | | | | | | | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: I232dcef923f3dfa5a6a2377bc8297b07fbe01f37 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document latest QtQuick.XmlListModule import version to be 2.11Kai Koehne2018-04-202-3/+3
| | | | | | | | | | | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: I4ed5d3e08d718ebb6cf15f97806c18b8aa514e1c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document latest QtQuick.Window version to be 2.11Kai Koehne2018-04-202-3/+3
| | | | | | | | | | | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: I5ba3c5947262e7fab5df3bfcc05d2282234dafcc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document latest QtQml.Models import version to be 2.11Kai Koehne2018-04-203-4/+13
| | | | | | | | | | | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: Ife465afc101d400b47e9f98c58cac3894224da00 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document latest QtQuick.LocalStorage version to be 2.11Kai Koehne2018-04-203-3/+3
| | | | | | | | | | | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: If0b8a0daecc62d191a9c5efd450ec0f5214ee387 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Doc: Bump QtQuick import to 2.11Kai Koehne2018-04-192-4/+4
| | | | | | | | | | | | Task-number: QTBUG-67786 Change-Id: Ie371d4c931ce31f728cdd960ad454e26c40cc4ed Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Update plugins.qmltypes for QtQuickKai Koehne2018-04-192-13/+35
| | | | | | | | | | Change-Id: I5d2019c079a5e28b7fd8bfcb1ed63e5a5e3fe956 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Doc: Fix missing \endcode errorKai Koehne2018-04-191-1/+1
| | | | | | | | | | | | | | This got introduced in commit 67c9f735ce. Change-Id: I61a9a3886125cebe64f9eaa5ae1c7b8d226b2e1c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Doc: Add Licensing section to "Qt Quick Test", "Qt Quick Layouts"Kai Koehne2018-04-172-0/+18
| | | | | | | | | | | | | | Mention licenses in the remaining landing pages. Change-Id: I3754d959db9d9e4914e50d670f159eba1afa7596 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix Text with ElideRight not being rendered when reparentedMitch Curtis2018-04-173-1/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following example: Item { width: 100 height: 30 Text { width: parent ? parent.width : 0 height: parent ? parent.height : 0 elide: Text.ElideRight text: "wot" } } When setting the Text item's parent to null, its explicit width and height are set to 0. When restoring its parent (the Item), its explicit width and height are set to 100 and 30 again, but the text itself is still not rendered. The cause can be seen here: if (!(widthChanged || widthMaximum) && !d->isLineLaidOutConnected()) { // only height has changed if (newGeometry.height() > oldGeometry.height()) { if (!d->heightExceeded) // Height is adequate and growing. goto geomChangeDone; heightExceeded was false, because 30 > 12 (or whatever the implicit height happened to be), so the text was not laid out again, even though it went from having an explicit height of 0 to an explicit height of 30. Fix the issue by only executing the goto if the old explicit height wasn't 0. Task-number: QTBUG-60328 Task-number: QTBUG-67145 Change-Id: I7f4d2f95bc95c850133ba91ac2d1a02c7ee159b6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Fix memory leak when calling instanceof on QML itemsSimon Hausmann2018-04-171-0/+1
| | | | | | | | | | | | | | | | The return value of getType() has the ref count increased and needs handling on the caller side. Change-Id: I05ffa4dae221f2502f87b76762164bba1389db32 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Add note about revisions for grouped and attached property objectsMitch Curtis2018-04-161-0/+2
| | | | | | | | | | | | | | If they're not supported, it should be documented. Change-Id: I9219db1c9d31666e005074a863b04438052b3f05 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document QObject::setProperty()'s behavior in relation to bindingsMitch Curtis2018-04-161-2/+17
| | | | | | | | | | | | | | | | | | Make it clear that setting a property via QObject::setProperty() will not break any binding already set on that property. Task-number: QTBUG-67451 Change-Id: Id032c2217a46133d1d6728598f79682dff459897 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Properly handle redeclarations of variablesLars Knoll2018-04-162-33/+38
| | | | | | | | | | | | | | | | | | | | This is only allowed for var type variables. Also fixes an assertion we'd run into with code such as let x; var x; Change-Id: I2588cf37e0964c879c60b4fd292e7d7b5476e322 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Remove a bogus assertLars Knoll2018-04-161-3/+1
| | | | | | | | | | | | | | | | | | It's actually possible to have oldLength != 0 and no arrayData in this code path if someone redefines the length property of the JS array. Change-Id: Ib699425b95fa1e1981483ccb2b2babd476b86f60 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix crashes when parsing destructuring expressionsLars Knoll2018-04-162-2/+3
| | | | | | | | | | | | | | | | | | | | x = [y] = z would crash because [y] is a literal and not a valid lvalue in ES5, something our parser didn't catch correctly. Change-Id: I0d7abd9b3f812f1de61c77dccfab5d1778dac793 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Add a null pointer checkLars Knoll2018-04-161-2/+1
| | | | | | | | | | | | | | | | | | The data pointer in ArrayBuffer can be null, if the constructor tried to allocate an object with an invalid length; Change-Id: I4a37dfa2c749db02982c69ca065c2e7ce9902a93 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix calling Qt.binding() on bound functionsLars Knoll2018-04-1614-43/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling Qt.binding() on a bound function object is a valid use case and used to work until Qt 5.8. The problem was that we optimized the code in QQmlBinding and QQmlJavascriptExpression to directly work on a QV4::Function, so this wouldn't work anymore. To fix this make sure recursive calls to Function.bind() are unrolled (so that the BoundFunction's target is never a bound function itself), then add the bound function as an optional member to the QQmlBinding and use it's bound arguments if present. Task-number: QTBUG-61927 Change-Id: I472214ddd82fc2a1212efd9b769861fc43d2ddaf Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix JSON.stringify with sequence typesSimon Hausmann2018-04-163-10/+25
| | | | | | | | | | | | | | | | | | | | Stringify::JA takes an ArrayObject* but it merely gets the length property and does indexed get calls. Those work also on array-like objects such as our sequence wrappers. Task-number: QTBUG-45018 Change-Id: I4ec4f89a2e09c918fbc2ff1d48ae5915e67ce280 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Doc: Describe new 5.11 features in Image elementv5.11.0-beta4Eirik Aavitsland2018-04-133-2/+113
| | | | | | | | | | | | | | | | Add user documentation of the compressed texture file support and the file extension auto detection. Change-Id: Icfae8574dd3acba30e8275ccd6ff3438fa037868 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * QQuickShapeGenericRenderer: Fix clang-cl-warning about uninitialized variableFriedemann Kleint2018-04-121-0/+1
| | | | | | | | | | | | | | | | | | Add a return to the default branch capturing NoGradient, fixing: warning: variable 'gradMat' is used uninitialized whenever switch default is taken Change-Id: Iad9d619b59677a18a0718d750516c9b2fe51569d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Qml/ArrayElementLessThan: Remove unused member variable thisObjectFriedemann Kleint2018-04-121-4/+3
| | | | | | | | | | | | | | Fix a warning by clang-cl. Change-Id: Ie9285a8937cdfa2640403b07b27ae938c5f61743 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Make QSGLayer::grab work correctly in software rendererJan Marker2018-04-114-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix three separate issues: 1. It was possible that the QSGSoftwarePixmapRenderer's background image's rectangle was set to a non-normalized rectangle. That would have led to the damage area detection creating an empty QRegion for the damage area and QQuickItem::grabToImage would grab an empty image. 2. The QSGSoftwarePixmapRenderer was rendering the image vertically mirrored compared to what its equivalent in the OpenGL backend was doing. Therefore QSGLayer::grab was vertically mirrored, too, so QQuickItem::grabToImage would grab a mirrored image, too. Additionally QSGSoftwareInternalImageNode (used by QQuickShaderEffectSource) now has to mirror its internal texture if that one is a QSGSoftwareLayer. 3. QSGSoftwareInternalImageNode (used by QQuickShaderEffectSource) was not updating correctly when mirroring (with the fix for 2 also in case of a QSGSoftwareLayer as texture). Related to QTBUG-63185 and QTBUG-65975. Change-Id: I0d0ead7fb1c839a8ff427ff7881d8a881e538409 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>