aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Build without the draganddrop featureAndy Shaw2018-06-252-3/+2
| | | | | Change-Id: I5e3a3ebd36d49fdf649eec5a3fb0a8fdb048ce0d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: Improve shared javascript resources phrasingPaul Wicking2018-06-251-9/+18
| | | | | | | | | | | Make the text less ambiguous. Reformat comments in code examples, as they mess up formatting in rendered content. Task-number: QTBUG-56028 Change-Id: I296839e4e102d25d1a943a5766f37ba5521bdb81 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* QQuickPathViewPrivate: fix heap-use-after-freeMitch Curtis2018-06-253-0/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TabBar auto tests in Qt Quick Controls 2 repeats the following process very quickly for several data rows: 1. Creates a TabBar (PathView, when using the Universal style) 2. Moves items in its QQmlObjectModel 3. Deletes the TabBar When run with ASAN, this test would fail, because the TabButtons (which are child items of the PathView) would try to access a deleted QQuickItemChangeListener upon their destruction. The underlying issue is that QQuickPathView::modelUpdated() is called, and before a refill() can happen, the view is deleted. QQuickPathView::refill() was the only execution path that was releasing the cached items (QQuickPathViewPrivate::itemCache), and since part of releasing an item involves removing the QQuickPathView as a change listener from the item, the item would access the deleted view (listener) when the item was being destroyed. This patch fixes the issue by also releasing cached items in QQuickPathViewPrivate::clear(), which is always called by the destructor. Task-number: QTBUG-68964 Change-Id: Ic5bf0943be79948c86bf7c07ef13ecd1a7b971ba Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Remove dead test - compilerwarningsLiang Qi2018-06-221-38/+0
| | | | | | | A follow-up of 9d078c8f147ea875e862360b0d7480201fbbcff7 in qtqa repo. Change-Id: I4b6c2923827ba8929a8f9b0919e5017122ca95fc Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Doc: Move literal codeblocks to snippet filesVenugopal Shivashankar2018-06-226-12/+116
| | | | | Change-Id: Iff45ea6cf414717fd1cb0a194eef390a9f153838 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: Move the code snippets to a separate snippet fileVenugopal Shivashankar2018-06-226-25/+220
| | | | | Change-Id: I17671563f2beebe16ae1d08552854eaf44ae43ee Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* PacketProtocol: Explicitly transmit packet sizes in little endianUlf Hermann2018-06-221-5/+15
| | | | | | | | | So far the protocol would fail if the endpoints have different endianness. Task-number: QTBUG-68721 Change-Id: Ib53894b1e2f3eecf40160bb7bb9cfaa4beb2c045 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: Correct QML type for FolderListModel.folderPaul Wicking2018-06-211-4/+4
| | | | | | Task-number: QTBUG-68940 Change-Id: I439ec9b6253815f41e405a0d9f79ff69eb75c98e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix crash in binding setup during async load from a LoaderErik Verbruggen2018-06-211-1/+4
| | | | | | | | | | | | | | | Change 91ac4a8d099d10fdfd5aa631da02727b7917d85f removed the source location from QQmlBindingFunction, because it can be retrieved from the QV4::Function in the QV4::CppStackFrame. However, if a binding is initialized as part of an asynchronous load from a Loader component, there might not be a valid function pointer in that frame. In this specific case, we fall back to the source location of the binding function. Task-number: QTBUG-68738 Change-Id: I2d3f17e4cb82be1e70a54cb66f9cf9c17f541f95 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Script::parse(): improve "function expressions as statement" error msgMitch Curtis2018-06-201-3/+4
| | | | | Change-Id: I3c54c90bfa48d2f6ba78b898413133e49b66c208 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix transitive includeUlf Hermann2018-06-201-0/+2
| | | | | | | | qsgtexturefilehandler_p.h is included through other headers that depend on QT_CONFIG(opengl). Change-Id: Ic87482289332cb1a0215ca74362207f9941239d7 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* CMake: fix bad argument quoting when calling rccRolf Eike Beer2018-06-191-1/+1
| | | | | | | | Fixes: 8735ff6499f4ef93675a9e8158af77461f6e93bc Change-Id: If8a3a394e52027fe99acc98ea8f4b7847db81497 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* revert change 353164263c55825a0ec72d30128c50560c626334Lars Knoll2018-06-195-18/+3
| | | | | | | | | | | The change was too aggressive in trying to avoid marking the array data. We didn't catch all cases where on could be inserting a GC controlled object into the array data. Let's be safe and always mark the content of array data objects. Task-number: QTBUG-68894 Change-Id: Ifbb628be898c0903596b1a483212384295b01df5 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* qmlcachegen: Remove superfluous semicolons from generated codeJoerg Bornemann2018-06-191-2/+2
| | | | | | | | | This fixes the "extra ';'" warnings when compiling generated code with -Werror=pedantic. Task-number: QTBUG-68809 Change-Id: Ie26cdc4e06bc26587766dd72b258624773a7f990 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix CONFIG+=qtquickcompiler with umlauts in the file pathSimon Hausmann2018-06-198-10/+88
| | | | | | | | | | | | | | | Instead of replacing every character that is not allowed in C++ identifiers with an underscore (which in turn could lead to collissions), replace it with the hexadecimal value of the offending character's unicode value. In addition we must use the complete suffix when mapping Foo.qml to Foo_qml.cpp. Task-number: QTBUG-68608 Started-by: Erik Verbruggen <erik.verbruggen@qt.io> Change-Id: I7e2153f0e6671b37dcaee4efb9aaae1d9b230f0c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Attempt to stabilize tst_qquickwindow::openglContextCreatedSignalSimon Hausmann2018-06-191-1/+1
| | | | | | | | | | | | | | | | | | | The test creates a QQuickWindow, calls show() on it and then waits with qWaitForWindowExposed() to return true. The expectation of the test is that when that call returns, an expose event was also successfully delivered to the window and the scene graph's render loop has attempted rendering the window contents - using *RenderLoop*::renderWindow(), which would - in the case of the gui thread loop - create the GL context. This expectation is expressed using a QVERIFY on a signal spy that observes the emission of the GL context created signal of QQuickWindow. There is no guarantee that by the time qWaitForWindowExposed returned true, an expose event was delivered to the window. Therefore let's use QTRY_VERIFY. Change-Id: I604cbf40dfb7980448f406e26b77678a65faf359 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix support for QTQUICK_COMPILER_SKIPPED_RESOURCESSimon Hausmann2018-06-191-0/+12
| | | | | | | | This used to work with QQC before 5.11 and somehow was lost in translation. Change-Id: Id3d38c609e228d0f7676d3fb177b271eb46f6f73 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.11.1' into 5.11" into ↵Simon Hausmann2018-06-191-0/+56
|\ | | | | | | refs/staging/5.11
| * Merge remote-tracking branch 'origin/5.11.1' into 5.11Qt Forward Merge Bot2018-06-191-0/+56
| |\ | | | | | | | | | Change-Id: If058b169d39776b423b85ad975c56b46f49fdb6c
| | * Add changes file for Qt 5.11.1v5.11.1Antti Kokko2018-06-151-0/+56
| | | | | | | | | | | | | | | | | | Change-Id: I9a46ff6580e63c621835a4100e6fd19b5367492c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Doc: Add missing dots (qtdeclarative)Paul Wicking2018-06-19121-192/+192
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-68933 Change-Id: Ibb5aa227e82825085e7214e17dcffcb17fd44157 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Flickable: fix another possible cause for out-of-sync moving flagsNils Jeisecke2018-06-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to d868bb4f3e4b0424fd4a2989ff1c82692b0f014c this removes the check for scrollingPhase in movementEnding. If movementEnding is invoked by some codepath other than timerEvent (e.g. setContentY) and scrollingPhase is true this will again prevent any further invocation of movementStarting from within the drag method (see d868bb4). As this check was introduced together with the movementEnding timer (QTBUG-63026) and scrollingPhase is now checked inside the timerEvent there should be no need for the check in movementEnding. Task-number: QTBUG-67460 Change-Id: I88ad6e3ee56b88a66bb61798b8876324f4842f1e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | QQmlDebugProcess: Wait forever for debug messagesUlf Hermann2018-06-191-2/+0
|/ / | | | | | | | | | | | | | | | | | | | | | | If we don't get the expected message in 15s, output a warning and try again. This will eventually be terminated by the overall test watchdog, but experiments show that starting processes on the CI can take minutes, so it's not worth it to have a separate timeout here. We still output the warning, so that we see in the log when this happens. Task-number: QTBUG-68741 Change-Id: I1ca9d0726753d566d8d89dd682d7d503fcd3a337 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | CMake: avoid x${var} tricksRolf Eike Beer2018-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | Just passing the variable name to if() will make CMake evaluate it exactly once, without the need for any specific tricks. The x${var} tricks may be necessary for macro() arguments, which are not variables, but here an ordinary variable in a function is tested. Change-Id: Ibf8fc3efd43a6d8ea729eaaaf14ddeaa15804924 Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | CMake: replace deprecated exec_program() with execute_process()Rolf Eike Beer2018-06-081-1/+1
|/ | | | | | Change-Id: Ic3fc1a59703c11aab17529d4b0e92789e4650ca7 Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Tooling: Fix integer range checksUlf Hermann2018-06-062-10/+5
| | | | | | | | | | | | | | | | | The packet protocol should check if the number of bytes to be read is positive. Also, a Q_ASSERT on the return value of read() is too brutal. The device can have failed for any number of reasons and we don't want to crash the application because of that. Finally, the number of bytes to be read includes the bytes read to determine the number. Make that clearer by subtracting the actual count, not sizeof(qint32). The check in QQmlProfilerTypedEvent is supposed to happen before we cast the number to the more restrictive type. Furthermore, if subtype doesn't fit the range constraint, we don't have to do anything at all as the default rangeType is already set before. Change-Id: I48c8c47e4207abae6e718eea97815d43e7f9d833 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add changes file for Qt 5.9.6Antti Kokko2018-06-051-0/+43
| | | | | | | Change-Id: I989ea0802f459b2440ee580e94340a1e64bf00e4 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit 283a900c4e8518fef33a2c89cb597fbf1e6ad78c)
* Add changes file for Qt 5.9.5Antti Kokko2018-06-051-0/+69
| | | | | | | Change-Id: I8a8dd8f55075ce23e0ae85abde2538560d5fa2b5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit dfbe91853737ff8ab548925bbd40fc9183a6e05d)
* Add binary compatibility files for Qt 5.11Milla Pohjanheimo2018-06-054-0/+57946
| | | | | | | Add files for binary compatibility test for QtDeclarative Change-Id: Ie7a156e40176cc98ce31d5e4189d1e41c7c6df62 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix subrect of mismatched dpr sprite imageAllan Sandfeld Jensen2018-06-011-5/+5
| | | | | | | | | Scale the subrect to fit image dpr. Task-number: QTBUG-68490 Task-number: QTBUG-68582 Change-Id: I6b0a9af73013dc6cf2b65103d5868f45da8e338e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Bump versionOswald Buddenhagen2018-05-311-1/+1
| | | | Change-Id: I061a94a4cd642a8832899f69dc33a0a7bd597b72
* V4: Set argumentsCanEscape when debuggingUlf Hermann2018-05-302-0/+24
| | | | | | | | | This causes the updated arguments to be reported to the debugger when they are overwritten in the function body. Task-number: QTBUG-68534 Change-Id: I30c22d31aa97da0d58a4bbaaa032180a919669a8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Formals come after locals in the CallContextLars Knoll2018-05-292-4/+37
| | | | | | | | | | | The method updating the internal class for a CallContext messed up the order between locals and formals, leading to wrong name lookups for signal handlers taking implicit arguments Task-number: QTBUG-68522 Change-Id: I36d55b3b0cfe9af6397455782551498b7ddb940a Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix a crash in the modulus operationLars Knoll2018-05-282-1/+11
| | | | | | | | | | INT_MIN % -1 crashes in C++ with an arithmetic exception, so avoid passing negative numbers into the integer operation, use fmod() instead. Task-number: QTBUG-68513 Change-Id: Ib5a37b55a0f9d41a84c7e6c00ea3f87622155de5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove old pre-QFileSystemEngine-rewrite codeErik Verbruggen2018-05-281-9/+1
| | | | | | | | | | | Once upon a time, calling stat directly on Unix-alike systems gave a significant speed-up compared to calling QFile::exists. These days not so much. It also breaks any use of custom subclasses of QAbstractFileEngine. Task-number: QTBUG-68463 Change-Id: Icae8a16880723dee13c460cfdb15b03dc63c1371 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QML Debugger: Don't crash when encoding JSON dataUlf Hermann2018-05-252-27/+99
| | | | | | | | | Apparently QVariant::save cannot deal with QJsonObject and friends. Transform them into QVariants before sending them over the wire. Task-number: QTBUG-68474 Change-Id: I8fc9fade4915c2b40f8d16aea51ea6ff65247dc1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix build for Android with android-clangLiang Qi2018-05-251-2/+1
| | | | | | | | | | jit/qv4assembler.cpp:65:11: error: unused variable 'IsIntegerConvertible_Shift' [-Werror,-Wunused-const-variable] const int IsIntegerConvertible_Shift = QV4::Value::IsIntegerConvertible_Shift; ^ Change-Id: I8fd7f03661e9bb7d80c92947cd43841189f148ce Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Fix crash when modifying list model in worker threadSimon Hausmann2018-05-242-2/+3
| | | | | | | | | | | | | | | | If we call get() on a model in a worker thread, we may end up creating a ModelNodeMetaObject (aka cacheObject). Subsequent mutation of properties may make us end up in emitDirectNotifies(). However since we can't have bindings in there, we should shortcut/suppress the notify emission, which we can do by checking ddata->context via qmlEngine(). The previous code crashed when qmlEngine() return a null pointer but QQmlEnginePrivate::get(const QQmlEngine *) would attempt to dereference the parameter. Started-by: Slava Monich<slava.monich@jolla.com> Change-Id: I880619c686436c053692faafa5dba2c96c2ace96 Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Slava Monich <slava.monich@jolla.com>
* tst_gradient.qml: fix warnings about multiple var declarationsMitch Curtis2018-05-241-115/+115
| | | | | Change-Id: Iccfb86de6f8c14d10fcf12e1b7cbd58a13754aa7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tst_gradient.qml: fix warnings about type coercionMitch Curtis2018-05-241-108/+108
| | | | | Change-Id: Ic3ab7cb4fa1772a0d92c06285f9cddf3378bd411 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* V4 debugger: Allow retrieval of non-CallContext scopesUlf Hermann2018-05-235-26/+111
| | | | | | | | | | | | | | We need to encode the scope type properly and we need to return something from the "scope" command. Previously the client didn't even get notified about QML contexts and couldn't actually retrieve anything but call context. The other scope types are not terribly interesting right now, but at least for the global context it should be possible to provide more data in the future. Task-number: QTBUG-68218 Change-Id: I88d3dbc15a93f19b00f6f12365e4fb64ec78862e Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* On network redirects, update finalUrl, not urlUlf Hermann2018-05-238-9/+60
| | | | | | | | | | | | | | | We want all further imports to be relative to the redirected URL, not the base one. Note that this will incorporate any prior URL interceptions into the final URL if a redirect happens. We don't really want this to happen because the result of interception is not meant to be the base for further URL lookup. However, as interception occurs before redirection, this is unavoidable. Don't use URL interceptors on remote URLs. Task-number: QTBUG-67882 Change-Id: I2717bdd4de119ac67caa08fdccc041432025abff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix change-of-sign warningThiago Macieira2018-05-231-1/+1
| | | | | | | | | | | Column numbers cannot be negative. error #68: integer conversion resulted in a change of sign int value = v8engine->consoleCountHelper(scriptName, frame->lineNumber(), -1); ^ Change-Id: I052407b777ec43f78378fffd1531182f28e09b1f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix crash when incubating objects with non-existent initial propertiesSimon Hausmann2018-05-234-2/+36
| | | | | | | | | | | | | | | When incubation is triggered from C++ and reaches the state of setting the initial properties (as supplied to incubateObject), we'd set engine->currentStackFrame to a CppStackFrame that provides access to the correct QML context. As we're not called from the interpreter, the v4Function pointer would be a null pointer. If during the initial property setting an exception is thrown (due to non-existent property access) and a back-trace is created, we'd end up dereferencing v4Function. Change-Id: I7f6b0ba7893bfb4186f55d4c213b4bb602d29aa0 Task-number: QTBUG-68416 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix crash when modifying objects used as prototypesLars Knoll2018-05-232-0/+20
| | | | | | | | | | | | | | | | Changing the prototype of an object back and forth leads to a 'cyclic' reference in the internal class transition tables. If one of those objects then gets a new property, we would get an infinite stack recursion trying to update the internal class IDs of the classes using this prototype. Fixed by skipping protochanges and vtable changes in the update code. That's ok, as those classes will always be reached through other paths from the empty class. Task-number: QTBUG-68369 Change-Id: Ie54ca5171a92f8e8b146a91376e435478ff70185 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Ensure we restore QML-defined enumsMichael Brasser2018-05-234-0/+38
| | | | | | | | | | | | This code path was previously missed, leading to some AOT-compiled types generating errors of the form: Unable to assign [undefined] to int [ChangeLog][QtQml] Fix QML declared enums with CONFIG+=qtquickcompiler. Change-Id: Ib46a2b2505aa3863f091a6ccdebf8425e62fc38f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: link to integration flowchart in "Interacting with QML from C++"Mitch Curtis2018-05-221-2/+2
| | | | | | | | | | Replace the link to the more specific "Integrating QML and C++" page with a link to "Choosing the Correct Integration Method Between C++ and QML", as the flowchart is a much quicker way for users to determine the correct approach for their use case. Change-Id: Ia2c269f9149d801644407bba7388624d69a75564 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* tst_qquickanimatedsprite: add all QML files to OTHER_FILESMitch Curtis2018-05-161-1/+1
| | | | | | | Makes it easier to open them via the locator, for example. Change-Id: I8a5a0beba315da25b14bf2d519974e175f39567f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* setGrabberItem: consistently call touchUngrabEvent or mouseUngrabEventShawn Rutledge2018-05-152-8/+7
| | | | | | | | | | | | Calling grabberItem() to get the old grabber must come before setting m_exclusiveGrabber. Then we call oldGrabberItem->touchUngrabEvent() or oldGrabberItem->mouseUngrabEvent() as appropriate. Now the responsibility for this is moved from QQuickItem::grabMouse() to QQuickEventPoint::setGrabberItem() (which it calls). Task-number: QTBUG-65648 Change-Id: Ia6219cb798d7f671ccc4006d51eeb87dbdbda3ef Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Pass the arguments correctly to QRadialGradientAndy Shaw2018-05-151-1/+1
| | | | | | | | | | The parameters for createRadialGradient indicate the position and radius for the two circles. Therefore the radius arguments should be used with their respective circle positions. Task-number: QTBUG-67960 Change-Id: Ifacba4d43939bafeed451e713250f716a11d30d1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>