aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-beta3Qt Forward Merge Bot2019-04-1514-36/+122
|\ | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/masm/assembler/LinkBuffer.h src/qmltest/doc/src/qtquicktest-index.qdoc tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp Change-Id: I7d83ad95cf489dda794dd7a0a33bad3ef3b05609
| * Only create the imports array if importCount is greater than 0Andy Shaw2019-04-141-2/+4
| | | | | | | | | | | | | | | | | | | | | | Since it is possible that CompilationUnit::instantiate() might be called more than once when the importCount is 0 then it should only create the imports array when it is greater than 0. This prevents a memory leak due to the recreation of this array each time it is called even though there is no imports to assign. Change-Id: I5d84b01de10bff2ca25248251e8337839e434bd5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Ensure the correct version of LinkBuffer's performFinalization is calledAlec Rivers2019-04-121-4/+4
| | | | | | | | | | | | Task-number: QTBUG-74876 Change-Id: I8e816d29b709750b121cc63edfc5f3493a3ed119 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Don't create value types for QImage and QPixmapUlf Hermann2019-04-123-11/+45
| | | | | | | | | | | | | | | | Those are "scarce" resources which need to be kept as QVariant. Fixes: QTBUG-74751 Change-Id: I28381e2a754ed4bbf4e409dc275f6288b64416cc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Document macOS threaded render loop availabilityMorten Johan Sørvig2019-04-121-3/+9
| | | | | | | | | | | | | | | | | | | | The threaded render loop (or specifically QPlatformIntegration::Capability::ThreadedOpenGL) is disabled when building with Xcode 10 (10.14 SDK). Task-number: QTBUG-75037 Change-Id: Ib0b4cab56c053958fcae5616cbb496602efbf5e1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Extend blacklisting of qquickmultiponttoucharea to SLESTony Sarajärvi2019-04-111-0/+2
| | | | | | | | | | | | Task-number: QTBUG-59960 Change-Id: I6684b1a63425233dbee1d37acfe3e785cb76a597 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Doc: correct the info about when each Qt Quick Test function is calledMitch Curtis2019-04-101-4/+4
| | | | | | | | | | | | | | | | Only qmlEngineAvailable() is called for each QML test file; the rest are called once for the entire test application. Change-Id: I293c5a2491da75ddad68e7fb89bcd32b770fccf5 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * Add support for selectors to qmlsceneThomas Hartmann2019-04-091-0/+7
| | | | | | | | | | | | | | | | This allows to use qmlscene together with file selectors. Task-number: QDS-589 Change-Id: Icf613c938bfc2c56b33a36ab2da32c3c54b498a2 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * QQuickWindow: Run render jobs when there is a render control in NoStageAndy Shaw2019-04-091-2/+10
| | | | | | | | | | | | | | | | | | | | | | When running a QML application with using Canvas3D component inside a QQuickWidget, the Canvas3D is not rendered. This is due to no scheduled OpenGL commands with RenderStage == NoStage are actually executed when there is a render control instead of a window manager. Fixes: QTBUG-51993 Change-Id: I33323893cd6144187feccb1c6bcd010eff0fff6d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Detect and reject cyclic aliasesUlf Hermann2019-04-094-10/+37
| | | | | | | | | | | | | | | | Previously those would result in infinite recursion. Fixes: QTBUG-74867 Change-Id: I6c0043b43e72fe7bc3a2a139ca600af2d5bca5ad Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Doc: Remove testlib sources from Qt Quick documentation configTopi Reinio2019-04-101-1/+0
| | | | | | | | | | | | | | | | Qt Quick Test is now its own documentation module; including the path in both modules resulted in the duplication of QML types. Change-Id: Ib947bb1fa136cc81328dcb46832f616adb1cefce Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-beta2Qt Forward Merge Bot2019-04-0911-12/+163
|\| | | | | | | Change-Id: I68211a7d4568a1c31c6a124fe6777709c53736a5
| * Don't use delegate model types on -no-feature-delegate-modelUlf Hermann2019-04-081-0/+2
| | | | | | | | | | | | Fixes: QTBUG-74884 Change-Id: I7a675f6ef41937cef0f8e67960486c5b022d735c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Avoid INT_MIN % -1 and INT_MIN / -1Ulf Hermann2019-04-082-0/+18
| | | | | | | | | | | | | | | | | | Those throw arithmetic exceptions as the result doesn't fit into an integer. Fixes: QTBUG-75030 Change-Id: Ibd978848f42cf1c9da1e4af2dc9d7da123ef8f5a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * QSGDefaultContext: sort GL_EXTENSIONS before printing themRolf Eike Beer2019-04-081-5/+5
| | | | | | | | | | Change-Id: Ia57d037901327ca44e7758c09398dd51dc621319 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix clang-cl compiler warningsKai Koehne2019-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | clang-cl.exe 8.0.0 warns: qv4internalclass_p.h(460,19): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend] The warning is most likely bogus (otherwise the code wouldn't compile on other platforms. But it's arguably not a bad idea to just qualify the friend declaration. Change-Id: Ia34119661c29cd8619adec70e9999cab2605ff32 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * If DragHandler is dragged within its margin, don't jumpShawn Rutledge2019-04-053-4/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not being pressed inside the target is a necessary but not sufficient reason to reset m_pressTargetPos to the center of the target. The intention was rather to make the target jump into position when the parent was a different item: e.g. if a Slider has a DragHandler whose target is the slider's knob, you can start dragging anywhere on the whole Slider but you want the knob to jump to the cursor position when the drag begins. While we're at it, both branches of the if in onGrabChanged() are checking that target() isn't null, so we can move that check out. Fixes: QTBUG-74966 Change-Id: I05be11d27422b070d941b9e43d4e1157e071c3a5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * In response to touch cancel, don't just ungrab, send an ungrab eventShawn Rutledge2019-04-043-2/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickWindowPrivate::sendUngrabEvent() sends an UngrabMouse event, and that can be filtered by parent filters. If a touch cancel happens to a MouseArea in a ListView delegate, we need the ListView to filter the UngrabMouse event so that QQuickFlickable::childMouseEventFilter() will call QQuickFlickable::mouseUngrabEvent() and QQuickFlickablePrivate::cancelInteraction() will set pressed to false. The pressed state became true because Flickable filtered the press event; so for symmetry, it also needs to filter the touch cancel (in the form of a mouse ungrab), to avoid being stuck in a state where it can't move programmatically. Fixes: QTBUG-74679 Change-Id: I6c0ed364d2bc1f45c7e7b17846a09f6b53f91d0a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Tests: Fix warnings about ignoring return value of ↵Friedemann Kleint2019-04-084-12/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QTest::qWaitForWindowExposed() Fix warnings like: ../shared/particlestestsshared.h: In function 'QQuickView* createView(const QUrl&, int)': ../shared/particlestestsshared.h:64:33: warning: ignoring return value of 'bool QTest::qWaitForWindowExposed(QWindow*, int)', declared with attribute nodiscard [-Wunused-result] by checking the return and adding some handling. Change-Id: I1390f9738430042fcc45e243567a9d5a4f632a6d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Remove second evaluation of property nameRainer Keller2019-04-081-1/+1
| | | | | | | | | | | | | | The name was evaluated already at the beginning of the function. Change-Id: I0bf6149c9bce83a543b1946330ec12f318620a71 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Tests: Fix warnings about comparing signed/unsignedFriedemann Kleint2019-04-083-8/+8
| | | | | | | | | | | | | | | | | | | | | | Fix warnings like: qtestcase.h: In instantiation of 'bool QTest::qCompare(const T1&, const T2&, const char*, const char*, const char*, int) [with T1 = unsigned int; T2 = int]': tst_qquickrectangle.cpp:137:1559: required from here qtestcase.h:423:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] Change-Id: I1039e70a2933f196266512a1f5880ee409c1548b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QQuickRectanglePrivate: set gradient QJSValue to undefinedMitch Curtis2019-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | When 1771d298 changed gradient from a QQuickGradient* to a QJSValue, it forgot to also change how it was initialised, with 0 causing QJSValue to consider itself a number, and hence trigger the warning added to QGradient in 3b7db8ac90b. Change-Id: I83377c40984f596f56645aea467b74de1a152b62 Fixes: QTBUG-74911 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-0210-20/+143
|\| | | | | | | Change-Id: I1dd04210f10895c509b5c637fc5e2dcf66e3bb91
| * add core profile environment variableTim Jenssen2019-04-011-1/+2
| | | | | | | | | | | | | | | | | | | | Enables 3druntime scenes at macOS without calling it with extra process arguments. Task-number: QDS-553 Change-Id: I04e59f4f9061eb2a567c65406c5a8195b1896836 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
| * Doc: Add missing quote in example codePaul Wicking2019-04-011-1/+1
| | | | | | | | | | | | Fixes: QTBUG-74851 Change-Id: Ib4c4b7fd3a01a360ae923f718e7ce74b3ae7f3eb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * Doc: Use the \nullptr macro instead of 0Venugopal Shivashankar2019-03-291-1/+1
| | | | | | | | | | | | | | | | This enables overriding the macro so that it translates to 'None' in the Qt for Python context. Change-Id: Ied1ddcb0f9e6e2299d9042e4cc4c2bb6d11a491b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Fix surface format bug for macOSTomi Korpipaa2019-03-291-8/+13
| | | | | | | | | | | | | | Task-number: QT3DS-3238 Change-Id: Ie3a675ef32251481abaa460bb89bc1c4381573ea Reviewed-by: Pasi Keränen <pasi.keranen@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Avoid redundant slashes when creating qmldir URLsUlf Hermann2019-03-281-1/+1
| | | | | | | | | | | | | | | | | | If the path starts with ":" and we assume it's an absolute qrc path, the only thing we need to do to make it a URL is prepend "qrc". Fixes: QTBUG-74677 Change-Id: Iee0239296b6f48ce909db02ae16e24dfc745b637 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Allow enums in QQmlType to be set up in two separate passesUlf Hermann2019-03-286-8/+125
| | | | | | | | | | | | | | | | | | | | | | The baseMetaObject and the property cache can become available at different points in time. If we have initialized the enums before either of them is available we want to add the additional enums when the other one appears. Fixes: QTBUG-74677 Change-Id: I57276681a50b6c04181c6a29e736f2dc20632a0c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix qtdeclarative build configured with -qreal=floatDonald Carr2019-03-311-4/+4
| | | | | | | | | | | | | | There is a sole point of failure in Qt 5.13 beta1 Change-Id: I58a41e310604a8bccbf14f463f734877d6a65a73 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Fix build without c++14Allan Sandfeld Jensen2019-03-291-0/+1
| | | | | | | | | | | | | | The backup implementation of make_unique is in Optional.h Change-Id: I7a7f31ff451ec5336468b8447088e3f4d5d0cecb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-2812-32/+179
|\| | | | | | | Change-Id: I910618824785f9119b1e1da9a82e998fd645a96f
| * Blacklist tst_qquickfolderlistmodel::nameFilters() on msvc2015/17Ulf Hermann2019-03-271-0/+3
| | | | | | | | | | | | Task-number: QTBUG-74739 Change-Id: Ib0f1d39cb5bc9864195b3c62d254fa38370faf0d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Check for numeric limits when growing SharedInternalClassDataPrivateUlf Hermann2019-03-273-16/+41
| | | | | | | | | | | | | | | | We can effectively only deal with values of < 2GB for m_alloc * sizeof(Data). This is not much more than the values seen in the wild. Change-Id: Ia6972df33d34a320b5b087d38db81aae24ce5bbe Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Re-use existing IC when freezing propertiesUlf Hermann2019-03-273-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | There is no reason to start from the empty class in that case. Furthermore, if the properties are already frozen, starting from the empty class will walk the IC hierarchy to the current IC. However, if the garbage collector has removed the intermediate classes in the mean time, we end up at a new IC which is equivalent but not the same. Therefore, the freezing never terminates. Task-number: QTBUG-74190 Change-Id: Id544bd00d3b4b563fb06dfce0edd0385e1d32a6c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Scope intermediate values when allocating objectsUlf Hermann2019-03-274-7/+30
| | | | | | | | | | | | | | | | | | Otherwise the garbage collector might interfere and we might end up with dangling pointers in random places. Task-number: QTBUG-74190 Change-Id: I253c526ef930b8f0be14e96a42af8b66fda3b22d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix incorrect PathView.currentIndex assignment with StrictlyEnforceRangeShawn Rutledge2019-03-273-4/+88
| | | | | | | | | | | | | | | | | | If currentIndex is quickly assigned a different index and then the previous current index again, it should not move. Fixes: QTBUG-74508 Change-Id: I8d610e3fe452c8631e082c648e77d2cb70ae57c5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-2710-121/+170
|\| | | | | | | Change-Id: I2f0b4f8543a448c9acffe0932e0fd67c0b7412f4
| * Trigger the garbage collector when allocating InternalClass objectsUlf Hermann2019-03-265-114/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As we check the icAllocator's slots on shouldRunGC() we should also check shouldRunGC() when adding slots. Otherwise we might never run the GC when only allocating InternalClasses. In addition, account for the "unmanaged" size of the PropertyAttributes that are part of the InternalClass objects. Those can be large. In cases where an excessive number of large InternalClass objects is created the garbage collector is now invoked frequently, which costs a significant number of CPU cycles, but prevents the memory usage from growing indefinitely. Task-number: QTBUG-58559 Change-Id: Icf102cb6100f6dba212b8bffe1c178897880eda0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Restore rich Text creation speedShawn Rutledge2019-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 634b59f187c8697f03a606cbacb5f0a69650ea7c caused a significant performance regression during layout of any Text item with RichText, by calling QQuickTextDocumentWithImageResources::setPageSize() with an accurate width in ensureDoc(); but ensureDoc() is called multiple times, and doesn't need to calculate actual layout. The accurate width is needed (at least) when doing layout of HTML tables that contain percentage-based column widths. For that purpose it's enough to set the correct "page" size in updateSize(). Fixes: QTBUG-74638 Task-number: QTBUG-72457 Change-Id: I34ab085316018576eba64a67200c527bb64b9533 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Enable lookups for imported scripts and worker scriptsSimon Hausmann2019-03-254-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | This is straight-forward to enable, with the minor adjustment that we need to handle the case where a global lookup is done without a calling qml context (worker script). We don't know at compile time whether a script will be imported directly or used as a worker script, so we have to generate the global qml lookup instruction regardless and handle it at run-time. Change-Id: Ia033afa214d919d906c676498dd3eceb1c5639d8 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Fix text wrap: do not break on last line if right elide is enabledEirik Aavitsland2019-03-262-0/+138
| | | | | | | | | | | | | | | | | | | | For multiline texts with word wrapping, it is not so meaningful to add breaks in the last line if it is anyway going to be elided. Fix by using the WrapAnywhere strategy for the last line for such situations. Fixes: QTBUG-72736 Change-Id: I1263c81277b6ca89ba461529fced1094263c026f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | wasm: skip tools, also with threads enabledMorten Johan Sørvig2019-03-251-1/+1
| | | | | | | | | | | | | | Linking static binaries is (still) very slow. Change-Id: I8abc41553bd22e6ab2e87632c924d53c3429f3c9 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-2542-243/+523
|\| | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qmltest/quicktest.cpp tests/auto/qml/qmlcachegen/qmlcachegen.pro Change-Id: I70e96e8817d59647f876b8b77b30cdeede8f0662
| * Fix preview zoom problems on windowsTim Jenssen2019-03-225-74/+189
| | | | | | | | | | | | | | | | | | | | Apparently the window is moved to random places on multi-monitor setups on windows. Fixes: QDS-263 Change-Id: I21082c7031fefff3057074c147e82df7a88f4f78 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
| * Try to stabilize qquickrectangle testSimon Hausmann2019-03-221-4/+2
| | | | | | | | | | | | | | | | | | Similar to commit 9921180a44d9097b1b83c2fa7b3f36dbb555140c, introduce liberal use of QTRY_VERIFY. Fixes: QTBUG-74605 Change-Id: I4552b1df4021f78cddff08f0b7d8629fafe25acb Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Enable lookups in QML files when compiling ahead of timeSimon Hausmann2019-03-221-1/+0
| | | | | | | | | | | | | | | | This should have been enabled in the series earlier when for QTBUG-69898. Change-Id: Ide7507d5dcf439463c22b631d49d654624737d1f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix memory "leaks" in qmlcachegenSimon Hausmann2019-03-223-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | The CompilationUnit class owns the unit data. An exception was made in bootstrap builds, where it was up to the caller to free the memory. This lead to cases in qmlcachegen where we didn't free the memory. This is best fixed by unifying the behavior. This fixes the build when using an ASAN enabled build, as the runtime aborts after calling qmlcachegen due to "leaks". Change-Id: I8b55b4e302a9569a1d4e09eeb488c479368b50f0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Update tests/auto/qml/ecmascripttests/test262Jani Heikkinen2019-03-221-0/+0
| | | | | | | | | | | | | | | | Task-number: QTBUG-73454 Task-number: QTBUG-71209 Change-Id: I12925ce49cc18f4bb6908a5515fc476b32a222dc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit 896d49a4e1113e3eb4832b83920b0dfd76987259)
| * Fix some memory leaksSimon Hausmann2019-03-211-9/+9
| | | | | | | | | | | | | | | | Use QScopedPointer where appropriate to avoid reporting false memory leaks with ASAN's leak checker. Change-Id: Ia3dfeafc66c2ad2ac8454861acce82b99678e517 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>