aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Fix: Make Image element support detection of suitable file extensionEirik Aavitsland2018-02-132-0/+8
| | | | | | | | | | | | If the source is a non-existent local file or resource, then instead of giving up directly, check if there exists a file/resource with the same name and a known supported image/texture file extension (suffix). [ChangeLog][QtQuick][Image] Support detection of suitable file extension Task-number: QTBUG-66127 Change-Id: I4c0edb639017e8707eed8e532ba55d29917751cb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix memory leak with ListModel.getSimon Hausmann2018-02-121-0/+28
| | | | | | | | | | | | | | | | | This is a regression introduced with commit 3cc589c98390992e3ee8a7970dc2913ea857d623, which in turn fixed a leak with QV4::QObjectWrapper objects. Unfortunately the allocate() call into the persistent (weak) value storage in the list model introduced a leak of the weak value itself. This is fixed by replacing the free standing weak value allocation with the use of the existing jsWrapper weak value in the declarative data (QQmlData). That weak value is freed property in the destroy() method of the QV4::QObjectWRapper. The extra QQmlData allocation is hidden behind a unified allocation, similar to what we do in void QQmlType::create(QObject **, void **, size_t) const. Task-number: QTBUG-66189 Change-Id: I5351e3e484542709a6b210e84aa19b14d28e11ad Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Windows: Fix tst_QQmlDebugProcess failureFriedemann Kleint2018-02-121-0/+1
| | | | | | | | | Change qqmldebugprocessprocess to be a a console process so that qDebug() messages appear on stderr. Task-number: QTBUG-66334 Change-Id: I5c02f893c3326cab19469bfe2b7fe60a804a439f Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQmlProfilerService: Don't crash test if client is never createdUlf Hermann2018-02-081-0/+3
| | | | | | | | | If the self-terminating tests fail to establish a debugging session, we never get a profiler client and we also don't abort on the connection failure. Change-Id: I91d97dd07ff4d3e3519d4bc03115ae82af93d652 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Stabilize testLars Knoll2018-02-081-2/+2
| | | | | | | | | | | | In some cases on X11, the clipboard wouldn't be empty even though we just cleared it. The reason seems to be that it's then owned by a different process. So simply check whether we own the selection before checking that it's empty. This should avoid the random failures we've been seeing in this test. Change-Id: Id069eda5a24ad29e932aeb6a28275c20b010f90c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Stabilize the flickableinterop autotestLars Knoll2018-02-081-2/+2
| | | | | | | | | | Make sure the Rectangles we're sending the touch events to are visible on screen, otherwise I get consistent failures in this test on Linux. Change-Id: Icc2ba7ba73c434dd2ef725adbaa57ab6d413f354 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QmlDebug: Use EngineControl to hold engines until we're done with themUlf Hermann2018-02-082-13/+4
| | | | | | | | | Holding the engines with EngineControl makes sure we always receive the full trace before the connection drops. Task-number: QTBUG-66269 Change-Id: I9177c2a52743ba781547696508342c8d98557121 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QmlDebug: Don't lie about blocked engines in EngineControlUlf Hermann2018-02-081-0/+7
| | | | | | | | Previously additional engineIds could be accidentally added to the list by processing the engineAdded and engineRemoved signals. Change-Id: Ibac0c1ff48ae31c736371d319fe91d33a3396b05 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* blacklist qmlprofiler autotests which depend on AUT terminatingShawn Rutledge2018-02-061-0/+10
| | | | | | | | | | | QTBUG-66230 is causing some failures in tst_QQmlProfilerService when the profiler depends on the application under test to terminate by itself. That should be fixed soon but temporary blacklisting will help get the dev branch moving again. Task-number: QTBUG-66230 Change-Id: I868c92ace0add3ce30128caa23cd3fa9a3a6977e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Shawn Rutledge2018-02-0632-24/+783
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-02-0232-24/+783
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp src/qml/compiler/qqmlirbuilder.cpp src/qml/compiler/qqmlirbuilder_p.h src/qml/compiler/qqmltypecompiler.cpp src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4codegen_p.h src/qml/compiler/qv4compileddata_p.h src/qml/compiler/qv4compiler.cpp src/qml/compiler/qv4compilercontext_p.h src/qml/compiler/qv4isel_moth.cpp src/qml/compiler/qv4jsir.cpp src/qml/compiler/qv4jsir_p.h src/qml/jit/qv4isel_masm.cpp src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4functionobject.cpp src/qml/jsruntime/qv4runtimecodegen.cpp src/qml/jsruntime/qv4script.cpp src/qml/jsruntime/qv4script_p.h src/qml/qml/qqmltypeloader.cpp src/quick/items/qquickanimatedimage.cpp src/quick/items/qquickanimatedimage_p_p.h src/quick/scenegraph/compressedtexture/qsgpkmhandler.cpp tests/auto/qml/qmlplugindump/qmlplugindump.pro tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp tools/qmlcachegen/qmlcachegen.cpp tools/qmljs/qmljs.cpp Done-with: Shawn Rutledge <shawn.rutledge@qt.io> Done-with: Lars Knoll <lars.knoll@qt.io> Done-with: Ulf Hermann <ulf.hermann@qt.io> Change-Id: I010e6525440a85f3b9a10bb9083f8e4352751b1d
| | * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-2433-24/+785
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4compileddata_p.h src/qml/debugger/qqmlprofiler_p.h src/qml/jsruntime/qv4engine.cpp src/qml/memory/qv4mm.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlobjectcreator.cpp src/qml/qml/qqmlobjectcreator_p.h src/qml/types/qqmldelegatemodel.cpp src/quick/items/qquickitem_p.h src/quick/items/qquickwindow.cpp tests/auto/quick/touchmouse/BLACKLIST tests/benchmarks/qml/holistic/tst_holistic.cpp Change-Id: I520f349ab4b048dd337d9647113564fc257865c2
| | | * Blacklist tst_TouchMouse::buttonOnDelayedPressFlickable() on mingwUlf Hermann2018-01-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is flaky and needs to be fixed. Task-number: QTBUG-65823 Change-Id: I471754631493eed20400a2a57b7e55c5007e55f7 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | | * Merge remote-tracking branch 'origin/5.9.4' into 5.9Liang Qi2018-01-184-7/+57
| | | |\ | | | | | | | | | | | | | | | Change-Id: I2837d46455d8f82f0272b463fdf59a3fcfe53ea3
| | | | * Use localPos for windowPos when passing mouse events to QQuickWidgetv5.9.4Ulf Hermann2018-01-172-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickWidget thinks of itself as a toplevel window, so it cannot process the offsets in a parent window. Amends 41293196b4db1aa7a0c616af312875c484639644. Task-number: QTBUG-65800 Change-Id: I8c5dcb8f44a6cbdb58bcc956d8263e68d8180bec Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | | | * Blacklist test_move() in tst_qquickcustomaffector on win/gccUlf Hermann2018-01-172-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test is unstable. Also, print the actual numbers if the fuzzyCompare QVERIFYs fail again. This way we can see better what is going on. Task-number: QTBUG-65819 Change-Id: I65368300498382f7bfebb25299280aa15e3a56ef Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| | | * | Fix crash when accessing a deleted objectMitch Curtis2018-01-112-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QObjectWrapper::query(), return QV4::Attr_Invalid if the object was deleted. Task-number: QTBUG-44153 Change-Id: I53e8be6196489c323b190dbfa20d2dda2a54315e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | | * | GridView: Fix an off-by-one offset of positioning of itemsJan Arve Sæther2018-01-102-0/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The block for finding the position for the item *before* needs to be applied for the case where visibleItems is empty too, so we separate it out. Change-Id: I60a7e3a44d01a0087970e37bf4e73b94da5ebd48 Task-number: QTBUG-49218 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | | * | lancelot: Add tests for some emoji casesEskil Abrahamsen Blomfeldt2018-01-102-0/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a test that emojis can be mixed with non-latin scripts and that ZWJ correctly joins together emojis when applicable. Task-number: QTBUG-61882 Task-number: QTBUG-65519 Change-Id: I6d52382886c9a0c8f2d07ef56abad49ec2f2798e Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | | * | QQmlEngineDebugService: Actually call value types' toString() methodUlf Hermann2018-01-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QML value types generally are Q_GADGETs, but the userType we see there is the wrapped class's type, which doesn't have to be a gadget. So, the toString() method was rarely called, and a model index would still crash the debug service. Change-Id: I63778953eb9d2fc60113c11057da3047fc75a9bd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | | * | Fix segfault on invalid property alias syntaxMitch Curtis2018-01-043-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-64798 Change-Id: Id1eb434f83ec89c5ea1ebaa4d8ec86fce9f4428f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | | * | Allow QQmlComponent::loadUrl() to load absolute URLs with relative pathsMitch Curtis2018-01-044-0/+32
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, QQmlTypeLoader::getType() will assert if passed a relative URL, because it needs absolute URLs in order to ensure that it can use them as keys for its cache. After dc6b73390 was merged, URLs like QUrl::fromLocalFile("main.qml") (which are currently used in examples of how to load a QQmlComponent) started causing the assertion to fail. As mentioned in the comments of the bug report, some patches have already been applied to QQmlComponent's QString-based constructors, but both the constructors taking a QUrl and loadUrl() itself need fixing. This patch puts the fix into loadUrl() (the constructors call this function) so that every operation involving URLs is successful when using the documented methods. Task-number: QTBUG-58837 Change-Id: Ib54ca52eddce6e7781cf96015f4c15af604233d3 Reviewed-by: David Faure <david.faure@kdab.com>
| | | * Fix holistic benchmarkErik Verbruggen2018-01-021-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each test now uses its own QQmlEngine, instead of using a single instance across all benchmarks. The effect is that peak heap usage (on macos) is now about 77MB, where it previously peaked at 770MB. This benchmark would actually crash on some platforms due to excessive malloc/mmap usage. Change-Id: I214f7b9b3d8c5565c0578b82c9c144ec87ed0f2b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | * Fix animation benchmarkErik Verbruggen2018-01-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This was broken by 49a11e882059ee1729f776722e085dd21d378c36. Change-Id: Ic7f261bce5e35b3dbcbdaf0b8718e08c56e55b39 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | * Remove extra addrefMichael Brasser2017-12-293-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code was previously updated to use QQmlRefPointer, so we shouldn't explicitly addref. This allows more components to be correctly trimmed when needed. Change-Id: I15a961cfc456eeab5c791c8a282cc7e2852912cb Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | * Use potentially intercepted URL as ID for compilation unitsUlf Hermann2017-12-212-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We generally have to pass a URL and a file name everywhere because the logical URL might be something else than the actual file being loaded. For example a QQmlFileSelector might modify the URL to be loaded for a specific file. This resulting URL, however, should not be used to resolve further URLs defined in the file loaded that way. As we need to access QQmlTypeLoader::m_url as string more often now, cache it and avoid frequent translations between QUrl and QString. Furthermore, QQmlDataBlob's URLs are changed to follow the same semantics. The finalUrl is the one that should be used to resolve further URLs, the url is the one used to load the content, and subject to any redirects or interceptions. This changes the semantics of URL redirects. Previously a redirected URL was used as the base URL for furher URL resolution. This doesn't work because redirection occurs after interception and interception should not influence the resolution of further URLs. We now use the original URL as base URL for resolution of further URLs and rely on the server to redirect those, too. Task-number: QTBUG-61209 Change-Id: I93822f820bed2515995de3cb118099218b510ca4 Reviewed-by: Michael Brasser <michael.brasser@live.com>
| | | * Add test to QQuickShortcut when render window is usedKari Hautamäki2017-12-193-0/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add auto test for shortcuts when render window is used to draw QQuickShortcut. Task-number: QTBUG-64548 Change-Id: If2eb1f5618ae5f21477cc239acb42bc73ca7ec99 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | | * QQuickItemView: Clear pending changes when refillingUlf Hermann2017-12-182-0/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generally the bufferedChanges are an "extension" of the currentChanges, which can just not be applied at the moment because we are in a layout phase. If we regenerate or clear the whole view in the mean time, the bufferedChanges become just as invalid as the currentChanges. On top of that, refilling can trigger further changes, part of which will be applied during the refilling. As that leaves us in an inconsistent state, we need to loop the refilling until no further changes are generated. As the changes might affect items that are already visible, and therefore not subject to refilling, we need to clear all the items before refilling in this case. In QTBUG-46488 things are added in the onCompleted callback of the delegates (by expanding the tree view, which translates into adding rows to the list view). Depending on where you add the new items, the list view might pick them up when iterating the model on refill() or it might create delegates for the same model entry twice. So, if that happens we need to discard the result and refill again. Task-number: QTBUG-46488 Change-Id: Ie4e0a731f7feda6aa962b6cb9a6cd5c3bf90486e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | | * QQuickList/GridViewPrivate::fixupPosition: don't set moveReasonShawn Rutledge2017-12-161-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QQuickItemViewPrivate::applyModelChanges(), if moveReason = QQuickItemViewPrivate::Other, then QQuickItemView::trackedPositionChanged() will fail to call d->setPosition(pos), which is normally what keeps the Flickable moving for a while. Leave the reason as-is (it will be SetIndex in this case), so as not to forget that we were actually trying to move down when the sequence window->polishItems() -> QQIV::updatePolish() -> layout() -> fixupPosition() did its part of the work of moving down. Task-number: QTBUG-62864 Change-Id: I1021e2ea39265de9e1285e2ee17c5733189ab939 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | | * Add the source directory as import paths in tst_qqmlimportUlf Hermann2017-12-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On shadow builds the QML components won't be found in the build directory. Change-Id: I0f524063537669f68e64fc6c04a6756ed1d130fd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | | * Pass the source directory in the plugindump testUlf Hermann2017-12-112-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On shadow builds this fails when just passing ".", because "." is the build directory. Change-Id: Iee84b73f2c4e5c8663d84d53b31f658501244dc9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | tst_qquickcanvasitem: only run tiff tests if imageformats is installedMitch Curtis2018-02-053-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new QQuickTestSetup class to set a context property that tells the QML testcase whether or not qtimageformats is available. Task-number: QTBUG-23980 Change-Id: Iddf093d422054c93fac6d908684733e71cfaa7c8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Lift restriction for type registrations in QML module pluginsSimon Hausmann2018-02-025-77/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the registerTypes() callback in a QML module plugin we only allow types to be registered that match the module URI specified in the qmldir. We can observe in QtQuickControls 2 that sometimes we need to register types outside of the namespace of the module itself. QQC2 is in QtQuick.Controls but the module has internal types that are in QtQuick.Controls.impl. Types are intended to be registered once in the virtual registerTypes() function. However as we don't allow for the registration of .impl to happen in registerTypes(), QQC2 works around this by registering the types in initializeEngine(), during which the namespace restriction is not in place. This workaround means that every time an application creates a QQuickView (and thus new QML engine) and loads a QML file that imports QQC2, we end up calling initializeEngine(), as opposed to registerTypes() that is called only one single time in the application process. As a consequence each time this happens we and up calling qmlRegisterTypes() with the same times and leak memory this way, as qmlRegisterType*() is supposed to register a new type and return a new type id that can be passed to qmlUnregisterType. To solve this this patch lifts the restriction on namespaces for registered types during registerTypes(). The real world case of QQC2 shows that the restriction is limiting and also easy to work around. With the restriction lifted QQC2 can now register all types once in registerTypes() instead. [ChangeLog][QtQml][Important Behavior Changes] QML module plugins used to be limited to type registrations in the primary module namespace in the virtual registerTypes() function. Module authors worked around this limitation by placing necessary internal type registrations into initializeEngine() that may cause memory leaks. Therefore this restriction has been moved and types in any (non-protected) namespaces can be registered in the registerTypes() function. Change-Id: I5baf9718a0b0a591f6eb6d7e2dc83e13b204800d Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | | Use better QmlProfiler client from Qt CreatorUlf Hermann2018-02-023-346/+331
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This client can track locations itself, and thus doesn't require the server to send the event types over and over with each message. Once all our client implementations have this feature we can drop a lot of code. Furthermore, this way we can write regression tests for bugs that only occur when client side location tracking is active. Change-Id: I3735392452e20a7be98e92b900fadef04701d85f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Remove double indirection between QJSEngine and QV4::ExecutionEngineUlf Hermann2018-02-026-44/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As QJSEngine's handle() method is internal, we can redefine it to return a pointer to an ExecutionEngine. That makes many things easier. Change-Id: Ie3df99e0bad5f00ad4fe73182896cd135fa82994 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | Add QUICK_TEST_MAIN_WITH_SETUP to allow executing C++ before a QML testMitch Curtis2018-02-024-1/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This macro is the same as QUICK_TEST_MAIN, but takes the user's QObject subclass as an argument, and calls pre-defined slots/invokable functions on it, similar to how e.g. init() is called for C++ tests. This allows e.g. context properties to be set for the QML tests. By basing the API on invokable functions, we give ourselves the freedom to easily add more functions in the future. [ChangeLog][QtQuickTest] Added QUICK_TEST_MAIN_WITH_SETUP macro to allow executing C++ before a QML test (such as registering context properties). Task-number: QTBUG-50064 Change-Id: Id566e388553811c220871248403d32545f8ae1eb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Add basic handler for ktx format texture filesEirik Aavitsland2018-02-012-0/+10
|/ / / | | | | | | | | | | | | | | | | | | | | | This adds basic support for reading compressed textures stored in .ktx files, the Khronos texture file format. Change-Id: Iafb86cff9607eedb26a73989f9b005455ddd316f Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | | Add support for compiling QML/JS files ahead of time in resourcesSimon Hausmann2018-01-284-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is bringing over the loading infrastructure from the Qt Quick Compiler that allows embedding qml/js files in resources and compiling them ahead of time. At the moment, the approach of generating one cpp file per qml/js file and the loader stub is needed because the build system does not support dynamic resource generation. In addition, as per QTBUG-60961, we must ensure that the generated data structures are aligned. To retain compatibility this is enabled via CONFIG += qtquickcompiler, but we may need to find a new name (but should keep the old one in any case). Task-number: QTBUG-60961 Change-Id: Ia9839bf98d3af4c50636b6e06815364a9fc7ee57 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | FolderListModel: add status propertyIlya Kotov2018-01-281-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | This allows to track directory loading Task-number: QTBUG-48708 Change-Id: If79a325ef1bfc831d3bc2a205e3127a571fcb0c1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Support masking of QQuickItemsPaolo Angelelli2018-01-253-1/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding a new property, containsMask, to QQuickItem, that can be set to any QObject defining a Q_INVOKABLE bool contains(const QPointF &point). When this property is set, the mask object contains method is used in place of the item own contains method. [ChangeLog][QtQuick][QQuickItem] Added containsMask property. Task-number: QTBUG-20524 Change-Id: I5b0696e2cddc6ae3e217ce149c5f44980fdb69aa Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Blacklist QTBUG_34576_velocityZero ListView test on macOS 10.11Shawn Rutledge2018-01-251-0/+3
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-65964 Change-Id: Ie1ba02a38cbd019077c7a89ed310d79ec28b6bec Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | blacklist tst_qquickimage::nullPixmapPaint on QEMUShawn Rutledge2018-01-251-0/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-65978 Change-Id: I0b506a2a85566f560eb555c26b568b1dd81811b3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Match QQmlEngineDebugServiceTest to the serviceUlf Hermann2018-01-252-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fact that the service transmits QObject properties by their objectNames, rather than as proper references is not very useful and in fact the reason for some strange behavior in QtCreator. However, it's been that way for a long time and we should test what the service actually does. Task-number: QTBUG-65852 Change-Id: I6e489bb9877fae129432b5b3d5d4c7bfb5deaa9b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | QQmlEngineDebugService: Output better diagnostics on test failureUlf Hermann2018-01-251-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently this check fails sometimes. We want to know what kind of value causes it to fail. Task-number: QTBUG-65852 Change-Id: I732ee5e3b224567bf3ea34d57bef5d78bfdd6ca1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Minor data structure cleanupSimon Hausmann2018-01-222-25/+1
| | | | | | | | | | | | | | | | | | | | | | | | The cache files are architecture and ABI independent, so we can remove any associated field/code as well as the workaround for Android. Change-Id: Ia52a5be886fc22a2105460e003e7a76af7dc1818 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-201-2/+7
|\| | | | | | | | | | | Change-Id: Ibcdccc2149539466475ce32f58a9a568705caf23
| * | Create new engine for each benchmark runAllan Sandfeld Jensen2018-01-171-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we end up with too many mmap'ed blocks as they appear not to be deallocated until the engine is destroyed. Change-Id: I88b8dd6d570423a492ddc6c7f105d0db97caa72d Task-number: QTBUG-60590 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Add support for getting the flags from the original mouse eventAndy Shaw2018-01-185-0/+166
| | | | | | | | | | | | | | | Change-Id: Ifdf0b8cb43b1e88f3931f49ac6ca72019548ddcf Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Fix license headersJani Heikkinen2018-01-161-17/+12
| | | | | | | | | | | | | | | | | | | | | | | | old header.LGPL21 was used in one tests file. Replace that with correct header.GPL-EXCEPTION one Change-Id: I2319dea697ab1950f989316869e3342a4c2dfe52 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | | Get rid of BuiltinFunctionLars Knoll2018-01-151-3/+3
| | | | | | | | | | | | | | | | | | | | | It's now unused. Change-Id: Id2941c212d488c9b0933fa06aac9922b9db13a05 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>