aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changes file for Qt 5.12.2v5.12.2Antti Kokko2019-02-251-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 0999c78ea33d71ba211b7fa90a5d88dd5b29b3fd Avoid crash in property requirements test + 52727146db11d3f7f454e15865655d03496a3300 Fix build with -c++std=c++11 + 7bcc5242c1543785ae4d6a54b9096874a421582f Make sure JIT is disabled when building for ILP32 ABI + bcc55604d9371ea6fb6f223a5897ab44b3bc9665 quicktest: winrt: Use qml files from resource system by default + 3795904e3831722e222fa32a1e52aeb6b3e6ba87 V4: Fix stack alignment in JITted code + c0e16b469f1bce8fc96d751656a43d7396ce4276 Fix build error when building with -no-feature-translation + 0924e03e245c1d628bc7f864d6b194b137116b6e Bump version + cfdb483613494d982a574c9334f2b21621024b1b Fix crash with qt.qml.binding.removal.info=true + 4aa7fe666be35b5699b0e201c3a963777f874e4d tst_qquickapplication: Don't assume app activation is tied to window activation + f0a9c1efe36b952dfe3e802f3ceeee6ed10a65f5 Stabilize tst_QQuickPathView::package() + aca0351c7ce933503b042fd8d745d220c7dd331d QQmlMetaType: Erase attached properties in dtor + 8396dc86f28e89a920d85f59518fac79da8480eb StorageModel manual test: use DelegateChoices to show data graphically + 8fd3cfe7d0f39a731c585334299f5160ad952df9 Annotate stack traces when frames are elided through tail calls + 9e3c46961a5f48c3a704b0147e1f073f7516da9c Remove reference to OpenGL from distance field cache superclass + 84e15a609b37a64baf82ed20f8d4f79474989226 Documentation: Start using the \nullptr macro + dfb3ccddfce6376cf8028ad31d6933b8fdfd1a47 TestLib: Remove outdated note from TestCase.mouseDrag + 84a1cac0baf2e089989ef1cba31437e7c3917d95 Skip shadersource-dynamic-shadersource test on XCB platform + 8380e4c4a4f3f49a74a8bc0ff330e1c9e14dbafc Add handlers declared as Flickable children to its contentItem + feb9ace3de30170f785217fdb7c454e92ca6d525 QQmlNotifier: Always keep the isNotifying flag when updating senderPtr + ba6371fb2ae3ad0096ec672f61a7a989c297d8fc MemoryManager: Only clear weak values once + 8ad8a5ddec05832c34f0cab3c8cf6530ea6c66c8 Canvas: Guard context pointer against external deletion + f4ab0ab62496e63db72592845b285bab3d8388b9 Silent -Wdouble-promotion warning + cf04d5ee18344d45da538810654690bd3936f46a Bring behavior of String.replace() in line with other engines + 84b47be6c79761e274454d437b73a1ac2c6789c9 Add *.pro.user.* to .gitignore + 63bbaf837976bae45fdd2766da0ed4cc808cc0ac PinchHandler: Avoid unwanted translations when axes are disabled + dea0f1b1e69cd313f81dc998e973428161d411e9 PinchHandler: fix pedantic warnings + 454676a8745a7334539449562a5fda47db2fc2ca Fix byte code register dump output + 679a9972b46b0ebd03444f3c08ce7d3424c494f9 TextInput: Stop leaking password values to process memory + 729b1ceb8904a857ba4c804e8a58b9ef4ef7b193 Correctly scope unwind handlers for try blocks + b7b384658b21e741f9a1fde60b1c1ee69a83e278 Remove revisions from Qt.labs.settings methods and properties + a8729cf143a79b274c002166476c54dc152c6679 TapHander: do not "want" an eventPoint that is outside parent bounds + 205f836e5d976a983638dd2969077a9e24c1c4fd V4: Fix unwind handler reset after for-in loop + 5d8d0d7068bc8498ea2a6a4c9bc16e0eeb92836c doc: Two class members can not have the same name + d27d896d8cb9d240138fe8ea69f1051f74ce1945 Improve error message + 5de48ee56a5afb0045d40851a4a1dd79db82c772 QMLJS: Have ScanFunctions iterate over ArrayPattern nodes + 78c1fcbc49f56463064eef738a475d9018357b24 QQuickWindow: don't give exclusive grab to invisible or disabled Items + 8ab6ded97633bf7f74e7ca4de35ed56d07f358d8 Fix bug where QQMPH kept an exclusive grab when no buttons were pressed + 895302829b46e00cde8eef13eb7c630af5d771e2 Try to stabilize tst_qquickwindow::defaultSurfaceFormat + 612ac8749782af9c58a0e823b7180e0018a42be8 Doc: explain when the move velocity and duration properties are used + bb2dce1d902405acfd5aaf997860c0f0318bce77 Try to fix flakiness in flickableinterop test + 734f5a31c7a72d87a99103051ed327addae0ab99 Remove blacklisting of several tests that are passing + 24a686077579b04874f956a1dbb212a91836b64e Un-blacklist tst_qquickflickable::rebound + f2cc7c8580f2a25554cf37426096935c62a5b7af Un-blacklist tst_qquickanimations + a804f31ee2665501c1894cbae8302db181090bd5 Move initView() to tests/auto/quick/shared + eeedd26f35369a61d66283b8e2994a6e87c314fe Fix background color of some QML lancelot test scenes + 91a71bce9c633934540e9f06fb081e3b89259ff3 Defer QML testing until event loop has started + 01f9c623ed2dc1645ac022d69062f720e3b50132 Don't optimize global lookups if fast QML lookups are disabled + 1e3ed172f35abaa0e0af43ee22259bc3cd188ad8 Connect quit() and exit() signals with queued connections + 68d0377736a541fa29d1aaba6b7aa4a4cf8781ef Make test more robust in case we have interleaved update events + 0148243a77a42de1ba6170a1da3977b3026c1927 Canvas: Handle switching between object and string based colors + dbc811e164019b5f9ce371cb7b49d695644f6a90 DelegateModel: Zero foreign context objects when they are deleted + 9343fbc478e42c7aec3247486b25b34f1908e93b PropertCache: Don't pass Q_GADGET value types as integers + 8df1afa89558ddb608ff0df792d2015dd5e2e6ac V4: Fix JS tail call crashes on win32/linux32 + d96a700cc3611480ff76023287cb06f455a37b02 V4: Fix failing assert on all 32bit platforms + 94d30df911dccd830a18d7c2e75397505ef9a600 Check parameter types when invoking C++ functions from QML + 885e4af1f4ba3f047c3d932a1a780ddbba481170 QML: Don't crash the parser on certain kinds of bad input + 2131ec383b588e2160cb72247e61f7eab71cc0b1 QQuickTableView: use correct WRITE function for contentHeight + 06ec6340d0eff763e52135afabc13662b3892c43 Avoid unnecessary re-generation qml cache files in some circumstances + 56d6d905c23607a610b8af142016108063a48e3a Doc: elaborate on default values for Layout.alignment + 407e2769c7b7909fdb2979090e71fa636f109a04 Fix PropertyKey::isArrayIndex Change-Id: I47b6bb6d315c8a3306845efc01abd6f7f6c74ec2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Update plugins.qmltypes for Qt.labs.settingsKai Koehne2019-02-221-6/+3
| | | | | | | | | | Update got necessary after b7b384658b21e741f9a1fde60b1c1ee69a83e278 went in. Task-number: QTBUG-73239 Change-Id: Ic93bbcf5be7f0f33d36b254b3ca30526b86c858c Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Only warn about incompatible parameter types passed from QMLUlf Hermann2019-02-213-39/+48
| | | | | | | | | Throwing a TypeError is too drastic. We need to properly deprecate this pattern before we actually enforce the compatibility. Fixes: QTBUG-73943 Change-Id: I00313ad7aed4021a7368fd014e2bfc6443b177e3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix PropertyKey::isArrayIndexErik Verbruggen2019-02-191-1/+1
| | | | | | | | | PropertyKey::asArrayIndex has a hole at UINT_MAX, so make isArrayIndex have the same hole. Change-Id: I85d0f14680c27d018644056960d75d94aee68646 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: elaborate on default values for Layout.alignmentMitch Curtis2019-02-191-1/+5
| | | | | | | | | | | It wasn't clear which values would be used when only a horizontal or vertical flag was set. Change-Id: I99b4a13a87b35a74f1ab80c5fafa9df621bf7b10 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> (cherry picked from commit a484ea0d3666b57bb49e9284ff86af3ba87ce58b) Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Avoid unnecessary re-generation qml cache files in some circumstancesUlf Hermann2019-02-1812-57/+100
| | | | | | | | | | | | The map of name IDs to resolved types so far is copied several times during compilation and different compile passes see different copies of it. Compile passes may add things to the map, and if they do that on copies that are inaccessible to other code, we get nondeterministic results. Furthermore all the copies and pointers are confusing and inefficient. Fixes: QTBUG-69340 Change-Id: I43ad3cbeeec34f90e05570eddc901fe8aa64c709 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QQuickTableView: use correct WRITE function for contentHeightRichard Moe Gustavsen2019-02-181-1/+1
| | | | | | | | | | The auto test didn't catch this, since there we use the setter functions directly from c++, instead of accessing the properties. Change-Id: I2101e4cfab11d1c0e037f6ca134b6804d328e162 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QML: Don't crash the parser on certain kinds of bad inputUlf Hermann2019-02-182-2/+16
| | | | | | Fixes: QTBUG-72734 Change-Id: I92146ec517c6a26a67e13830618e137f2a3021c2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Check parameter types when invoking C++ functions from QMLUlf Hermann2019-02-173-35/+61
| | | | | | | | | | | | | | | We now check if the given parameters can be converted to the expected arguments of the function being invoked and throw a type error if not. Previously we would still invoke the method with random parameters. [ChangeLog][QtQml][Important Behavior Changes] The parameters passed to C++ functions from QML are now checked for compatibility with the expected arguments. If they cannot be converted, a type error is thrown in JavaScript and the function is not invoked. Fixes: QTBUG-73405 Change-Id: If16089510d314bb7cdb7d4db86478114c61281a8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* V4: Fix failing assert on all 32bit platformsErik Verbruggen2019-02-141-1/+1
| | | | | | | | | | The failing assert is in qv4mm.cpp:170, which is correct. The failure stemms from the fact that on 32bit platforms, quint64 does not have the same size as quintptr. Who would have thought? Fixes: QTBUG-73821 Change-Id: I9abe6bc9e2bfcdb6700ab7997c078076a9883cf2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* V4: Fix JS tail call crashes on win32/linux32Erik Verbruggen2019-02-142-11/+6
| | | | | | | | | | | | For platforms where arguments are passed on the stack, we would do an invalid (off-by-one) calcultion to see where we should put arguments for a tail call, thereby overwriting other values. As we don't write to these memory locations anywhere, and the arguments are exactly the same as calls to jitted code (which is done by design), we could just as well re-use them. Change-Id: If4118b2023da6dc301252a1579a36df0e0cbc3a5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* PropertCache: Don't pass Q_GADGET value types as integersUlf Hermann2019-02-143-2/+53
| | | | | | | | We need to check for the IsGadget flag there. Fixes: QTBUG-73734 Change-Id: Ic4afd4215e6ed346bc40794d85397f0f262715e2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* DelegateModel: Zero foreign context objects when they are deletedUlf Hermann2019-02-144-1/+150
| | | | | | | | | If we keep plain pointers to objects we don't own, we need to zero them when something else deletes them. Fixes: QTBUG-73733 Change-Id: Ib4f3e144f10f70ab6cf44af4ffa62725470d3972 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Canvas: Handle switching between object and string based colorsAndy Shaw2019-02-142-2/+42
| | | | | | | | | | | | | When switching between the two it should respect whatever the color is regardless of whether it is a color value or a string based color. This also accounts for "invalid" colors as this should set the stroke-style to be #000000 to be inline with the default stroke-style indicated in the specification. Change-Id: I00bee6c9a85787762271882838510b4187798ee0 Fixes: QTBUG-42155 Fixes: QTBUG-52959 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Make test more robust in case we have interleaved update eventsJan Arve Saether2019-02-131-6/+10
| | | | | | | | | This could for instance happen if the window gets exposed under the cursor, and it sends a mouse move event that might interleave the press and release events, causing the eventCount variable to jump to 3. Change-Id: Icce59b2aa1a937a990baa83f503907633003e2bb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Connect quit() and exit() signals with queued connectionsMichal Policht2019-02-138-15/+69
| | | | | | | | | | | | | | | | | | Class QQmlApplicationEngine connects QQmlApplicationEngine::quit() signal to QCoreApplication::quit() and QQmlApplicationEngine::exit() signal to QCoreApplication::exit(), but it does so with AutoConnection. This causes in some circumstances problems, which are described in Qt documentation (see QCoreApplication::exit()). This change modifies type of connections to queued connections. [ChangeLog][QtQml][QQmlApplicationEngine] QQmlApplicationEngine connects quit() and exit() signals with queued connections to avoid problems with AutoConnection, when connecting to QCoreApplication slots. Task-number: QTBUG-73649 Change-Id: Ib27738b5af2f879efee8862b1ca01613a2e8dc4e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Don't optimize global lookups if fast QML lookups are disabledUlf Hermann2019-02-135-2/+43
| | | | | | | | | | | If fast QML lookups are disabled, we generally want to look up by string. If the name then happens to be a member of the global JavaScript object, we still don't want to directly access that, as the name could have been overridden in a deeper context. Fixes: QTBUG-73750 Change-Id: Id16110969123d91501064ba46bfad4c2a39e4650 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Defer QML testing until event loop has startedTor Arne Vestbø2019-02-121-1/+5
| | | | | | | | | | | | Executing the event loop means we get various things set up properly, such as runloop auto-release pools on macOS. If not, the whole test suite will be run as a result of the setWindowShown call. Change-Id: Ie217d803208134c5be7db0ee04fbfab86702b521 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix background color of some QML lancelot test scenesEirik Aavitsland2019-02-1214-14/+14
| | | | | | | | Avoid red since that is also used for marking visual diffs in the lancelot results. Replace with a great color. Change-Id: I1da4d1b6dc3cacbd3b5b2574720fcd3176f49a52 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Move initView() to tests/auto/quick/sharedJan Arve Sæther2019-02-113-67/+73
| | | | | | | | | | | | According to our "Coin - Flaky Tests" dashboard on our grafana, initView() in tst_qquickmousearea seems to have very few flakiness issues in actually exposing a QQuickView. It is therefore a good idea to share this implementation so that it can be used by other tests too. Change-Id: Ie83cbf7d00fa02bdd4699757471fa180945851e3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Un-blacklist tst_qquickanimationsShawn Rutledge2019-02-101-4/+0
| | | | | | | | macOS 10.9 is no longer supported. Fixes: QTBUG-45466 Change-Id: I44ce5e6c7d941cf21d937fb0cfe54ee418d28c4e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Un-blacklist tst_qquickflickable::reboundShawn Rutledge2019-02-101-3/+0
| | | | | | Fixes: QTBUG-26696 Change-Id: I32cebc9e0b63b55113f24fd40c06e7017b763aaf Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Remove blacklisting of several tests that are passingShawn Rutledge2019-02-107-19/+0
| | | | | | | | | | | | | ...based on statistics visible in Grafana. Task-number: QTBUG-41895 Task-number: QTBUG-38209 Task-number: QTBUG-65978 Task-number: QTBUG-36804 Task-number: QTBUG-45466 Task-number: QTBUG-29062 Change-Id: If62d2413ede234d33b411e0ecb4f93ec6e0f8062 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Try to fix flakiness in flickableinterop testUlf Hermann2019-02-071-1/+1
| | | | | | | | The usual problem is that Flickable doesn't instantly jump to the expected position but moves there after a delay. Change-Id: Iafc9dd493b97629377e7f7c60ae7adde13427bae Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Doc: explain when the move velocity and duration properties are usedMitch Curtis2019-02-071-0/+5
| | | | | Change-Id: Iaf7cf035f76a1f198c60f4792d394b0fd19ef901 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Try to stabilize tst_qquickwindow::defaultSurfaceFormatUlf Hermann2019-02-061-2/+4
| | | | | | | | Apparently the OpenGL context is not guaranteed to be available right after showing the window. Wait for it to appear. Change-Id: Ie3acdb857d4e3a8c6c148c57916a49a58c93a835 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix bug where QQMPH kept an exclusive grab when no buttons were pressedJan Arve Sæther2019-02-063-0/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happened if you moved the mouse while doing a multitouch operation. More specifically this caused the bug: 1. Open qtdeclarative/tests/manual/pointer/map.qml 2. Rotate the map with two fingers (Do not release fingers). 3. Move mouse (no buttons pressed). 4. Release both fingers. 5. Move mouse again (error: the draghandler has a grab and thus the map is dragged even if no buttons are down). This happened because if you moved the mouse while having two fingers down, Windows would generate a *mouse*move* event with Left button or Right button pressed (which wasn't the case on the physical device but it's probably because of a bug in how mouse events are synthesized from touch on Windows). This caused the QQuickMultiPointHandler to do a passive grab. Then, when releasing the fingers it would not send a mouse release event (just plain touch release events), so the QQuickMultiPointHandler would keep the passive grab it had. All subsequent mouse move events would then be dispatched to the QQuickMultiPointHandler where it would assume that the button was pressed until it got a release event (but button was never pressed so that wouldn't happen). Eventually it would perform an exclusive grab, and dragging was initiated. Change-Id: I42b3133c5fde93c7f92f1cb28705156a69f9ad1c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QQuickWindow: don't give exclusive grab to invisible or disabled ItemsShawn Rutledge2019-02-051-1/+1
| | | | | | | | | | | | An Item might set itself invisible or disabled while handling a mouse press, as an alternative to rejecting the event. In earlier Qt versions (e.g. 5.6) it did not end up with a grab in such a case. Task-number: QTBUG-63271 Change-Id: I12f646e4217d773d396f380672420c85e6adcd52 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* QMLJS: Have ScanFunctions iterate over ArrayPattern nodesErik Verbruggen2019-02-052-0/+9
| | | | | | | | | | | | Like Codegen, have ScanFunctions iterate over the elements in an ArrayPattern, instead of recursing over the tail of the element list. This prevents running out of (native) stack, or hitting the recursion check limiter. Change-Id: I8203af3119ad50f19000a215af42649d9bcb3784 Fixes: QTBUG-73425 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Improve error messageRainer Keller2019-02-043-3/+7
| | | | | | | Show more datails about what actually went wrong. Change-Id: I418a4d1f433bd4d440fc34e9a4932a9ea010b174 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Merge remote-tracking branch 'origin/5.12.1' into 5.12Liang Qi2019-02-013-27/+54
|\ | | | | | | | | | | | | Conflicts: src/quick/handlers/qquickpinchhandler.cpp Change-Id: I1f3618ceb93049623d6bf3a208b037c33d9d1f0c
| * Fix axis constraints API and documentation:v5.12.1Jan Arve Sæther2019-01-213-27/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should have been done properly for 5.12. Since this API was introduced in 5.12.0, we simply hide the documentation for the old properties and make sure the properties we want to expose are documented: * Document the xAxis and yAxis properties. * Deprecate the {min,max}imum{X,Y} properties, and hide them in the documentation. Fixes: QTBUG-73137 Change-Id: Ic749bcfec63dc4772f193ccae2a2750c20cb63aa Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | doc: Two class members can not have the same nameRainer Keller2019-02-011-1/+1
| | | | | | | | | | | | | | At least gcc complains about it. Change-Id: I122b0bab2c2fcea24814a83f005be1ad4686aa78 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | V4: Fix unwind handler reset after for-in loopErik Verbruggen2019-01-311-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider this JavaScript snippet: function f() { for (var i in []) {} } This generates the following bytecode sequence: 2 0: 14 00 09 MoveConst r3, C0 3: ec 00 00 DefineArray (function), 0 6: da 00 GetIterator 0 8: 18 08 StoreReg r2 10: c0 0f SetUnwindHandler 27 12: 50 04 Jump 18 14: 16 0a LoadReg r4 16: 18 07 StoreReg r1 3 18: 16 08 LoadReg r2 20: dc 0a 09 IteratorNext r4, r3 23: 54 f5 JumpFalse 14 25: 50 03 Jump 30 27: c0 00 SetUnwindHandler <null> 29: c2 UnwindDispatch 4 30: 0e LoadUndefined 31: 02 Ret The problem is a normal loop exit: instruction 23 will not jump back, but fall through, and then instruction 25 will jump over the instructions resetting the unwind handler (27 + 29). Removing this jump fixes the issue. Change-Id: Ic9f03555ebebc27144490bce04e9a4166ed7c97c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | TapHander: do not "want" an eventPoint that is outside parent boundsShawn Rutledge2019-01-303-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far it was checking parentContains() on press, release, or when the gesturePolicy is WithinBounds, but not for each movement when the policy is DragThreshold (the default). This might explain most of the remaining warning noise: "pointId is missing from current event, but was neither canceled nor released" because it was possible for TapHandler to remember wanting a point that it should not have wanted, but without taking any kind of grab, and then complaining when that point was no longer present. Since it did not grab, it did not get the release, unless the release was part of an event containing a point that it DID grab. Fixes: QTBUG-71887 Change-Id: I26ce62279574cf6b0150f24e486f224a604ac6b1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Remove revisions from Qt.labs.settings methods and propertiesPaolo Angelelli2019-01-304-13/+10
| | | | | | | | | | | | | | | | | | | | Qt.labs plugins should always have revision 1.0 until they graduate. However, keeping registration Qt.labs.location 1.1 to prevent source incompatibilities. Fixes: QTBUG-73239 Change-Id: I01c66c5d3054fb95df54988b7ce6535ccc65d3a6 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Correctly scope unwind handlers for try blocksLars Knoll2019-01-302-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | Make sure the unwind handler is always reset when leaving the try block. This exposes a couple of failures in the ECMAScript test suite that were before passing by pure luck. Task-number: QTBUG-72858 Change-Id: I014b1e37c2beff136ecd53a665a2f10933f7e12c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | TextInput: Stop leaking password values to process memoryIvan Čukić2019-01-292-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The contents of a deleted QString can still remain in memory and can be accessible by tools that read the raw process memory. The same problem appears when the QString reallocates -- the old buffer gets deleted, but its contents will remain in memory. This means that a TextInput that serves as a password input field can leak parts of the password while the user is entering it (due to reallocation) and the whole password when the TextInput instance is destroyed. With this patch, the contents of the m_text string member variable will be zeroed-out before the TextInput is destructed. This is done only in the cases when the TextInput serves as a password field. Also, this patch reserves the space for 30 characters for m_text when the TextInput is used for password input. This is enough to make sure no reallocation happens in majority of cases as barely anyone uses passwords longer than 30 characters. [ChangeLog][QtQuick][TextInput/security] When the TextInput is used for password input, preallocate a buffer for the string that stores the entered value and zero-out the string on TextInput destruction to avoid leaking sensitive data to process memory Change-Id: I8f1f307b1cfc25ad51f48bae8509a258042a2e7f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Fix byte code register dump outputSimon Hausmann2019-01-291-1/+1
| | | | | | | | | | | | | | | | The first register allocated in bindings is typically the return address register, which was erroneously shown as argument 0 instead of register 0. Change-Id: I00add0b5b1cd08a4c9b1d42ffe79d2ea7e5a73cf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | PinchHandler: fix pedantic warningsShawn Rutledge2019-01-282-20/+19
| | | | | | | | | | | | | | | | | | - qreal<->float conversions are explicit - use qFuzzyCompare rather than == - remove padding between variables (but the class still needs padding) Change-Id: I9a9eb01f5a4108592b34e4b2f018c720ba19beb0 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | PinchHandler: Avoid unwanted translations when axes are disabledShawn Rutledge2019-01-283-7/+93
| | | | | | | | | | | | Fixes: QTBUG-72822 Change-Id: I2773ba14fcb24a47fe2ec04860b4aa305a051453 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Add *.pro.user.* to .gitignoreMitch Curtis2019-01-281-0/+2
| | | | | | | | | | | | | | To ignore likes like foo.pro.user.4.8-pre1 Change-Id: If00bc540da49a06aa2be8ec38bc900996c6837c0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Bring behavior of String.replace() in line with other enginesLars Knoll2019-01-252-14/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "x".replace("x", "$1") gives "$1" in both JSC and V8, as there are no captures that could be used as a replacement for $1. Implement the same behavior as it's the most logical thing to do (even though it's undefined according to the spec). Two digit captures ($nm) work in a way that they get applied if $nm captures exist. If there are less than nm but more than n captures available $n is replaced by the n'th capture and m is copied over verbatim. Change-Id: I8b5f576f2c42c8334859ab7854dcdf07104dd35b Fixes: QTBUG-73152 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Silent -Wdouble-promotion warningJesus Fernandez2019-01-251-2/+2
| | | | | | | | | | | | Change-Id: I44ba34365818adf6b9af022e4bf4ae9e02c3511a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Canvas: Guard context pointer against external deletionUlf Hermann2019-01-233-145/+254
| | | | | | | | | | | | | | | | | | You cannot keep the context when reparenting the canvas item. Use a QPointer prevent dangling. Task-number: QTBUG-73113 Change-Id: Ie7021c6f0bb0d09923eb358dc7e51d6727e74a7a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | MemoryManager: Only clear weak values onceUlf Hermann2019-01-235-5/+90
| | | | | | | | | | | | | | | | | | | | | | | | We want to keep the weak values alive while the destruction callbacks are running, so that they can still access them. We set them to undefined later anyway because we expect the destruction callbacks to mess with the values. Therefore there is no point in also setting them in between. Fixes: QTBUG-72137 Change-Id: I83f70230f5b4ad2761c74770f975b14a5ca71f18 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QQmlNotifier: Always keep the isNotifying flag when updating senderPtrUlf Hermann2019-01-234-20/+94
| | | | | | | | | | | | | | | | | | | | | | When the sender gets deleted we still want to retain the flag that tells us that the notifier is currently active. Otherwise we can miss the error message about synchronously deleting objects while signal handlers are in progress. Task-number: QTBUG-73013 Change-Id: I8abba9b492327c15963d1875841c6822f345a89e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add handlers declared as Flickable children to its contentItemShawn Rutledge2019-01-2214-5/+751
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickItemPrivate::data_append() was not invoked when any kind of Pointer Handler was directly declared in a Flickable (or subclass) because QQuickFlickable redefines the default property to be its own flickableData property. So we need to repeat the special handling in QQuickFlickablePrivate::data_append() too. The handler must be added to the private->extra->pointerHandlers vector, so that QQuickItemPrivate::handlePointerEvent() will attempt to deliver events to those handlers. TapHandler seems OK (especially with its default gesturePolicy so that it does not do an exclusive grab). PointHandler seems OK. DragHandler competes with Flickable for the exclusive grab. pressDelay can help; or set acceptedDevices: PointerDevice.Mouse to allow the mouse to drag but not flick, and the touchscreen to flick but not drag. Fixes: QTBUG-71918 Fixes: QTBUG-73035 Change-Id: Icb97ed5230abe0cb6ec0230b5b5759a0528df7e8 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Skip shadersource-dynamic-shadersource test on XCB platformUlf Hermann2019-01-222-1/+8
| | | | | | | | | | | | | | | | | | | | The test crashes, which is counted as failure, even if the test is blacklisted. It also doesn't only crash on Ubuntu 18.04 but also on Redhat 7.4 and Ubuntu 16.04. Just blacklist it for any linux for now. Task-number: QTBUG-69893 Change-Id: Icc4c41b5d6fa339075b569fcd53220692e882d23 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | TestLib: Remove outdated note from TestCase.mouseDragJoerg Bornemann2019-01-221-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The docs of TestCase::mouseDrag say "Note: this method does not imply a drop action, to make a drop, an additional mouseRelease(item, x + dx, y + dy) is needed." However, you can find that exact line at the end of the function. This commit removes this note and amends 73131271. Change-Id: I601ed441e23e9ed66a08fd0f1d23ff5bbb5bc091 Fixes: QTBUG-72954 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>